'\" t .\" Title: xquerydevicestate .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.77.1 .\" Date: 03/09/2013 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "XQUERYDEVICESTATE" "3xi" "03/09/2013" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" XQueryDeviceState \- query the state of an extension input device\&. .SH "SYNOPSIS" .nf \fBcc\fR [ \fIflag\fR\&.\&.\&. ] \fIfile\fR\&.\&.\&. \fB\-lXi\fR [ \fIlibrary\fR\&.\&.\&. ] .fi .sp .nf \fBcc\fR [ \fIflag\fR\&.\&.\&. ] `pkg-config --cflags xi` \fIfile\fR\&.\&.\&. `pkg-config --libs xi` .fi .sp .nf #include .fi .sp .nf XDeviceState* XQueryDeviceState( Display *display, XDevice *device); .fi .sp .nf display Specifies the connection to the X server\&. .fi .sp .nf device Specifies the device whose state is to be queried\&. .fi .SH "DESCRIPTION" .sp .if n \{\ .RS 4 .\} .nf 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\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf XQueryDeviceState can generate a BadDevice error\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf Structures: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The XDeviceState structure contains: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf typedef struct { XID device_id; int num_classes; XInputClass *data; } XDeviceState; .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The XValuatorState structure contains: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf typedef struct { unsigned char class; unsigned char length; unsigned char num_valuators; unsigned char mode; int *valuators; } XValuatorState; .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The XKeyState structure contains: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf typedef struct { unsigned char class; unsigned char length; short num_keys; char keys[32]; } XKeyState; .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The XButtonState structure contains: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf typedef struct { unsigned char class; unsigned char length; short num_buttons; char buttons[32]; } XButtonState; .fi .if n \{\ .RE .\} .SH "DIAGNOSTICS" .sp .if n \{\ .RS 4 .\} .nf 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\&. .fi .if n \{\ .RE .\} .\" Begin Oracle Solaris update .SH "ATTRIBUTES" See \fBattributes\fR(5) for descriptions of the following attributes: .sp .TS allbox; cw(2.750000i)| cw(2.750000i) lw(2.750000i)| lw(2.750000i). ATTRIBUTE TYPE ATTRIBUTE VALUE Availability x11/library/libxi Interface Stability Committed MT-Level See XInitThreads(3X11) .TE .sp .\" End Oracle Solaris update