XLookupKeysym(3X11) — NEWS-OS Programmer’s Manual
名称
XLookupKeysym, XRefreshKeyboardMapping, 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, bytes_string)
Display ∗display;
KeySym keysym;
KeySym list[];
int mod_count;
unsigned char ∗string;
int bytes_string;
引数
buffer_return変換された文字を返します。
bytes_bufferバッファの長さを指定します。 変換の bytes_buffer 以上の変換は返されません。
bytes_string文字列の長さを指定します。
displayX サーバへのコネクションを指定します。
event_map使用するマッピングイベントを指定します。
event_struct使用するキーイベント構造体を指定します。 XKeyPressedEvent または XKeyReleasedEvent を渡せます。
indexイベントの KeyCode 用の KeySyms リストへのインデックスを指定します。
key_eventKeyPress または KeyRelease イベントを指定します。
keysymテストする Keysym を指定します。
keysym_return
この引数が NULL でなければイベントから計算した KeySym を指定します。
listモディファイアとして使用される KeySyms を指定します。
mod_countモディファイアリストのモディファイア数を指定します。
status_in_out
XComposeStatus 構造体または NULL を指定するかまたは返します。
stringXLookupString でコピーされ、返される文字列に対するポインタを指定します。
解説
XLookupKeysym 関数は、与えられたキーボードイベントと指定されたインデックスを使用し、 XKeyPressedEvent または XKeyReleasedEvent 構造体の KeyCode メンバに対応するリストから KeySym を返します。 イベントの KeyCode のため KeySym が定義されなければ、 XLookupKeysym は NoSymbol を返します。 XRefreshKeyboardMapping 関数は、ストアされたモディファイアおよびキーマップ情報をリフレッシュします。 MappingKeyboard または MappingModifier のリクエストメンバによる MappingNotify イベントが発生した場合、通常この関数をコールします。 その結果、キーボードの Xlib の値が更新されます。 XLookupString 関数は、キーイベントを KeySym および文字列に変換します。 KeySym は、X プロトコル仕様で定義された、Shift、Lock、 およびモディファイアグループの標準解釈を用いることで 得られます。 KeySym がリバインドされていた場合( XRebindKeysym 参照)、バインドされた文字列がバッファにストアされます。 そうでなければ、KeySym は、可能ならば ISO Latin-1 文字か (Control モディファイアが on なら)ASCII コントロール文字に マップされ、その文字がバッファにストアされます。 XLookupString はバッファにストアされている文字の数を返します。 XLookupString もしあれば (非 NULL) 、 XComposeStatus 構造体は、compose 処理を実施するため、 XLookupString へのコールにより保存を必要とする状態(Xlib に固有の)を記憶します。 を記憶します。 XRebindKeysym 関数は、クライアントにとっての KeySym の意味をリバインドするのに使用できます。 これは、 X サーバのキーを再定義せず、 長い文字列をキーに付加するための簡単な方法となるにすぎません。 適切なモディファイアキーセットを押した場合、また KeySym を使用して変換する場合、 XLookupString はこの文字列を返します。 存在しない KeySym がリバインドされることがあることに注意してください。
関連事項
XButtonEvent(3X11), XMapEvent(3X11), XStringToKeysym(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.1C