書式
XQueryDeviceState(display, device)Display *display;
XDevice *device;
引き数
- display
- X サーバへの接続を指定する。
- device
- 状態を問い合わせるデバイスを指定する。
説明
XQueryDeviceState リクエストは入力デバイスの状態を問い合わせる。 このリクエストによってデバイス上のキーやボタン(押されているかどうか)や バリュエータ(現在の値)の現在の状態が通知される。 デバイス上のバリュエータは、相対値の情報の場合には 0 を通知し、絶対値 の情報の場合には現在の値を通知する。XQueryDeviceState はエラー BadDevice を起こすことがある。
構造体
XDeviceState 構造体の内容を以下に示す。
typedef struct {
XID device_id;
int num_classes;
XInputClass *data;
} XDeviceState;
XValuatorState 構造体の内容を以下に示す。
typedef struct {
unsigned char class;
unsigned char length;
unsigned char num_valuators;
unsigned char mode;
int *valuators;
} XValuatorState;
XKeyState 構造体の内容を以下に示す。
typedef struct {
unsigned char class;
unsigned char length;
short num_keys;
char keys[32];
} XKeyState;
XButtonState 構造体の内容を以下に示す。
typedef struct {
unsigned char class;
unsigned char length;
short num_buttons;
char buttons[32];
} XButtonState;
返り値
- BadDevice
- 不正なデバイスが指定された。指定されたデバイスが存在しないか、そのクラ イアントが XOpenInputDevice を使ってデバイスをオープンしていない。 このエラーは、指定したデバイスが他のクライアントの XChangeKeyboardDevice リクエストや XChangePointerDevice リ クエストによって X のキーボードデバイスや X のポインタデバイスにされた 時にも起こる。

