summaryrefslogtreecommitdiff
path: root/man/XAllowDeviceEvents.txt
diff options
context:
space:
mode:
Diffstat (limited to 'man/XAllowDeviceEvents.txt')
-rw-r--r--man/XAllowDeviceEvents.txt133
1 files changed, 133 insertions, 0 deletions
diff --git a/man/XAllowDeviceEvents.txt b/man/XAllowDeviceEvents.txt
new file mode 100644
index 0000000..91d358c
--- /dev/null
+++ b/man/XAllowDeviceEvents.txt
@@ -0,0 +1,133 @@
+XALLOWDEVICEEVENTS(libmansuffix)
+================================
+
+NAME
+----
+
+ XAllowDeviceEvents - release queued events
+
+SYNOPSIS
+------
+
+ #include <X11/extensions/XInput.h>
+
+ int XAllowDeviceEvents( Display *display,
+ XDevice *device,
+ int event_mode,
+ Time time);
+ 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, ReplayThisDevice, 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 continues 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 GrabDevice), the grab is
+ released and that event is completely reprocessed. This time,
+ however, the request ignores any passive grabs at or above
+ (toward the root) that the grab-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 multiple 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 normally. If any device is
+ frozen multiple times by the client on behalf of multiple
+ separate 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 specified 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(libmansuffix)
+