書式
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 のポインタデバイスにされた 時にも起こる。