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.



XOpenDevice(3)                                   X FUNCTIONS                                  XOpenDevice(3)



NAME
       XOpenDevice, XCloseDevice - open or close an extension input device

SYNTAX
       XDevice *XOpenDevice(Display *display, XID device_id);

       XCloseDevice(Display *display, XDevice *device);


ARGUMENTS
       display     Specifies the connection to the X server.

       device_id   Specifies the id of the device to be opened

       device      Specifies the device to be closed

DESCRIPTION
       The XOpenDevice request makes an input device accessible to a client through input extension protocol
       requests.  If successful, it returns a pointer to an XDevice structure.

       The XCloseDevice request makes an input device inaccessible to a client through input extension  pro-tocol protocol
       tocol  requests.   Before  terminating,  and  client  that has opened input devices through the input
       extension should close them via CloseDevice.

       When a client makes an XCloseDevice request, any active grabs that the client has on the  device  are
       released.   Any  event  selections that the client has are deleted, as well as any passive grabs.  If
       the requesting client is the last client accessing the device, the server may disable all access by X
       to the device.

       XOpenDevice and XCloseDevice can generate a BadDevice error.

STRUCTURES
       The XDevice structure returned by XOpenDevice contains:
       typedef struct {
            XID device_id;
            int num_classes;
            XInputClassInfo *classes;
       } XDevice;

       The classes field is a pointer to an array of XInputClassInfo structures.  Each element of this array
       contains an event type base for a class of input supported by the specified device.  The  num_classes
       field indicates the number of elements in the classes array.

       The XInputClassInfo structure contains:

       typedef struct {
            unsigned char input_class;
            unsigned char event_type_base;
       } XInputClassInfo;

       The  input_class  field identifies one class of input supported by the device.  Defined types include
       KeyClass, ButtonClass, ValuatorClass, ProximityClass, FeedbackClass, FocusClass, and OtherClass.  The
       event_type_base identifies the event type of the first event in that class.

       The  information  contained  in  the  XInputClassInfo structure is used by macros to obtain the event
       classes that clients use in making XSelectExtensionEvent requests.  Currently defined macros  include
       DeviceKeyPress,  DeviceKeyRelease, DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify, Device-FocusIn, DeviceFocusIn,
       FocusIn,  DeviceFocusOut,   ProximityIn,   ProximityOut,   DeviceStateNotify,   DeviceMappiingNotify,
       ChangeDeviceNotify,  DevicePointerMotionHint,  DeviceButton1Motion,  DeviceButton2Motion,  DeviceBut-ton3Motion, DeviceButton3Motion,
       ton3Motion,  DeviceButton4Motion,  DeviceButton5Motion,  DeviceButtonMotion,   DeviceOwnerGrabButton,
       DeviceButtonPressGrab, and NoExtensionEvent.

       To  obtain  the  proper event class for a particular device, one of the above macros is invoked using
       the XDevice structure for that device.  For example,

       DeviceKeyPress (*device, type, eventclass);

       returns the DeviceKeyPress event type and the eventclass for DeviceKeyPress events from the specified
       device.

       This  eventclass  can  then  be  used  in  an XSelectExtensionEvent request to ask the server to send
       DeviceKeyPress events from this device.  When a selected event is received via XNextEvent,  the  type
       can be used for comparison with the type in the event.

DIAGNOSTICS
       BadDevice   An  invalid  device was specified.  The specified device does not exist, or is the X key-board keyboard
                   board or X pointer.  This error may also occur if some other client has caused the speci-fied specified
                   fied device to become the X keyboard or X pointer device via the XChangeKeyboardDevice or
                   XChangePointerDevice requests.

SEE ALSO
       Programming with Xlib



X Version 11                                     libXi 1.2.1                                  XOpenDevice(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...