Table of Contents
XQueryDeviceState - query the state of an extension input
device.
- int XQueryDeviceState(Display *display, XDevice *device);
- display
- Specifies the connection to the X server.
- device
- Specifies
the device whose state is to be queried.
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 represented 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.
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;
- 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 some other client has caused the specified
device to become the X keyboard or X pointer device via the XChangeKeyboardDevice
or XChangePointerDevice requests.
Programming with Xlib
Table of Contents