XQueryDeviceState(3X11)

XQueryDeviceState(3X11)

XQueryColors Home Page Subroutines Index XQueryFont


NAME
       XQueryDeviceState  - query the state of an extension input
       device.

SYNTAX
       XQueryDeviceState(display, device)
             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 (current value) on the device is
       reported by this request.  Each key or  button  is  repre-
       sented  by  a  bit  in  the XDeviceState structure that is
       returned.  Valuators on the device report 0  if  they  are
       reporting  relative  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  speci-
                   fied  device  does  not  exist or has not been
                   opened by this  client  via  XOpenInputDevice.
                   This error may also occur if some other client
                   has caused the specified device to become  the
                   X   keyboard  or  X  pointer  device  via  the
                   XChangeKeyboardDevice or  XChangePointerDevice
                   requests.

SEE ALSO
       Programming with Xlib

XQueryColors Home Page Subroutines Index XQueryFont