XQueryDeviceState(3X11)

名前
XQueryDeviceState - 拡張入力デバイスの状態問い合わせ

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

関連項目
Programming with Xlib