XLookupKeysym

Section: XLIB FUNCTIONS (3X11)
Updated: Release 6.3
Index xjman/web INDEX
 

名前

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_bufferkeysym_returnstatus_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 が定義されていなければ、 XLookupKeysymNoSymbol を返す。

関数 XRefreshKeyboardMapping は、格納されているモディファイアとキーマップの情報を更新する。 通常この関数が呼び出されるのは MappingNotify イベントが発生して、その request メンバが MappingKeyboardMappingModifier だったときである。 関数を呼び出した結果、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


 

Index

名前
書式
引き数
説明
関連項目

This document was created by man2html, using the manual pages.
Time: 15:55:51 GMT, February 12, 2001