Main Page   Modules   Data Structures   Globals   Appendix  

入力メソッド (GUI)
[GUI API]

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

データ構造

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"を名前として持つシンボル .
MInputDriver minput_xim_driver
 XIM用入力ドライバ.

説明

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

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


関数

MSymbol minput_event_to_key MFrame frame,
void *  event
 

関数 minput_name_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 にまだ Shift, Control, Meta, Alt, Super, Hyper などのモディ ファイアがあれば、名前の前にそれぞれ"S-", "C-", "M-", "A-", "s-", "H-" が付く。

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

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


変数

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 と同じでなくてはならない。

MSymbol Mxim
 

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

MInputDriver minput_xim_driver
 

初期値:

  { xim_open_im, xim_close_im, xim_create_ic, xim_destroy_ic,
    xim_filter, xim_lookup, NULL }
ドライバ minput_xim_driverMxim を名前として持つ外部入力メソッ ド用であり、 XIM (X Input Methods) をバックグラウンドの入力エンジ ンとして使用する。

シンボル Mxim はこのドライバへのポインタを値とするプロパティ Minput_driver を持ち、LANGUAGE が Mnil で名前が Mxim である入力 メソッドはこのドライバを利用する。

したがって、それらの入力メソッドでは、minput_ で始まる名前を持つ関 数のドライバに依存する引数は次のようなものでなくてはならない。

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

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

関数 minput_filter() の引数 arg は構造体 XEvent へのポインタ でなくてはならない。引数 key は無視される。

関数 minput_lookup() の引数 arg は関数 function minput_filter() の引数 arg と同じものでなくてはならない。 引数 key は、無視され る。


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark mule-aist@m17n.org