DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

XQueryDeviceState(3)





NAME

       XQueryDeviceState - query the state of an extension input device.


SYNTAX

       int XQueryDeviceState(Display *display, XDevice *device);


ARGUMENTS

       display     Specifies the connection to the X server.

       device      Specifies the device whose state is to be queried.


DESCRIPTION

       The  XQueryDeviceState  request  queries  the state of an input device.
       The current state of keys and buttons (up or down), and valuators (cur-
       rent  value)  on  the  device is reported by this request.  Each key or
       button is represented by a bit in the XDeviceState  structure  that  is
       returned.  Valuators on the device report 0 if they are reporting rela-
       tive information, and the current value if they are reporting  absolute
       information.

       XQueryDeviceState can generate a BadDevice error.


STRUCTURES

       The XDeviceState structure contains:

       typedef struct {
            XID device_id;
            int num_classes;
            XInputClass *data;
       } XDeviceState;

       The XValuatorState structure contains:

       typedef struct {
            unsigned char class;
            unsigned char length;
            unsigned char num_valuators;
            unsigned char mode;
            int *valuators;
       } XValuatorState;

       The XKeyState structure contains:

       typedef struct {
            unsigned char class;
            unsigned char length;
            short         num_keys;
            char keys[32];
       } XKeyState;

       The XButtonState structure contains:

       typedef struct {
            unsigned char class;
            unsigned char length;
            short         num_buttons;
            char buttons[32];
       } XButtonState;


DIAGNOSTICS

       BadDevice   An invalid device was specified.  The specified device does
                   not exist or has not been opened by this client via  XOpen-
                   InputDevice.   This  error  may  also  occur  if some other
                   client has caused the specified device to become the X key-
                   board  or X pointer device via the XChangeKeyboardDevice or
                   XChangePointerDevice requests.


SEE ALSO

       Programming with Xlib

X Version 11                      libXi 1.0.2          XQueryDeviceState(3X11)

Man(1) output converted with man2html