diff options
Diffstat (limited to 'man/XAllowDeviceEvents.txt')
| -rw-r--r-- | man/XAllowDeviceEvents.txt | 133 |
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) + |
