Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XLookupKeysym(3X11) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XButtonEvent(3X11)

XMapEvent(3X11)

XStringToKeysym(3X11)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026