Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XLookupKeysym(3X11)

XmbLookupString(3X11)  —  NEWS-OS Programmer’s Manual

名称

XmbLookupString, XwcLookupString − インプットメソッドから 整理された入力を獲得する

形式

int XmbLookupString(ic, event, buffer_return, bytes_buffer, keysym_return, status_return)
      XIC ic;
      XKeyPressedEvent ∗event;
      char ∗buffer_return;
      int bytes_buffer;
      KeySym ∗keysym_return;
      Status ∗status_return; int XwcLookupString(ic, event, buffer_return, bytes_buffer, keysym_return, status_return)
      XIC ic;
      XKeyPressedEvent ∗event;
      wchar_t ∗buffer_return;
      int wchars_buffer;
      KeySym ∗keysym_return;
      Status ∗status_return;

引数

buffer_return入力方法から多バイト文字列または ワイド文字列 (どれでも) を返します。

bytes_buffer

wchars_buffer
戻りバッファ内で有効なスペースを指定します。

event使用するキーイベントを指定します。

ic入力コンテキストを指定します。

keysym_return
この引数がナルの場合、 イベントから計算された KeySym を返します。

status_return
返されたデータの種類を示す値を返します。

解説

XmbLookupString および XwcLookupString 関数は、buffer_return 引数内に指定された インプットメソッドから文字列を返します。 文字列が戻らなかった場合、 buffer_return 引数は変更されません。 NULL 以外で KeySym が戻ったことを 示す status_return 引数の場合、 イベントからの KeyCode がマップされる KeySym は、 Keysym_return 引数で返されます。 文字列および Keysym が戻された場合、 KeySym 値は戻された文字列と一致する必要は ありません。 XmbLookupString は文字列の長さをバイト数で返し、 XwcLookupString は文字数で返すことに注意して下さい。 XmbLookupString および XwcLookupString は、指定インプットコンテキストの インプットメソッドに接続されているロケールの エンコーディングされたテキストを返します。 XmbLookupString および XwcLookupString で返された各文字列は、シーンのエンコーディング の最初の状態で始まることに注意してください (ロケールのエンコーディングが 状態依存でない場合)。

Note

適切な入力処理を保証するためには、 クライアントが XmbLookupString および XwcLookupString へ KeyPress イベントを渡すことが必要です。 クライアントが KeyRelease イベントを渡す方法は未定議です。

クライアントは、 その他の返り値を使用する前に status_return 引数を確認してください。 これら 2 つの関数は、 その他の引数で何が返されるかを示す値を status_return に返します。 返される可能性のある値は、以下のものです。

XBufferOverflow 返される入力文字列が、buffer_return では小さすぎる。 必要なサイズ (XmbLookupString はバイト数にて、 XwcLookupString は文字数にて) が関数の値として返され、 buffer_return および keysym_return の内容は変更されません。 その文字列を獲得するには、 同じイベントおよび適切なサイズのバッファで、 クライアントはその関数を再度コールしなければなりません。
XLookupNone これまで、矛盾のない入力は整理されませんでした。 buffer_return および keysym_return の内容は変更されず、 関数はゼロを返します。
XLookupChars いくつかの入力キャラクタが整理されています。 それらは buffer_return 引数の中に 置かれ、文字列長は関数の値として返されます。 文字列はインプットコンテキストに接続されている ロケールでエンコードされます。 keysym_return 引数の内容は変更されません。
XLookupKeySym 文字列の代わりに、 KeySym が keysym_return に返されます。 buffer_return 引数の内容は変更されず、 関数はゼロを返します。
XLookupBoth KeySym および文字列の両方が返されます。 XLookupChars および XLookupKeySym が同時に発生しました。

XmbLookupString および XwcLookupString に引数として渡されたインプットコンテキストが 現在フォーカスの所有であるかどうかによっては、 その差はありません。 それ以上のキーボードフォーカスを 持たないとしても、 フォーカスを失う前に入力はインプットコンテキスト 内で整理され、 XmbLookupString または XwcLookupString への連続したコール上で入力が返されることがあります。

関連事項

XLookupKeysym(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.2.1R

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