3 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
6 .\" Manual: [FIXME: manual]
7 .\" Source: [FIXME: source]
10 .TH "XIGRABENTER" "libmansuffix" "12/21/2011" "[FIXME: source]" "[FIXME: manual]"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
25 .\" disable justification (adjust text to left margin only)
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
31 XIGrabEnter, XIUngrabEnter, XIGrabFocusIn, XIUngrabFocusIn \- grab/ungrab enter or focus in events\&.
35 #include <X11/extensions/XInput\&.h>
39 int XIGrabEnter( Display *display,
44 int paired_device_mode,
48 XIGrabModifiers *modifiers_inout);
52 int XIUngrabEnter( Display *display,
56 XIGrabModifiers *modifiers);
60 int XIGrabFocusIn ( Display *display,
64 int paired_device_mode,
68 XIGrabModifiers *modifiers_inout);
72 int XIUngrabFocusIn( Display *display,
76 XIGrabModifiers *modifiers);
78 Specifies the connection to the X server\&.
83 Specifies the device that is to be grabbed or released
88 Number of elements in modifiers or modifiers_inout\&.
93 Specifies the set of latched and base modifiers or
94 XIAnyModifier to ungrab\&. The data type is for
95 consistency with the respective grab request and the
96 status code of the XIGrabModifiers struct is ignored\&.
101 Specifies the set of latched and base modifiers or
102 XIAnyModifier to grab\&. Returns the modifiers that could
103 not be grabbed and their status code\&.
108 Specifies the grab window\&.
113 Specifies a Boolean value that indicates whether the are
114 to be reported as usual or reported with respect to the
120 Specifies the event mask\&.
125 Specifies further processing of events from this device\&.
126 You can pass XIGrabModeSync or XIGrabModeAsync\&.
131 Specifies further processing of events from the paired
132 master device\&. You can pass XIGrabModeSync or
133 XIGrabModeAsync\&. If deviceid specifies a floating slave
134 device, this parameter is ignored\&.
142 XIGrabEnter and XIGrabFocusIn establish a passive grab\&. The
143 modifier device for a enter grab is the paired master device if
144 deviceid specifies a master pointer\&. Otherwise, the modifier
145 device is the device specified with deviceid\&.
155 For XIGrabEnter and XIGrabFocusIn, in the future, the device is
156 actively grabbed (as for XIGrabDevice, the last\-grab time is
157 set to the time at which the pointer/focus entered window) if
158 the device is not grabbed and the pointer has entered the
159 grab_window or the focus has been set to the grab_window when
160 the specified modifier keys are logically down on the modifier
161 device and no other buttons or modifier keys are logically
172 The interpretation of the remaining arguments is as for
173 XIGrabDevice\&. The active grab is terminated automatically when
174 the pointer leaves the window or the focus is set to a
175 different window (independent of the logical state of the
186 If the device is an attached slave device, the device is
187 automatically detached from the master device when the grab
188 activates and reattached to the same master device when the
189 grab deactivates\&. If the master device is removed while the
190 device is floating as a result of a grab, the device remains
191 floating once the grab deactivates\&.
201 Note that the logical state of a device (as seen by client
202 applications) may lag the physical state if device event
203 processing is frozen\&.
213 This request overrides all previous grabs by the same client of
214 the same type and modifier combinations on the same window\&. A
215 modifiers of XIAnyModifier is equivalent to issuing the grab
216 request for all possible modifier combinations (including the
217 combination of no modifiers)\&. It is not required that all
218 modifiers specified have currently assigned KeyCodes\&.
228 If some other client has already issued a XIGrabEnter or
229 XIGrabFocusIn on the same window, a BadAccess error results\&.
230 When using XIAnyModifier, the request fails completely, and a
231 XIBadAccess error results (no grabs are established) if there
232 is a conflicting grab for any combination\&. XIGrabEnter and
233 XIGrabFocusin have no effect on an active grab\&.
243 On success, XIGrabEnter and XIGrabFocusIn return 0;
244 If one or more modifier combinations could not be grabbed,
245 XIGrabEnter and XIGrabFocusIn return the number of failed
246 combinations and modifiers_inout contains the failed combinations
247 and their respective status codes\&.
257 XIGrabEnter and XIGrabFocusIn can generate BadDevice,
258 BadMatch, BadValue, and BadWindow errors\&.
268 XIUngrabEnter and XIUngrabFocusIn releases the passive grab on
269 the specified window if it was grabbed by this client\&. A
270 modifier of XIAnyModifier is equivalent to issuing the ungrab
271 request for all possible modifier combinations, including the
272 combination of no modifiers\&. XIUngrabEnter and XIUngrabFocusIn
273 have no effect on an active grab\&.
283 XIUngrabEnter and XIUngrabFocusIn can generate BadDevice,
284 BadMatch, BadValue and BadWindow errors\&.
295 XIGrabEnter and XIGrabFocusIn return the number of modifier combination
296 that could not establish a passive grab\&. The modifiers are returned in
297 modifiers_inout, along with the respective error for this modifier
298 combination\&. If XIGrabEnter or XIGrabFocusIn return zero, passive grabs
299 with all requested modifier combinations were established successfully\&.
311 An invalid deviceid was specified\&.
322 This error may occur if XIGrabEnter specified a device
323 that has no valuators, or XIGrabFocusIn specified a device
335 Some numeric value falls outside the range of values
336 accepted by the request\&. Unless a specific range is
337 specified for an argument, the full range defined by the
338 argument\*(Aqs type is accepted\&. Any argument defined as a
339 set of alternatives can generate this error\&.
350 A value for a Window argument does not name a defined
362 The protocol headers for XI 2\&.0 did not provide
363 XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
364 GrabModeAsync instead, respectively\&.
375 XIAllowEvents(libmansuffix)