このブログを検索

こぶりキー設定

元々、日本語キーボードと同等のコマンドをUSキーボードで実現させる為に必要な設定だったが、独自の機能を付け足して最高の使い心地にした。その後、日本語キーボードでも使えるように改めて日本語専用キーでも動作するように追加した。

説明するバージョン: こぶりキー設定 Ver. 3.3
(こぶりキー設定のバージョンは、設定ファイル最後行に書いてある。)
[最新版のダウンロード]

コマンドをカスタマイズする

Google日本語入力のプロパティでキー設定を変更する。

キー設定の選択→カスタムを選択→編集→編集→インポート…を選択→ダウンロードしたファイルをクリック。(再起動後に設定が反映される。)

MS-IME準拠の設定

デフォルトの設定ファイルの内容を、同じモード、同じコマンドが集まるようにソーティングした設定リストを示す。変更した行をcobli_keyの列で示す。cobli_key列のセルが空白の行は変更なし、セルが空白でない行は変更あり(又は削除)、keyの列が空白の行は追加されたキーを示す。

status、key、command に関する説明は、Google日本語入力の研究にある。

statuskeycobli_keycommand
CompositionBackspaceBackspace
CompositionCtrl BackspaceBackspace
CompositionCtrl hBackspace
CompositionShift BackspaceBackspace
CompositionCtrl zCancel
CompositionESCCancel
CompositionShift ESCCancel
CompositionCtrl EnterCommit
CompositionCtrl mCommit
CompositionEnterCommit
CompositionHenkanConvert
CompositionF14Convert
CompositionShift Space削除Convert
CompositionSpace削除Convert
CompositionCtrl pConvertToFullAlphanumeric
CompositionF9ConvertToFullAlphanumeric
CompositionShift MuhenkanCtrl TabConvertToFullAlphanumeric
CompositionCtrl iConvertToFullKatakana
CompositionF7ConvertToFullKatakana
CompositionShift HenkanConvertToFullKatakana
CompositionShift F14ConvertToFullKatakana
CompositionCtrl tConvertToHalfAlphanumeric
CompositionF10ConvertToHalfAlphanumeric
CompositionShift TabConvertToHalfAlphanumeric
CompositionCtrl HenkanConvertToHalfKatakana
CompositionCtrl F14ConvertToHalfKatakana
CompositionCtrl oConvertToHalfWidth
CompositionF8ConvertToHalfWidth
CompositionCtrl uConvertToHiragana
CompositionF6ConvertToHiragana
CompositionF2ConvertWithoutHistory
CompositionCtrl gDelete
CompositionDeleteDelete
CompositionHankaku/ZenkakuIMEOff
CompositionHiraganaIMEOff
CompositionF13IMEOff
CompositionKatakanaCtrl Hankaku/ZenkakuInputModeFullKatakana
CompositionCtrl HiraganaInputModeFullKatakana
CompositionCtrl F13InputModeFullKatakana
CompositionHiragana削除InputModeHiragana
CompositionCtrl Shift SpaceShift SpaceInsertFullSpace
CompositionCtrl SpaceSpaceInsertHalfSpace
CompositionCtrl kMoveCursorLeft
CompositionCtrl sMoveCursorLeft
CompositionLeftMoveCursorLeft
CompositionShift LeftMoveCursorLeft
CompositionCtrl dMoveCursorRight
CompositionCtrl lMoveCursorRight
CompositionRightMoveCursorRight
CompositionShift RightMoveCursorRight
CompositionCtrl aMoveCursorToBeginning
CompositionCtrl eMoveCursorToBeginning
CompositionCtrl LeftMoveCursorToBeginning
CompositionCtrl UpMoveCursorToBeginning
CompositionHomeMoveCursorToBeginning
CompositionCtrl DownMoveCursorToEnd
CompositionCtrl fMoveCursorToEnd
CompositionCtrl n削除MoveCursorToEnd
CompositionCtrl RightMoveCursorToEnd
CompositionCtrl xMoveCursorToEnd
CompositionDown削除MoveCursorToEnd
CompositionEndMoveCursorToEnd
CompositionTabPredictAndConvert
CompositionMuhenkan削除SwitchKanaType
CompositionEisuShift Hankaku/ZenkakuToggleAlphanumericMode
CompositionKatakanaToggleAlphanumericMode
CompositionShift F13ToggleAlphanumericMode
ConversionBackspaceCancel
ConversionCtrl BackspaceCancel
ConversionCtrl gCancel
ConversionCtrl hCancel
ConversionCtrl UpCancel
ConversionCtrl zCancel
ConversionDeleteCancel
ConversionESCCancel
ConversionShift BackspaceCancel
ConversionShift ESCCancel
ConversionShift UpCancel
ConversionCtrl EnterCommit
ConversionCtrl mCommit
ConversionEnterCommit
ConversionCtrl DownCommitOnlyFirstSegment
ConversionCtrl nCommitOnlyFirstSegment
ConversionShift DownCommitOnlyFirstSegment
ConversionCtrl xConvertNext
ConversionDownConvertNext
ConversionHenkanConvertNext
ConversionF14ConvertNext
ConversionSpace削除ConvertNext
ConversionPageDownConvertNextPage
ConversionShift Down削除ConvertNextPage
ConversionCtrl eConvertPrev
ConversionCtrl Up削除ConvertPrev
ConversionShift Henkan削除ConvertPrev
ConversionShift Space削除ConvertPrev
ConversionShift Tab削除ConvertPrev
ConversionUpConvertPrev
ConversionPageUpConvertPrevPage
ConversionShift Up削除ConvertPrevPage
ConversionCtrl pConvertToFullAlphanumeric
ConversionF9ConvertToFullAlphanumeric
ConversionShift MuhenkanCtrl TabConvertToFullAlphanumeric
ConversionCtrl iConvertToFullKatakana
ConversionF7ConvertToFullKatakana
ConversionShift HenkanConvertToFullKatakana
ConversionShift F14ConvertToFullKatakana
ConversionCtrl tConvertToHalfAlphanumeric
ConversionF10ConvertToHalfAlphanumeric
ConversionShift TabConvertToHalfAlphanumeric
ConversionCtrl HenkanConvertToHalfKatakana
ConversionCtrl F14ConvertToHalfKatakana
ConversionCtrl oConvertToHalfWidth
ConversionF8ConvertToHalfWidth
ConversionCtrl uConvertToHiragana
ConversionF6ConvertToHiragana
ConversionHankaku/ZenkakuIMEOff
ConversionHiraganaIMEOff
ConversionF13IMEOff
ConversionKatakanaCtrl Hankaku/ZenkakuInputModeFullKatakana
ConversionCtrl HiraganaInputModeFullKatakana
ConversionCtrl F13InputModeFullKatakana
ConversionHiragana削除InputModeHiragana
ConversionCtrl Shift SpaceShift SpaceInsertFullSpace
ConversionCtrl SpaceSpaceInsertHalfSpace
ConversionTabPredictAndConvert
ConversionCtrl aSegmentFocusFirst
ConversionCtrl LeftSegmentFocusFirst
ConversionHomeSegmentFocusFirst
ConversionCtrl fSegmentFocusLast
ConversionCtrl RightSegmentFocusLast
ConversionEndSegmentFocusLast
ConversionCtrl sSegmentFocusLeft
ConversionLeftSegmentFocusLeft
ConversionCtrl dSegmentFocusRight
ConversionRightSegmentFocusRight
ConversionCtrl lSegmentWidthExpand
ConversionShift RightSegmentWidthExpand
ConversionCtrl kSegmentWidthShrink
ConversionShift LeftSegmentWidthShrink
ConversionMuhenkan削除SwitchKanaType
ConversionEisuShift Hankaku/ZenkakuToggleAlphanumericMode
ConversionKatakanaToggleAlphanumericMode
ConversionShift F13ToggleAlphanumericMode
DirectInputEisu削除IMEOn
DirectInputF13IMEOn
DirectInputHankaku/ZenkakuIMEOn
DirectInputHiragana削除IMEOn
DirectInputKatakana削除IMEOn
DirectInputHenkanReconvert
DirectInputF14Reconvert
PrecompositionHankaku/ZenkakuIMEOff
PrecompositionHiraganaIMEOff
PrecompositionF13IMEOff
PrecompositionKatakanaCtrl Hankaku/ZenkakuInputModeFullKatakana
PrecompositionCtrl HiraganaInputModeFullKatakana
PrecompositionCtrl F13InputModeFullKatakana
PrecompositionHiragana削除InputModeHiragana
PrecompositionMuhenkan削除InputModeSwitchKanaType
PrecompositionShift Space削除InsertAlternateSpace
PrecompositionCtrl Shift SpaceShift SpaceInsertFullSpace
PrecompositionSpace削除InsertSpace
PrecompositionSpaceInsertHalfSpace
PrecompositionHenkanReconvert
PrecompositionF14Reconvert
PrecompositionBackspaceRevert
PrecompositionEisuShift Hankaku/ZenkakuToggleAlphanumericMode
PrecompositionKatakanaToggleAlphanumericMode
PrecompositionShift F13ToggleAlphanumericMode
PrecompositionShift Muhenkan削除ToggleAlphanumericMode
PrecompositionCtrl BackspaceUndo
PredictionCtrl DeleteDeleteSelectedCandidate
SuggestionShift EnterCommitFirstSuggestion
SuggestionDownPredictAndConvert

変更されたキーの対応は以下のようになっている。(USキーボード)
  • Hankaku/Zenkaku → F13
  • Eisu → Shift F13
  • Henkan → F14
  • Muhenkan → 削除
  • Kanakana → Ctrl F13
  • Hiragana → 削除
  • Shift Muhenkan → 削除 又は Ctrl Tab
HiraganaキーはInputModeHiraganaというコマンドに唯一対応したキーだが、ToggleAlphanumericModeというコマンドでも やはりひらがな入力モードに戻る事を発見したので削除する事にした。

Shift Muhenkanキーは、同じコマンドを持つ別のキーが必ず設定されているので削除する事にした。

この他に、Space キーは空白の入力のみに利用する(変換には利用しない)ように設定し、Conversionモード中の Shift Down を最初の分節のみを確定に、 Ctrl Up と Shift Up をキャンセルに割当て、MS-IMEとの比較で余分なキー(Compositionモード中の Ctrl n と Down)を削除した。

また、カタカナ及び英数字への変換をやりやすくする為のキーの追加をし、
  • Shift F14 に ConvertToFullKatakana
  • Ctrl F14 に ConvertToHalfKatakana
  • Shift Tab に ConvertToHalfAlphanumeric
  • Ctrl Tab に ConvertToFullAlphanumeric
を割り当てた。これらのキーでMuhenkanキーの役目を果たすのでMuhenkanキーは削除した。

日本語キーボードにも対応

スキャンコードをレジストリで変更することで、日本語キーボードでもUSキーボードと同じ様に使える。しかし、Hankaku/Zenkaku を F13 に、Henkan を F14 に書き換えてしまうと、(こぶりキーに対応するようにレジストリを書き換える前は普通に使えたのに)他の日本語IMEはキーマップのカスタマイズ無しでは使えなくなるという問題が生じる。

よって、日本語キーボードについては、日本語ドライバが使える(Hankaku/Zenkaku と Henkan を仮想キーコードとして出力できる)のだから、F13 と F14 と同様にHankaku/Zenkakuも使えるべきだ。だから、USキーボード と 日本語キーボード に共通して使えるキーマップとして、改めて F13 には Hankaku/Zenkaku も、F14 には Henkan も追加した。

その後、レジストリの書き換え無しでもそれなりに使えるように、ひらがなカタカナ キーでもIME On/Offに使えるようにした。(F13とCntrl + F13の時には Hiragana とCntrl + Hiragana、Shift + F13の時には Katakana を追加した。)
これで、日本語キーボードで利用していないキーは Eisu と Muhenkan のみになった。レジストリを書き換えて使う場合、Eisu は[変換]キー として利用する予定なので、混乱を避けて機能を割り当てない。Muhenkan は Spaceキー として利用する予定なので、キーマップで Space を割り当てる事も出来るのだが、IME Off にした時に使えないのも混乱の元になるから止めておく。