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
    使用するキーイベント構造体を指定する。 または を指定できる。

index
    イベントの KeyCode から KeySym を調べるためのリストを示すインデックスを指定する。

key_event
    イベントか イベントを指定する。

keysym
    再バインドされる KeySym を指定する。

keysym_return
    この引き数が NULL でなければ、イベントから求めた KeySym が返される。

list
    モディファイアとして使う KeySym のリストを指定する。

mod_count
    モディファイアのリスト内のモディファイアの数を指定する。

status_in_out
    構造体か NULL を指定する。 またはこれらが返される。

string
    にコピーされ、返される文字列を指定する。

説明
関数 は、指定されたキーボードイベントとユーザが指定したインデックスを使って、 リストから取り出した KeySym を返す。この KeySym は、 構造体と 構造体の keycode メンバに対応する。 イベントの KeyCode に対する KeySym が定義されていなければ、 は を返す。

関数 は、格納されているモディファイアとキーマップの情報を更新する。 通常この関数が呼び出されるのは イベントが発生して、その request メンバが か だったときである。 関数を呼び出した結果、Xlib のキーボードの情報が更新される。

はキーイベントを KeySym と文字列にトランスレートする。 KeySym は X プロトコル仕様で定義されている グループ、numlock モディファイアの標準の解釈を使って取得する。 KeySym が再バインドされていた場合( を参照)、バインドされている文字列がバッファに格納される。 そうでない場合、可能であれば KeySym は ISO Latin-1 文字か (Control モ ディファイアが有効であれば) ACSII 制御文字にマップされ、その文字がバッ ファに格納される。 はバッファに格納した文字数を返す。

もし 構造体が存在していれば(NULLでなければ)、 この構造体には組み立て処理を行うするための の呼び出しの間で保存が必要な状態が記録される。 この状態は Xlib のプライベートなものである。 の生成は実装依存である。 移植性を必要とするプログラムでは、この引き数に NULL を渡すべきである。

関数 を使うとクライアントにとっての KeySym の意味を再バインドできる。 この関数は X サーバのキーを再定義するのではなく、単に長い文字列をキー に割り当てる簡単な方法を提供するものである。 は適切な組合せのモディファイアキーが押された時と、KeySym がトランスレーション に対して用いられた時にこの文字列を返す。 テキスト変換は行われない。 適切にエンコードした文字列を与えるのはクライアントの責任である。 存在しない KeySym にも再バインドができる点に注意すること。

関連項目
XButtonEvent(3X11), XMapEvent(3X11), XStringToKeysym(3X11)
Xlib - C Language X Interface