このブログを検索

2016年6月17日金曜日

日本語キーの割り付け

Google日本語入力の私流の設定について書く。

MS-IME準拠の設定ファイルから日本語キーに関連する行だけを抜き出して一覧にしたものを示す。キーの種類は全部で6種類、英数(Eisu)、半角/全角(Hankaku/Zenkaku)、変換(Henkan)、無変換(Muhenkan)、ひらがな(Hiragana)、カタカナ(Katakana)、となっているが、これはキーの物理的な数ではなく、キーボードドライバの出力コードの種類である。

例えば、CapsLockキーのコードは英語キーボードも日本語キーボードも同じコードがキーボードドライバに入力される。英語キーボードドライバは同じコードを出力するが、日本語キーボードドライバはEisuのコードを出力し、Shiftキーを押しながらCapsLockを押すとCapsLockのコードを出力する、という違いが出てくる。尚、前述のリソースを変更して変えるのはキーボードドライバに入力するコードの方である。

これら、日本語キーをF13とF14でどう代用するのかは右端の列で示した。

statuskeycommandalternative
CompositionEisuToggleAlphanumericModeShift F13
CompositionHankaku/ZenkakuIMEOffF13
CompositionHiraganaInputModeHiragana削除
CompositionKatakanaInputModeFullKatakana削除
CompositionHenkanConvertF14
CompositionMuhenkanSwitchKanaTypeCtrl F14
CompositionShift MuhenkanConvertToFullAlphanumericCtrl Shift F14
ConversionEisuToggleAlphanumericModeShift F13
ConversionHankaku/ZenkakuIMEOffF13
ConversionHiraganaInputModeHiragana削除
ConversionKatakanaInputModeFullKatakana削除
ConversionHenkanConvertNextF14
ConversionMuhenkanSwitchKanaTypeCtrl F14
ConversionShift HenkanConvertPrevShift F14
ConversionShift MuhenkanConvertToFullAlphanumericCtrl Shift F14
DirectInputEisuIMEOn削除
DirectInputHankaku/ZenkakuIMEOn削除
DirectInputHenkanReconvertF14
DirectInputHiraganaIMEOn削除
DirectInputKatakanaIMEOn削除
PrecompositionEisuToggleAlphanumericModeShift F13
PrecompositionHankaku/ZenkakuIMEOffF13
PrecompositionHiraganaInputModeHiragana削除
PrecompositionKatakanaInputModeFullKatakana削除
PrecompositionHenkanReconvertF14
PrecompositionMuhenkanInputModeSwitchKanaTypeCtrl F14
PrecompositionShift MuhenkanToggleAlphanumericModeCtrl Shift F14

DirectInputモードに於けるIMEOnのコマンドの行が全て削除となっているのは、この設定ファイルで既にF13が割当てられ、重複した設定になる事を避ける為である。

日本語キーボードのキーと F13を右Alt、F14をCapsLockに割り付けてある私のキーボードのキー の対応で言えば上記の表の割当てはこうなっている。
  • 半角/全角キー →右Altキー
  • 英数キー →Shift 右Altキー
  • 変換キー →CapsLockキー
  • 無変換キー →Ctrl CapsLockキー
この割当てで HiraganaとKatakana (この2つは日本語キーボード上は1個のキー)のInputModeコマンドの割当ては出来なかった為、その設定行は削除した。それ以外はカバーすることが出来た。

HiraganaとKatakanaはどちらも入力モードの設定に使われているが、ひらがな入力に固定した使い方で困る事はないから必要性は薄い。変換でもカタカナにしてくれるし、入力後にカナに変えるキーもあるのだから。どうしてもカタカナ入力モードにしたければタスクバーの中にあるIMEのアイコンを右クリックして「全角カタカナ」を選択すれば出来るし。

英数入力モードとIME Off

右Altキーに割り当てた2つのコマンドは、どちらも英数入力とかな入力を切り替えてくれる。かな入力の状態から 右Alt では直接入力(IME Off)になり、Shift 右Alt とすれば英数入力モードである。直接入力に較べて確定という動作が余計で邪魔くさいと思っていたけど、IMEの力で予測変換してくれる点は便利だから、上手く使い分けたい。この2つが同じキーに割り付けられ、Shiftの有無で使い分けられる、というのがお気に入りである。

2つの変換キー

CapsLockキーに変換を割当て、Tabキーには予測変換が割当てられているから、この似たコマンドのキーが上下に並ぶ事になった。そして、Shift CapsLock も Shift Tab もどちらも「前候補を選択」になっている。これもお気に入りのキー割当てである。

Defaultでは、変換キーはSpaceにも割当てられているから、英語キーボードではIMEのOn/Offだけを何かのキーに割当てただけで使っている人も多いけど(かつての私もそう)、敢えて変換キーは独立させた。

この変換キーを独立して持たせた目的はSpaceキーから変換の機能を奪うこと。日本語に分かち書きを積極的に取り入れる第一歩として、日本語入力でSpaceを入力し易くしたいから、Spaceキーを押せば必ず半角Spaceが入力され、Shift Spaceキーで必ず全角Spaceが入力されるようにする。

MS-IME準拠の設定ファイルから Space に関連する行だけを抜き出して一覧にしたものを示す。そのkey或いはcommandを変更して上記目的にあった設定ファイルを作る。削除となっている行は変換に関連したものか重複するものである。

statuskeycommandre keyre command
CompositionCtrl Shift SpaceInsertFullSpaceShift Space
CompositionCtrl SpaceInsertHalfSpaceSpace
CompositionShift SpaceConvert削除削除
CompositionSpaceConvert削除削除
ConversionCtrl Shift SpaceInsertFullSpaceShift Space
ConversionCtrl SpaceInsertHalfSpaceSpace
ConversionShift SpaceConvertPrev削除削除
ConversionSpaceConvertNext削除削除
PrecompositionCtrl Shift SpaceInsertFullSpace削除削除
PrecompositionShift SpaceInsertAlternateSpaceInsertFullSpace
PrecompositionSpaceInsertSpaceInsertHalfSpace

これで私流Google日本語入力キー設定ファイルのMS_IME準拠からの変更内容は全て記述した事になる。全てをまとめた[キーマップ設定ファイル]を公開する。