Other Alias
XLookupKeysym, XLookupString, XRebindKeySym書式
KeySym XLookupKeysym(key_event, index)XKeyEvent *key_event;
int index;
XRefreshKeyboardMapping(event_map)
XMappingEvent *event_map;
int XLookupString(event_struct, buffer_return,
bytes_buffer, keysym_return, status_in_out)
XKeyEvent *event_struct;
char *buffer_return;
int bytes_buffer;
KeySym *keysym_return;
XComposeStatus *status_in_out;
XRebindKeysym(display, keysym, list, mod_count, string, num_bytes)
Display *display;
KeySym keysym;
KeySym list[];
int mod_count;
unsigned char *string;
int num_bytes;
引き数
- buffer_return
- トランスレートされた文字が返される。
- bytes_buffer
- バッファの大きさを指定する。 トランスレーションの結果が返される。 bytes_buffer を越えた分は返されない。
- num_bytes
- 引き数 string のバイト数を指定する。
- display
- X サーバへの接続を指定する。
- event_map
- 使用するマッピングイベントを指定する。
- event_struct
- 使用するキーイベント構造体を指定する。 XKeyPressedEvent または XKeyReleasedEvent を指定できる。
- index
- イベントの KeyCode から KeySym を調べるためのリストを示すインデックスを指定する。
- key_event
- KeyPress イベントか KeyRelease イベントを指定する。
- keysym
- 再バインドされる KeySym を指定する。
- keysym_return
- この引き数が NULL でなければ、イベントから求めた KeySym が返される。
- list
- モディファイアとして使う KeySym のリストを指定する。
- mod_count
- モディファイアのリスト内のモディファイアの数を指定する。
- status_in_out
- XComposeStatus 構造体か NULL を指定する。 またはこれらが返される。
- string
- XLookupString にコピーされ、返される文字列を指定する。
説明
関数 XLookupKeysym は、指定されたキーボードイベントとユーザが指定したインデックスを使って、 リストから取り出した KeySym を返す。この KeySym は、 XKeyPressedEvent 構造体と XKeyReleasedEvent 構造体の keycode メンバに対応する。 イベントの KeyCode に対する KeySym が定義されていなければ、 XLookupKeysym は NoSymbol を返す。関数 XRefreshKeyboardMapping は、格納されているモディファイアとキーマップの情報を更新する。 通常この関数が呼び出されるのは MappingNotify イベントが発生して、その request メンバが MappingKeyboard か MappingModifier だったときである。 関数を呼び出した結果、Xlib のキーボードの情報が更新される。
XLookupString はキーイベントを KeySym と文字列にトランスレートする。 KeySym は X プロトコル仕様で定義されている Shift, Lock, グループ、numlock モディファイアの標準の解釈を使って取得する。 KeySym が再バインドされていた場合( XRebindKeysym を参照)、バインドされている文字列がバッファに格納される。 そうでない場合、可能であれば KeySym は ISO Latin-1 文字か (Control モ ディファイアが有効であれば) ACSII 制御文字にマップされ、その文字がバッ ファに格納される。 XLookupString はバッファに格納した文字数を返す。
もし XComposeStatus 構造体が存在していれば(NULLでなければ)、 この構造体には組み立て処理を行うするための XLookupString の呼び出しの間で保存が必要な状態が記録される。 この状態は Xlib のプライベートなものである。 XComposeStatus の生成は実装依存である。 移植性を必要とするプログラムでは、この引き数に NULL を渡すべきである。
関数 XRebindKeysym を使うとクライアントにとっての KeySym の意味を再バインドできる。 この関数は X サーバのキーを再定義するのではなく、単に長い文字列をキー に割り当てる簡単な方法を提供するものである。 XLookupString は適切な組合せのモディファイアキーが押された時と、KeySym がトランスレーション に対して用いられた時にこの文字列を返す。 テキスト変換は行われない。 適切にエンコードした文字列を与えるのはクライアントの責任である。 存在しない KeySym にも再バインドができる点に注意すること。