<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<PRE>



XQueryDeviceState(3X11)	   X FUNCTIONS	  XQueryDeviceState(3X11)


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;



X Version 11		   Release 6.1				1





XQueryDeviceState(3X11)	   X FUNCTIONS	  XQueryDeviceState(3X11)


       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




































X Version 11		   Release 6.1				2


</PRE>
</BODY>
</HTML>
