/usr/lib/mle/locale/csname/keybind
keybind ファイルは libmle のための キーバインド定義情報を記述するファイルです。ファイルは一般のテキストファイル形式になっており、通常のテキストエディタで編集可能です。
行の最初に `#' があるとその行は注釈行として解釈します。
各行がひとつひとつの 機能定義レコードを表します。1 行が長くなる場合、行末にバックスラッシュ(\)を置くと次行に継続することができます。
機能定義レコード は、入力キーと機能定義の 2 つのフィールドからなり、それらの間は空白文字またはタブ文字によって区切られます。
このフィールドは行の先頭に置いてください。
<入力キー> は、下記の (A) から (G) で示されるものを複数個 (空白文字やタブで 区切らずに) 並べたものとして指定します (ただし、これら (A) から (G) のうちどれを受け付けるかは、変換サーバーごとに決められます)。
JIS-X0201 ローマ字用図形文字集合 (英数字・特殊文字) のうち、下記に示すもの (\、#、+、^、(、) の 6 種類の文字は、「(C) エスケープ文字」として指定する)
0 1 2 3 4 5 6 7 8 9 A B C ... Z a b c ... z ! " $ % & ' * , - . / * ; < = > ? @ [ ] _ ` { | } ~
JIS-X0201 カタカナ用図形文字集合 (半角カタカナ)
ファンクションキー \<KEY_BREAK> 以下のキーの意味は terminfo(4) を参照してください。
以下のファンクションキーの定義は mle(1) からは使用できません。
キーボード上部のファンクションキー
キーボード下部のファンクションキー
キーボード左部のファンクションキー
キーボード右部のファンクションキー
日本語 EUC コードセット 1 JIS-X0208-1990 で規定された図形文字集合の 13 区にベンダー定義文字 (この場合は、特殊記号)を割り当てた図形文字集合
入力キー属性 + 「英数字・特殊文字」 キー属性は、下記の「修飾子」を小かっこで囲ったものを「英数 字・特殊文字」の前に書きます。複数のキー属性を同時に指定する場合は、正符号(+)で区切って書きます。
shift lock control mod1 mod2 mod3 mod4 mod5
(<キー属性>+ ... +<キー属性>)<英数字・特殊文字>
たとえば、SHIFT KEYとCONTROL KEYと同時に 'A' を押した場合は次のようになります。
(shift+control)A
制御コード入力属性値のうちとくに control については、下記の 32 文字 に「コントロール修飾子」を付加したものに限り、「アクサンシルコンフレックス (^)」を前に付けると替わりになります。
@ a b c d ... x y z [ \ ] ^ _
^@ (control)@ ‸A (control)a ‸Z (control)z ‸[ (control)[ (Escape) ‸\\ (control)\\ ‸] (control)] ‸^ (control)\^ ‸_ (control)_ |
ある入力キーに対する機能定義は、いくつかの「リージョンごとの機能定義」を セミコロン (;) で区切って並べたものです。
<リージョン-1 機能定義> ; ..... ; <リージョン-n 機能定義>
あるリージョンに対する「リージョン毎の機能定義」の一般形を示します。
<リージョン指定> { <状態指定> : <機能指定> }
"{" と "}" の中に書かれる「<状態指定> と <機能指定>」の組は、セミコロン (;) で区切って複数個書くことができます。
キーワード | 指定リージョン |
---|---|
INTERM | 変換 リージョン |
SELECT | 選択 リージョン |
MISC | 補助リージョン |
* | 上記のいずれかで指定されていないすべてのリージョン |
これらは最初の一文字だけで判断されるので、それぞれ 'I'、'S'、'M' と略記できます。
補助 (MISC) リージョンの「文字入力フィールド」と「項目選択フィールド」 に関しては、それぞれ「変換リージョン」および「選択リージョン」に準じた 扱いをします。それらを指定する場合には、M(ISC) の後にスラッシュ (/) に 続けてそれぞれ 'I'、'S' を書きます。
キーワード | 指定リージョン (フィールド) |
---|---|
M/I | 補助リージョン (文字入力) |
M/S | 補助リージョン (項目選択) |
複数のリージョンに対して同じ機能を定義する場合、<リージョン指定> として複数のリージョン (を示すキーワード) を コンマ (,) で区切って並べて書くことができます。
S,M/S { .. <状態指定>:<機能指定> .. }
<状態指定>は、下記に示すキーワードを用いて表します。キーワードも先頭の 1 文字で識別されるため、CONV のかわりに C と略記できます。複数の「状態」に対して同じ「機能」を割り当てる場合には、それぞれをコンマ (,) で区切って書くことができます。
キーワード | リージョン指定 | 状態 |
---|---|---|
I | I, S, M/I, M/S | CS_STATE_INI |
E | I, M/I | CS_STATE_EDIT |
C | I, M/I | CS_STATE_CONV |
C | S, M/S | CS_STATE_CHOICE |
K | I, S, M/I, M/S | CS_STATE_KAKUTEI |
B | I, S, M/I, M/S | CS_STATE_BUSY |
* | I, S, M/I, M/S | 上記いずれでも指定されない状態 |