This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



XGrabDevice(3)                                   X FUNCTIONS                                  XGrabDevice(3)



NAME
       XGrabDevice, XUngrabDevice - grab/release the specified extension device

SYNTAX
       int XGrabDevice(Display *display, XDevice *device, Window
              grab_window, Bool owner_events, int event_count,
              XEventClass *event_list, int this_device_mode,
              int other_devices_mode, Time time);

       int XUngrabDevice(Display *display, XDevice *device, Time
              time);


ARGUMENTS
       display     Specifies the connection to the X server.

       device      Specifies the device to be grabbed or released.

       grab_window Specifies the id of a window to be associated with the device.

       owner_events
                   Specifies  a  Boolean  value  that indicates whether the events from the device are to be
                   reported as usual or reported with respect to the grab window if selected  by  the  event
                   list.

       event_count Specifies the number of elements in the event_list array.

       event_list  Specifies  a  pointer  to  a list of event classes that indicates which events the client
                   wishes to receive.  These event classes must have been  obtained  specifying  the  device
                   being grabbed.

       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 GrabModeSync  or
                   GrabModeAsync.

       time        Specifies the time.  You can pass either a timestamp or CurrentTime.

DESCRIPTION
       The  XGrabDevice request actively grabs control of the device and generates DeviceFocusIn and Device-FocusOut DeviceFocusOut
       FocusOut events.  Further device events are reported only to the grabbing client.  XGrabDevice  over-rides overrides
       rides  any  active  device  grab by this client.  event_list is a pointer to a list of event classes.
       This list indicates which events the  client  wishes  to  receive  while  the  grab  is  active.   If
       owner_events  is  False  ,  all  generated  device events are reported with respect to grab_window if
       selected.  If owner_events is True and if a generated device event would normally be reported to this
       client,  it  is  reported normally; otherwise, the event is reported with respect to the grab_window,
       and is only reported if specified in the event_list.

       If the this_device_mode argument is GrabModeAsync , device event processing continues as  usual.   If
       the  device  is currently frozen by this client, then processing of device events is resumed.  If the
       this_device_mode  argument is GrabModeSync , the state of the device (as seen by client applications)
       appears  to  freeze,  and  the  X server generates no further device events until the grabbing client
       issues a releasing XAllowDeviceEvents call or until the  device  grab  is  released.   Actual  device
       changes  are not lost while the device is frozen; they are simply queued in the server for later pro-cessing. processing.
       cessing.

       If other_devices_mode is GrabModeAsync , processing of events from other  devices  is  unaffected  by
       activation  of  the grab.  If other_devices_mode is GrabModeSync, the state of all devices except the
       grabbed device
        (as seen by client applications) appears to freeze, and the X server  generates  no  further  events
       from  those devices until the grabbing client issues a releasing XAllowDeviceEvents call or until the
       device grab is released.  Actual events are not lost while the devices are frozen;  they  are  simply
       queued in the server for later processing.

       If the device is actively grabbed by some other client, XGrabDevice fails and returns AlreadyGrabbed.
       If grab_window is not viewable, it fails and returns GrabNotViewable.  If the device is frozen by  an
       active  grab  of  another  client, it fails and returns GrabFrozen.  If the specified time is earlier
       than the last-device-grab time or later than the current X server time, it fails and returns  GrabIn-validTime. GrabInvalidTime.
       validTime.   Otherwise,  the  last-device-grab  time  is  set  to the specified time ( CurrentTime is
       replaced by the current X server time).

       If a grabbed device is closed by a client while an active grab by  that  client  is  in  effect,  the
       active grab is released.  If the device is frozen only by an active grab of the requesting client, it
       is thawed.

       XGrabDevice can generate BadClass, BadDevice, BadValue, and BadWindow errors.

       The XUngrabDevice request releases the device and any queued events if this client  has  it  actively
       grabbed from either XGrabDevice or XGrabDeviceKey.  If other devices are frozen by the grab, XUngrab-Device XUngrabDevice
       Device thaws them.  XUngrabDevice does not release the device and any queued events if the  specified
       time  is  earlier than the last-device-grab time or is later than the current X server time.  It also
       generates DeviceFocusIn and DeviceFocusOut events.  The X server automatically performs an  UngrabDe-vice UngrabDevice
       vice request if the event window for an active device grab becomes not viewable.

       XUngrabDevice can generate a BadDevice 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    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(3), XGrabDeviceButton(3), XGrabDeviceKey(3),
       Programming With Xlib



X Version 11                                     libXi 1.2.1                                  XGrabDevice(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...