XQueryDeviceState(3XI) — NEWS-OS Programmer’s Manual
名称
XQueryDeviceState − 拡張入力デバイスの状態を問う
形式
XQueryDeviceState(display, device)
Display ∗display;
XDevice ∗device;
引数
display X サーバとの接続を指定する。
device 要求する状態のデバイスを指定する。
解説
XQueryDeviceState リクエストは入力デバイスの 状態を問います。 キーまたはボタン(押されているかどうか?)の現在の状態、 デバイス上のバリュエータ(現在値)の状態が このリクエストによって報告されます。 各キーまたはボタンは返された XDeviceState 構造体のビットで表せます。 相対情報を報告する場合デバイスのバリュエータは 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 ポインタデバイスにする場合、 このエラーが発生します。
関連事項
Programming with Xlib
NEWS-OSRelease 4.2.1R