m17n ライブラリ 1.8.4
読み取り中…
検索中…
一致する文字列を見つけられません
データ構造 | 関数 | 変数
入力メソッド (GUI)

ウィンドウシステム上の入力メソッドのサポート. [詳解]

データ構造

struct  MInputGUIArgIC
 関数 minput_create_ic() の引数の型宣言. [詳解]
 
struct  MInputXIMArgIM
 関数 minput_open_im() の引数 arg によって指される構造体. [詳解]
 
struct  MInputXIMArgIC
 関数 minput_create_ic() の引数 arg によって指される構造体. [詳解]
 

関数

MSymbol minput_event_to_key (MFrame *frame, void *event)
 イベントを入力キーに変換する.
 

変数

MInputDriver minput_gui_driver
 ウィンドウシステムの内部入力メソッド用入力ドライバ.
 
MSymbol Mxim
 "xim"を名前として持つシンボル .
 

詳解

ウィンドウシステム上の入力メソッドのサポート.

入力ドライバ minput_gui_driver は、 ウィンドウシステム上で用いられる内部入力メソッド用のドライバである。 このドライバは入力スポットに preedit テキストと status テキストを表示する。詳細については minput_gui_driver の説明を参照のこと。

m17n-X ライブラリは、Mxim と言う名前を持つ外部入力メソッドを提供している。これは XIM (X Input Method) をバックグラウンドの入力エンジンとして利用する。シンボル MximMinput_driver というプロパティを持っており、その値は入力ドライバ minput_xim_driver へのポインタである。 詳細については minput_xim_driver の説明を参照のこと。

関数詳解

◆ minput_event_to_key()

MSymbol minput_event_to_key ( MFrame frame,
void *  event 
)

イベントを入力キーに変換する.

関数 minput_event_to_key() は、frame のイベント event に対応する入力キーを返す。ここでの「対応」はウィンドウシステムに依存する。

m17n-X ライブラリの場合には、event は 構造体 XKeyEvent へのポインタであり、次のように処理される。

まず、関数 XKeysymToString によって、event の keysym 名を取得し、次いで以下の変更を加える。

名前が "a" .. "z" のいずれかであって event に Shift モディファイアがあれば、名前はそれぞれ "A" .. "Z" に変換され、Shift モディファイアは取り除かれる。

名前が1バイト長で event に Control モディファイアがあれば、名前と 0x1F とをビット単位で and 演算し、Control モディファイアは取り除かれる。

それでも event にまだモディファイアがあれば、名前の前にそれぞれ "S-" (Shift), "C-" (Control), "M-" (Meta), "A-" (Alt), , "G-" (AltGr), "s-" (Super), "H-" (Hyper)がこの順番で付く。

たとえば、keysym 名が "a" でイベントが Shift, Meta, and Hyper モディファイアを持てば、得られる名前は "M-H-A" である。

最後にその名前を持つシンボルを返す。

変数詳解

◆ minput_gui_driver

MInputDriver minput_gui_driver

ウィンドウシステムの内部入力メソッド用入力ドライバ.

入力ドライバ minput_gui_driver は、ウィンドウシステム上で用いられる入力メソッド用ドライバである。

このドライバは、関数 minput_set_spot() によって設定された入力スポットに preedit テキスト用のサブウィンドウと status テキスト用のサブウィンドウを作り、それぞれを表示する。

マクロ M17N_INIT() は変数 minput_driver をこのドライバへのポインタに設定し、全ての内部入力メソッドがこのドライバを使うようにする。

したがって、minput_driver がデフォルト値のままであれば、minput_ で始まる名前を持つ関数の引数のうちドライバ依存のものは以下のようになる。

関数 minput_open_im() の引数 arg は無視される。

関数 minput_create_ic() の引数 arg は構造体 MInputGUIArgIC へのポインタでなくてはならない。詳細については MInputGUIArgIC の説明を参照のこと。

関数 minput_filter() の引数 argMnil の場合、 argXEvent 型のオブジェクトへのポインタでなくてはならない。この場合 keyarg から生成される。

関数 minput_lookup() の引数 arg は関数 minput_filter() の引数 arg と同じでなくてはならない。

◆ Mxim

MSymbol Mxim

"xim"を名前として持つシンボル .

変数 Mxim は"xim"を名前として持つシンボルである。"xim" は入力メソッドドライバ minput_xim_driver の名前である。


m17n-lib Home