summaryrefslogtreecommitdiff
path: root/man/XGrabDeviceKey.txt
diff options
context:
space:
mode:
Diffstat (limited to 'man/XGrabDeviceKey.txt')
-rw-r--r--man/XGrabDeviceKey.txt177
1 files changed, 177 insertions, 0 deletions
diff --git a/man/XGrabDeviceKey.txt b/man/XGrabDeviceKey.txt
new file mode 100644
index 0000000..bee4c47
--- /dev/null
+++ b/man/XGrabDeviceKey.txt
@@ -0,0 +1,177 @@
+XGRABDEVICEKEY(libmansuffix)
+============================
+
+NAME
+----
+
+ XGrabDeviceKey, XUngrabDeviceKey - grab/ungrab extension input
+ device Keys
+
+SYNOPSIS
+--------
+
+ #include <X11/extensions/XInput.h>
+
+ int XGrabDeviceKey( Display *display,
+ XDevice *device,
+ unsigned int key,
+ unsigned int modifiers,
+ XDevice *modifier_device,
+ Window grab_window,
+ Bool owner_events,
+ unsigned int event_count,
+ XEventClass *event_list,
+ int this_device_mode,
+ int other_devices_mode);
+
+ int XUngrabDeviceKey( Display *display,
+ XDevice *device,
+ unsigned int key,
+ unsigned int modifiers,
+ XDevice *modifier_device,
+ Window grab_window);
+
+ display
+ Specifies the connection to the X server.
+
+ device
+ Specifies the device that is to be grabbed or released.
+
+ Key
+ Specifies the device Key that is to be grabbed released
+ or AnyKey.
+
+ modifiers
+ Specifies the set of keymasks or AnyModifier.The mask is
+ the bitwise inclusive OR of the valid keymask bits.Valid
+ bits are: ShiftMask, LockMask, ControlMask, Mod1Mask,
+ Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask.
+
+ modifier_device
+ Specifies the device whose modifiers are to be used. If
+ a modifier_device ofNULL is specified, the X keyboard
+ will be used as the modifier_device.
+
+ grab_window
+ Specifies the grab window.
+
+ owner_events
+ Specifies a Boolean value that indicates whether the
+ deviceevents are to be reported as usual or reported
+ with respect to the grab windowif selected by the event
+ list.
+
+ event_count
+ Specifies the number of event classes in the event list.
+
+ event_list
+ Specifies which device events are reported to the
+ client.
+
+ this_device_mode
+ Specifies further processing of events from this
+ device.You can pass GrabModeSync or GrabModeAsync.
+
+ other_devices_mode
+ Specifies further processing of events from other
+ devices.You can pass GrabModeSyncor GrabModeAsync.
+
+DESCRIPTION
+-----------
+
+ The XGrabDeviceKey request establishes a passive grab. In the
+ future, the device is actively grabbed (as for XGrabDevice, the
+ last-device-grab time is set to the time at which the Key was
+ pressed (as transmitted in the DeviceKeyPress event), and the
+ DeviceKeyPress event is reported if all of the following
+ conditions are true:
+ * The device is not grabbed, and the specified key is
+ logically pressed when the specified modifier keys are
+ logically down, and no other keys or modifier keys are
+ logically down.
+ * The grab_window is an ancestor (or is) the focus window OR
+ the grab window is a descendant of the focus window and
+ contains the device.
+ * The confine_to window (if any) is viewable.
+ * A passive grab on the same key/modifier combination does
+ not exist on any ancestor of grab_window.
+
+ The interpretation of the remaining arguments is as for
+ XGrabDevice. The active grab is terminated automatically when
+ the logical state of the device has the specified key released.
+
+ Note that the logical state of a device (as seen by means of
+ the X protocol ) may lag the physical state if device event
+ processing is frozen.
+
+ If the key is not AnyKey, it must be in the range specified by
+ min_keycode and max_keycode as returned by the
+ XListInputDevices request. Otherwise, a BadValue error results.
+
+ This request overrides all previous grabs by the same client on
+ the same Key/modifier combinations on the same window. A
+ modifier of AnyModifier is equivalent to issuing the grab
+ request for all possible modifier combinations (including the
+ combination of no modifiers). It is not required that all
+ modifiers specified have currently assigned KeyCodes. A key of
+ AnyKey is equivalent to issuing the request for all possible
+ keys. Otherwise, it is not required that the specified key
+ currently be assigned to a physical Key.
+
+ If a modifier_device of NULL is specified, the X keyboard will
+ be used as the modifier_device.
+
+ If some other client has already issued a XGrabDeviceKey with
+ the same Key/modifier combination on the same window, a
+ BadAccess error results. When using AnyModifier or AnyKey, the
+ request fails completely, and a BadAccess error results (no
+ grabs are established) if there is a conflicting grab for any
+ combination.XGrabDeviceKey has no effect on an active grab.
+
+ XGrabDeviceKey can generate BadAccess, BadClass, BadDevice,
+ BadMatch, BadValue, and BadWindow errors. It returns Success on
+ successful completion of the request.
+
+ The XUngrabDeviceKey request releases the passive grab for a
+ key/modifier combination on the specified window if it was
+ grabbed by this client. A modifier of AnyModifier is equivalent
+ to issuing the ungrab request for all possible modifier
+ combinations, including the combination of no modifiers. A Key
+ of AnyKey is equivalent to issuing the request for all possible
+ Keys.XUngrabDeviceKey has no effect on an active grab.
+
+ If a modifier_device of NULL is specified, the X keyboard will
+ be used as the modifier_device.
+
+ XUngrabDeviceKey can generate BadDevice, BadMatch, BadValue and
+ BadWindow errors.
+
+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.
+
+ BadMatch
+ This error may occur if an XGrabDeviceKey request was
+ made specifying a device that has no keys, or a modifier
+ device that has no keys.
+
+ BadValue
+ Some numeric value falls outside the range of values
+ accepted by the request. Unless a specific range is
+ specified for an argument, the full range defined by the
+ argument's type is accepted. Any argument defined as a
+ set of alternatives can generate this error.
+
+ BadWindow
+ A value for a Window argument does not name a defined
+ Window.
+
+SEE ALSO
+--------
+
+ XAllowDeviceEvents(libmansuffix), XGrabDevice(libmansuffix), XGrabDeviceButton(libmansuffix)