Scroll to navigation

XLookupKeysym(3X11) XLIB FUNCTIONS XLookupKeysym(3X11)

名前

XLookupKeysym, XRefreshKeyboardMapping, XLookupString, XRebindKeySym - Latin-1 のキーボード入力イベントの処理

書式

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 にも再バインドができる点に注意すること。

関連項目

XButtonEvent(3X11), XMapEvent(3X11), XStringToKeysym(3X11)
 
Xlib - C Language X Interface
Release 6.5 X Version 11