XGetDeviceControl
Section: X FUNCTIONS (3X11)
Updated: Release 6.6
索引
xjman
名前
XGetDeviceControl, XChangeDeviceControl - 入力デバイス制御の問い合わせと変更を行なう
書式
XDeviceControl *
XGetDeviceControl(display, device, control)
Display *display;
XDevice *device;
int *controlType;
int XChangeDeviceControl(display, device, controlType, control)
Display *display;
XDevice *device;
int controlType;
XDeviceControl *control;
引き数
- display
-
X サーバへの接続を指定する。
- device
-
制御についての問い合わせや変更を行うデバイスを指定する。
- controlType
-
問い合わせや変更を行う制御のタイプを指定する。
- control
-
デバイスに対する新しい値を格納している XDeviceControl 構造体の
アドレスを指定する。
説明
これらのリクエストにより、デバイス制御をサポートしている入力デバイスを
操作できる。
リクエストを出したデバイスがデバイスの制御をサポートしていない場合、
BadMatch エラーが起こる。
これらのリクエストで使用できる有効なデバイス制御のタイプを以下に示す。
- DEVICE_RESOLUTION
-
入力デバイス上のバリュエータの解像度の問い合わせと変更を行う。
XGetDeviceControl リクエストは XDeviceControl 構造体への
ポインタを返す。
XGetDeviceControl はエラー BadDevice, BadMatch を
起こすことがある。
XChangeDeviceControl リクエストは、指定したデバイスの1つの制御に
関する値を変更する。制御はリクエストと共に渡される
XDeviceControl 構造体の id フィールドによって識別される。
XChangeDeviceControl はエラー BadDevice, BadMatch,
BadValue を起こすことがある。
構造体
それぞれの制御は、その制御に特有の構造体によって記述される。
これらの構造体はファイル XInput.h 内で定義されている。
XDeviceControl は2つのフィールドを持つ汎用的な構造体である。
この構造体は、それぞれの制御クラスの始め2つのフィールドを持つ。
typedef struct {
XID class;
int length;
} XDeviceControl;
XDeviceResolutionState 構造体はバリュエータを持つデバイスに対し
て、デバイスの解像度について返される情報を定義する。
typedef struct {
XID control;
int length;
int num_valuators;
int *resolutions;
int *min_resolutions;
int *max_resolutions;
} XDeviceResolutionState;
XDeviceResolutionControl 構造体は、キーボードデバイスに対して
制御できる属性を定義する。
typedef struct {
XID control;
int length;
int first_valuator;
int num_valuators;
int *resolutions;
} XDeviceResolutionControl;
返り値
- BadDevice
-
不正なデバイスが指定された。
指定されたデバイスが存在しないか、クライアントが XOpenInputDevice
を使ってオープンしていない。
このエラーは指定したデバイスが、他のクライアントの
XChangeKeyboardDevice リクエストや XChangePointerDevice
リクエストによって X のキーボードや X のポインタデバイスになった時
にも起こる。
- BadMatch
-
このエラーは、制御できないデバイスを指定して XGetDeviceControl
リクエストを行なった時や、不正なデバイスのタイプを持つ
XDeviceControl 構造体で XChangeDeviceControl リクエストを
行った時に起こる。
また、このエラーはマスクビットの不正な組合せが指定されたとき(キーボード
デバイスに対して DvKey を指定しているが
DvAutoRepeatMode が指定されていない時)や文字列デバイスに対して
不正な KeySym が指定されたときにも起こる。
- BadValue
-
指定された数値の中に、XChangeDeviceControl リクエストの許容範囲を
越えているものがある。
引き数に対して特定の範囲が指定されていなければ、引き数の型で定義されている
全ての範囲が許される。選択肢として定義されている引き数はこのエラーを起こ
すことがある。
関連項目
Programming With Xlib
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 構造体
-
- 返り値
-
- 関連項目
-
Time: 07:00:50 GMT, January 12, 2009