XtSetKeyTranslator(3) KeySym を KeyCodes に変換する

Other Alias

XtTranslateKeycode, XtRegisterCaseConverter, XtConvertCase

書式

void XtSetKeyTranslator(display, proc)

    Display *display;

    XtKeyProc proc;

void XtTranslateKeycode(display, keycode, modifiers, modifiers_return, keysym_return)

    Display *display;

    KeyCode keycode;

    Modifiers modifiers;

    Modifiers *modifiers_return;

    KeySym *keysym_return;

void XtRegisterCaseConverter(display, proc, start, stop)

    Display *display;

    XtCaseProc proc;

    KeySym start;

    KeySym stop;

void XtConvertCase(display, keysym, lower_return, upper_return)

    Display *display;

    KeySym keysym;

    KeySym *lower_return;

    KeySym *upper_return;

引き数

display
ディスプレイを指定する。
keycode
トランスレートするキーコードを指定する。
keysym
変換するキーシンボルを指定する。
keysym_return
変換した結果のキーシンボルが返される。
lower_return
キーシンボルが小文字形式で返される。
upper_return
キーシンボルが大文字形式で返される。
modifiers
キーコードに対するモディファイアを指定する。
modifiers_return
キーシンボルを生成するために実際に使われたモディファイアを示す マスクが返される。
proc
キーのトランスレートや変換を行う手続きを指定する。
start
このコンバータが有効である最初のキーシンボルを指定する。
stop
このコンバータが有効である最後のキーシンボルを指定する。

説明

XtSetKeyTranslator は、指定した手続きを現在のキートランスレータとして設定する。 デフォルトのトランスレータは XtTranslateKey である。 これは、Shift モディファイアと Lock モディファイアを コアプロトコルで定義されている解釈で使う XtKeyProc である。 この手続きは、新しいトランスレータがデフォルトのキーコード-キーシンボル トランスレーションを得るためや、デフォルトのトランスレータを 再インストールするために与えられている。

関数 XtTranslateKeycode は、指定された引き数を現在登録されているキーコード-キーシンボル トランスレータに直接渡す。

XtRegisterCaseConverter は指定された文字ケースコンバータを登録する。 引き数 start と stop は、このコンバータが呼ばれるキーシンボルの範囲を与える (start と stop も範囲に含まれる)。 新しいコンバータは、その範囲において全ての古いコンバータを上書きする。 コンバータを取り除くインタフェースは存在しない。 この効果を得るには、変換を行わないコンバータを登録する必要がある。 新しいコンバータが登録されたとき、イントリンシクスは必要に応じて キーボードの状態を初期化しなおす。 デフォルトのコンバータはコアプロトコルで定義されている全ての キーシンボルに対する文字ケースの変換を行うことができる。

関数 XtConvertCase は適切なコンバータを呼び出し、その結果を返す。 ユーザが与えた XtKeyProc はこの関数を使う必要があるだろう。