int XChangeFeedbackControl(display, device, mask, control)
Display *display;
XDevice *device;
Mask mask;
XFeedbackControl *control;
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 を起こすことがある。
typedef struct {
XID class;
int length;
XID id;
} XFeedbackState, XFeedbackControl;
XKbdFeedbackState 構造体は、X のキーボード上のフィードバックと等 価なフィードバックに対して返される属性を定義する。
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;