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
    にコピーされ、返される文字列を指定。

説明
関数 は与えられたキーボードイベントと指定されたインデックスを使い、 か 構造体の KeyCode メンバに対応するリストにある KeySym を返す。 イベントの 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