Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XLookupKeysym(3X11) — NEWS-os 4.2.1R

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, 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 のバイト数を指定します。

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 に固有の)を記憶します。 XComposeStatus 構造体の生成は、インプリメンテーションにより異なります。 プログラムをポーティング可能にするには、この引数にナルを 渡さなければいけません。 XRebindKeysym 関数は、クライアントにとっての KeySym の意味をリバインドするのに使用できます。 これは、X サーバのキーを再定義せず、 長い文字列をキーに付加するための簡単な方法となるにすぎません。 適切なモディファイアキーセットを押した場合、また KeySym を使用して変換する場合、 XLookupString はこの文字列を返します。 テキストの変換は行わないので、 クライアントが適切なコードの文字列を供給する必要があります。 存在しない KeySym がリバインドされることがあることに注意してください。

関連事項

XButtonEvent(3X11), XMapEvent(3X11), XStringToKeysym(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.2.1R

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