1XAllowDeviceEvents(3)             X FUNCTIONS            XAllowDeviceEvents(3)
2
3
4

NAME

6       XAllowDeviceEvents - release queued events
7

SYNTAX

9       int   XAllowDeviceEvents(Display   *display,   XDevice   *device,   int
10              event_mode, Time time);
11

ARGUMENTS

13       display     Specifies the connection to the X server.
14
15       device      Specifies the device from which events are to be allowed.
16
17       event_mode  Specifies the event mode.  You  can  pass  AsyncThisDevice,
18                   SyncThisDevice,  ReplayThisDevice,  AsyncOtherDevices, Syn‐
19                   cAll, or AsyncAll.
20
21       time        Specifies the time.  You can pass  either  a  timestamp  or
22                   CurrentTime.
23

DESCRIPTION

25       The  XAllowDeviceEvents  function  releases  some  queued events if the
26       client has caused a device to freeze.  It has no effect if  the  speci‐
27       fied  time is earlier than the last-grab time of the most recent active
28       grab for the client and device, or if the specified time is later  than
29       the current X server time.
30
31       The  following  describes  the processing that occurs depending on what
32       constant you pass to the event_mode argument.
33
34       AsyncThisDevice
35                   If the specified device is frozen by the client, event pro‐
36                   cessing  for that device continues as usual.  If the device
37                   is frozen multiple times by the client on behalf of  multi‐
38                   ple  separate grabs, AsyncThisDevice thaws for all.  Async‐
39                   ThisDevice has no effect if the  specified  device  is  not
40                   frozen by the client, but the device need not be grabbed by
41                   the client.
42
43       SyncThisDevice
44                   If the specified device is frozen and actively  grabbed  by
45                   the client, event processing for that device continues nor‐
46                   mally until the next key or button event is reported to the
47                   client.   At  this time, the specified device again appears
48                   to freeze.  However, if the reported event causes the  grab
49                   to  be  released,  the  specified  device  does not freeze.
50                   SyncThisDevice has no effect if the specified device is not
51                   frozen by the client or is not grabbed by the client.
52
53       ReplayThisDevice
54                   If  the  specified device is actively grabbed by the client
55                   and is frozen as the result of an event having been sent to
56                   the  client (either from the activation of a GrabDeviceBut‐
57                   ton or from a previous AllowDeviceEvents  with  mode  Sync‐
58                   ThisDevice,  but  not  from  a  GrabDevice),  the  grab  is
59                   released and that event is  completely  reprocessed.   This
60                   time,  however, the request ignores any passive grabs at or
61                   above (toward the root) that the grab-window  of  the  grab
62                   just  released.  The request has no effect if the specified
63                   device is not grabbed by the client or if it is not  frozen
64                   as the result of an event.
65
66       AsyncOtherDevices
67                   If  the  remaining  devices are frozen by the client, event
68                   processing for them  continues  as  usual.   If  the  other
69                   devices  are  frozen multiple times by the client on behalf
70                   of  multiple  grabs,  AsyncOtherDevices  "thaws"  for  all.
71                   AsyncOtherDevices  has  no  effect  if  the devices are not
72                   frozen by the client.
73
74       SyncAll     If all devices are frozen by the client,  event  processing
75                   (for  all devices) continues normally until the next button
76                   or key event is  reported  to  the  client  for  a  grabbed
77                   device,  at  which time all devices again appear to freeze.
78                   However, if the  reported  event  causes  the  grab  to  be
79                   released, then the devices do not freeze.  If any device is
80                   still grabbed, then a subsequent event for  it  will  still
81                   cause  all devices to freeze.  SyncAll has no effect unless
82                   all devices are frozen by the client.   If  any  device  is
83                   frozen twice by the client on behalf of two separate grabs,
84                   SyncAll thaws for both.  A subsequent  freeze  for  SyncAll
85                   will only freeze each device once.
86
87       AsyncAll    If  all  devices are frozen by the client, event processing
88                   for all devices  continues  normally.   If  any  device  is
89                   frozen  multiple  times by the client on behalf of multiple
90                   separate grabs, AsyncAll thaws for all.   AsyncAll  has  no
91                   effect unless all devices are frozen by the client.
92
93       AsyncThisDevice, SyncThisDevice, and ReplayThisDevice have no effect on
94       the processing of events from the remaining devices.  AsyncOtherDevices
95       has  no  effect  on the processing of events from the specified device.
96       When the event_mode is SyncAll or AsyncAll,  the  device  parameter  is
97       ignored.
98
99       It  is  possible  for several grabs of different devices by the same or
100       different clients to be active simultaneously.  If a device  is  frozen
101       on behalf of any grab, no event processing is performed for the device.
102       It is possible for a single device to  be  frozen  because  of  several
103       grabs.   In  this  case,  the freeze must be released on behalf of each
104       grab before events can again be processed.
105
106       XAllowDeviceEvents can generate a BadDevice or BadValue error.
107

DIAGNOSTICS

109       BadDevice   An invalid device was specified.  The specified device does
110                   not  exist or has not been opened by this client via XOpen‐
111                   InputDevice.  This error may also occur  if  the  specified
112                   device is the X keyboard or X pointer device.
113
114       BadValue    An invalid mode was specified on the request.
115

SEE ALSO

117       XGrabDevice(3)
118       Programming With Xlib
119
120
121
122X Version 11                      libXi 1.1.1            XAllowDeviceEvents(3)
Impressum