other versions
- wheezy 4.1.0.20011224-6
| XGetFeedbackControl(3X11) | X FUNCTIONS | XGetFeedbackControl(3X11) |
名前¶
XGetFeedbackControl, XChangeFeedbackControl - 入力デバイスのフィードバックの問い合わせ・変更を行なう書式¶
XFeedbackState * XGetFeedbackControl( display, device, num_feedbacks)Display * display;
XDevice * device;
int * num_feedbacks;
Display * display;
XDevice * device;
Mask mask;
XFeedbackControl * control;
引き数¶
- display
- X サーバへの接続を指定する。
- device
- フィードバックの問い合わせ・変更を行なう対象となるデバイスを指定する。
- num_feedbacks
- デバイスがサポートしているフィードバックの数が返されるアドレスを指定する。
- mask
- フィードバックのタイプに特有の、変更されるフィードバックを示すマスクを 指定する。
- control
- フィードバックの新しい値が設定される XFeedbackControl 構造体の アドレスを指定する。
説明¶
これらのリクエストは、フィードバックをサポートしているデバイスの操作を 提供する。要求されたデバイスがフィードバックをサポートしていない場合は、 エラー BadMatch が生成される。与えられたデバイスのフィードバック のサポートの有無は、 XOpenDevice リクエストが返す情報によって判定 できる。フィードバックをサポートしているデバイスに対しては、 XOpenDevice は input_class フィールドが定数 FeedbackClass である XInputClassInfo 構造体を返す(定数はファイル XI.h で定義されている)。 XGetFeedbackControl リクエストは、 XFeedbackState 構造体の リストへのポインタを返す。このリスト中のそれぞれの要素は、デバイスがサ ポートしているフィードバックの1つを記述する。要素の長さは可変なので、 リスト中の次の要素を参照できるようにするため、各要素は自分の長さを持っ ている。 フィードバックのクラスについては、現在は以下のものが定義されている: KbdFeedbackClass, PtrFeedbackClass, StringFeedbackClass, IntegerFeedbackClass, LedFeedbackClass, BellFeedbackClass. これらの定数は、ファイル XI.h 内で定義されている。入力デバイスは、 0個以上のクラスのフィードバックをサポートすることができ、同じクラスの 複数のフィードバックをサポートすることもできる。それぞれのフィードバッ クは、その入力デバイスに対し、そのクラス中で一意に決まるクラス識別子を 持っている。このIDは、 XChangeFeedbackControl リクエストを行うと きにフィードバックを識別するために使われる。 XGetFeedbackControl は、エラーBadDevice, BadMatch を 起こすことがある。 XChangeFeedbackControl リクエストは、指定したデバイス上の1つの フィードバックの値を変更する。フィードバックは、リクエストに渡される XFeedbackControl 構造体の id フィールドを使って識別される。変更 するフィードバック構造体のフィールドは、リクエストに渡したマスクのビッ ト値で識別される。 XChangeFeedbackControl は、エラー BadDevice, BadMatch, BadValue を起こすことがある。構造体¶
フィードバックの各クラスは、クラスの特有の構造体で記述される。 これらの構造体は、ファイル XInput.h 内で記述されている。 XFeedbackState と XFeedbackControl は、フィードバックの各 クラスの先頭に3つのフィールドを持つ、一般的な構造体である。 typedef struct {typedef struct {
XID class;
int length;
XID id;
int click;
int percent;
int pitch;
int duration;
int led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKbdFeedbackState;
XPtrFeedbackState 構造体は、X
のポインタ上のフィードバックと等価
なフィードバックに対して返される属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int accelNum;
int accelDenom;
int threshold;
} XPtrFeedbackState;
XIntegerFeedbackState
構造体は、整数値のフィードバックに対して返
される属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int resolution;
int minVal;
int maxVal;
} XIntegerFeedbackState;
XStringFeedbackState
構造体は、文字列のフィードバックに対して返
される属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int max_symbols;
int num_syms_supported;
KeySym *syms_supported;
} XStringFeedbackState;
XBellFeedbackState
構造体は、ベルのフィードバックに対して返され
る属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int percent;
int pitch;
int duration;
} XBellFeedbackState;
XLedFeedbackState 構造体は、LED
のフィードバックに対して返される
属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int led_values;
} XLedFeedbackState;
XPrtFeedbackControl
構造体は、ポインタのフィードバックに対して制
御することができる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int accelNum;
int accelDenom;
int threshold;
} XPtrFeedbackControl;
XKbdFeedbackControl
構造体は、キーボードのフィードバックに対して
制御できる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int click;
int percent;
int pitch;
int duration;
int led_mask;
int led_value;
int key;
int auto_repeat_mode;
} XKbdFeedbackControl;
XStringFeedbackControl
構造体は、文字列のフィードバックに対して
制御できる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int num_keysyms;
KeySym *syms_to_display;
} XStringFeedbackControl;
XIntegerFeedbackControl
構造体は、整数値のフィードバックに対して
制御できる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int int_to_display;
} XIntegerFeedbackControl;
XBellFeedbackControl
構造体は、ベルのフィードバックに対して制御
できる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int percent;
int pitch;
int duration;
} XBellFeedbackControl;
XLedFeedbackControl 構造体は、LED
のフィードバックに対して制御で
きる属性を定義する。
typedef struct {
XID class;
int length;
XID id;
int led_mask;
int led_values;
} XLedFeedbackControl;
返り値¶
- BadDevice
-
- BadMatch
- このエラーは、フィードバックを持たないデバイスを指定して XGetFeedbackControl リクエストを行った場合や、フィードバックのタ イプが不正である XFeedbackControl 構造体を使って、 XChangeFeedbackControl リクエストを行った場合に起こる。 不正なマスクビット値の組合せを用いた場合や(キーボードのフィードバック に対して DvAutoRepeatMode 無しの DvKey を用いる等)、文字列 のフィードバックに対して不正な KeySym を指定した場合にも、このエラーが 起こる。
- BadValue
- 指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。
関連項目¶
Programming With Xlib| Release 6.5 | X Version 11 |