AquaSKK (4.2) | 2013-05-12 09:55 |
AquaSKK BETA (4.2 RC6) | 2013-04-21 14:23 |
RemoveAquaSKK (0.2) | 2006-04-27 00:05 |
AquaSKK では全てのキー入力をイベントにマッピングして処理します。このマッピングを定義するのが keymap.conf です。もしカスタマイズが必要になった場合には
/Library/Input Methods/AquaSKK.app/Contents/Resources/keymap.conf
を
~/Library/Application Support/AquaSKK/
にコピーしてから該当箇所を編集して下さい。メニューから「設定ファイルの再読み込み」を選択するとこで、変更内容を反映することができます。
keymap.conf では「行」が設定の単位となります。各行には「識別子」と「キー割り当て」のペアを定義します。先頭が "#" で始まる行と空行は無視されます。識別子とキー割り当ての間には、一個以上の空白が必要です。
識別子 キー割り当て
実際の keymap.conf の一部は以下のようになっています。
# ====================================================================== # event section # ====================================================================== SKK_JMODE ctrl::j SKK_ENTER group::hex::0x03,0x0a,0x0d||ctrl::m SKK_CANCEL ctrl::g||hex::0x1b SKK_BACKSPACE hex::0x08||ctrl::h SKK_DELETE hex::0x7f||ctrl::d SKK_TAB hex::0x09||ctrl::i SKK_PASTE ctrl::y SKK_LEFT hex::0x1c||ctrl::b SKK_RIGHT hex::0x1d||ctrl::f SKK_UP hex::0x1e||ctrl::a SKK_DOWN hex::0x1f||ctrl::e SKK_PING ctrl::l # ====================================================================== # attribute section(for SKK_CHAR) # ====================================================================== ToggleKana q ToggleJisx0201Kana ctrl::q SwitchToAscii l SwitchToJisx0208Latin L
識別子にはイベントと属性、ハンドリングオプションの三種類がありますが、詳しくは後程説明します。
キー割り当ては「0 個以上のキーラベル + キー」という形式になっています。キーラベルの一覧は以下の通り。
キーラベルは自由な順番で組み合わせることが可能です。例えば、Ctrl-a、Ctrl-b、Ctrl-c を表現するなら、以下の 2 行のどちらも使うことができます。
ctrl::hex::group::0x61-0x63
group::ctrl::a-c
組み合わせの例外として、hex:: と keycode:: を混在させることはできません。つまり、hex::keycode::0x88 は NG となります。
また、キー割り当ては間に "||" を挟むことで好きなだけ繋げることができます。例えば、hex::0x08||ctrl::i とすることで、TAB と Ctrl-I を表現することができます。
イベントの種類とデフォルトのマッピングは以下のようになっています。
なお、複数のイベントに同一のキーを割り当てることはできません。例えば、SKK_LEFT と SKK_RIGHT に同じキーが割り当てられた場合の挙動は未定義です。
SKK_CHAR イベントのキーには、複数の SKK_CHAR 属性が割り当てられることもあります。これらの属性は、入力時の状況に応じて適切に評価されます。
極めて特殊な状況に対応するために用意されています。不適切な設定を行うと正しく動作しない可能性がありますので、十分に注意して下さい。
何か思い出したら書きます。