This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



XAllowDeviceEvents(3)                            X FUNCTIONS                           XAllowDeviceEvents(3)



NAME
       XAllowDeviceEvents - release queued events

SYNTAX
       int XAllowDeviceEvents(Display *display, XDevice *device, int event_mode, Time time);

ARGUMENTS
       display     Specifies the connection to the X server.

       device      Specifies the device from which events are to be allowed.

       event_mode  Specifies  the  event  mode.  You can pass AsyncThisDevice, SyncThisDevice, ReplayThisDe-vice, ReplayThisDevice,
                   vice, AsyncOtherDevices, SyncAll, or AsyncAll.

       time        Specifies the time.  You can pass either a timestamp or CurrentTime.

DESCRIPTION
       The XAllowDeviceEvents function releases some queued events if the client  has  caused  a  device  to
       freeze.  It has no effect if the specified time is earlier than the last-grab time of the most recent
       active grab for the client and device, or if the specified time is later than the  current  X  server
       time.

       The  following  describes  the  processing  that  occurs  depending  on what constant you pass to the
       event_mode argument.

       AsyncThisDevice
                   If the specified device is frozen by the client, event processing for that device contin-ues continues
                   ues as usual.  If the device is frozen multiple times by the client on behalf of multiple
                   separate grabs, AsyncThisDevice thaws for all.  AsyncThisDevice  has  no  effect  if  the
                   specified  device  is not frozen by the client, but the device need not be grabbed by the
                   client.

       SyncThisDevice
                   If the specified device is frozen and actively grabbed by the  client,  event  processing
                   for  that device continues normally until the next key or button event is reported to the
                   client.  At this time, the specified device again appears to  freeze.   However,  if  the
                   reported  event  causes  the  grab  to be released, the specified device does not freeze.
                   SyncThisDevice has no effect if the specified device is not frozen by the  client  or  is
                   not grabbed by the client.

       ReplayThisDevice
                   If  the specified device is actively grabbed by the client and is frozen as the result of
                   an event having been sent to the client (either from the activation of a GrabDeviceButton
                   or  from  a  previous  AllowDeviceEvents with mode SyncThisDevice, but not from a GrabDe-vice), GrabDevice),
                   vice), the grab is released and that event is completely reprocessed.   This  time,  how-ever, however,
                   ever,  the request ignores any passive grabs at or above (toward the root) that the grab-window grabwindow
                   window of the grab just released.  The request has no effect if the specified  device  is
                   not grabbed by the client or if it is not frozen as the result of an event.

       AsyncOtherDevices
                   If the remaining devices are frozen by the client, event processing for them continues as
                   usual.  If the other devices are frozen multiple times by the client on behalf of  multi-ple multiple
                   ple  grabs,  AsyncOtherDevices  "thaws"  for all.  AsyncOtherDevices has no effect if the
                   devices are not frozen by the client.

       SyncAll     If all devices are frozen by the client, event processing  (for  all  devices)  continues
                   normally  until  the  next  button  or  key event is reported to the client for a grabbed
                   device, at which time all devices again appear to freeze.  However, if the reported event
                   causes  the  grab to be released, then the devices do not freeze.  If any device is still
                   grabbed, then a subsequent event for it will still cause all devices to freeze.   SyncAll
                   has no effect unless all devices are frozen by the client.  If any device is frozen twice
                   by the client on behalf of two separate grabs, SyncAll  thaws  for  both.   A  subsequent
                   freeze for SyncAll will only freeze each device once.

       AsyncAll    If  all devices are frozen by the client, event processing for all devices continues nor-mally. normally.
                   mally.  If any device is frozen multiple times by the client on behalf of multiple  sepa-rate separate
                   rate grabs, AsyncAll thaws for all.  AsyncAll has no effect unless all devices are frozen
                   by the client.

       AsyncThisDevice, SyncThisDevice, and ReplayThisDevice have no effect on the processing of events from
       the  remaining  devices.  AsyncOtherDevices has no effect on the processing of events from the speci-fied specified
       fied device.  When the event_mode is SyncAll or AsyncAll, the device parameter is ignored.

       It is possible for several grabs of different devices by the same or different clients to  be  active
       simultaneously.   If  a  device is frozen on behalf of any grab, no event processing is performed for
       the device.  It is possible for a single device to be frozen because of several grabs.  In this case,
       the freeze must be released on behalf of each grab before events can again be processed.

       XAllowDeviceEvents can generate a BadDevice or BadValue error.

DIAGNOSTICS
       BadDevice   An  invalid  device  was  specified.  The specified device does not exist or has not been
                   opened by this client via XOpenInputDevice.  This error may also occur if  the  specified
                   device is the X keyboard or X pointer device.

       BadValue    An invalid mode was specified on the request.

SEE ALSO
       XGrabDevice(3)
       Programming With Xlib



X Version 11                                     libXi 1.2.1                           XAllowDeviceEvents(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...