しばらく前に書いて体裁を整えてから公開しようと思っていたのですが、その気力も無いので不完全とは思いますがそのまま公開します。間違い等ありましたら突っ込みお願いします。
Microsoft Keyboard Layout Creator
Microsoft Keyboard Layout Creator (MSKLC)は、マイクロソフトによって提供されている、Windowsで使用できる、デフォルトでは提供されていないキーボードレイアウトを作成するためのツールです。作成したキーボードレイアウトはWindowsにインストールして使用できます。
これを使用して、オリジナルのキーボードレイアウトを自作することができます。
なお、レイアウトを設定できるのは文字キーだけで、 Shift, Alt などの修飾キーおよび Enter などの文字以外のキーについては変更できません。
Download Microsoft Keyboard Layout Creator 1.4 from Official Microsoft Download Center
Shift同時押し、Alt+Ctrl(AltGr)同時押し、Ctrl同時押しについても設定できます。
通常時, Shift, Alt+Ctrl(AltGr), Alt+Ctrl(AltGr) + Shift, Ctrl, Ctrl + Shift ついて設定ができます。また、CapsLockのオンのときにShiftするかが各キー毎に設定できます(アルファベットは大文字にするが数字はそのままにするなどに使う)。
また、デッドキーなども設定できるようです。
Assignable なキーをクリックするとダイアログが表示され、キーを押したときに入力する文字列を設定することができます。
また、キーを右クリックで表示されるメニューから「Properties for key_name in all shift states」を選択するとシフト時やAltGrとの同時押しなどについても設定できるウィンドウが表示されます。
MSKLC自体はコマンドラインツールのGUIフロントエンドのような形であり、最終的にはキーボードのソースファイルをコマンドラインプログラムに渡してインストール可能なキーボードプログラムに変換しているようです。
TIPS
- 日本語キーボードだけに存在するキー(Backspaceの左隣のキー、右Shiftの左隣のキー)については、適切な設定ができないようです(少なくともGUIでは。設定する方法があるのかは分かりません)。
- 開発者向けツールという性質が強く、再インストールやアンインストール時に問題が発生する場合があるようです。キーボードレイアウトを更新する際など、上書きインストールをせず、一度インストール済みのレイアウトをアンインストールした後新しいレイアウトをインストールすることをおすすめします。特に、 Name や Description に変更を加えた場合、上書きインストールすると以前のレジストリがアンインストールしても消せなくなるらしく、 Name や Description が同じものがインストールできなくなったり正常にレイアウト名が表示されなかったりするようです。
- MSKLCでキーボードのプロパティ等を変更してもうまく反映されない場合がありました。そのような場合はキーボードのソースファイル(.klcファイル)をテキストエディタで直接編集すると良いようです。キーボードのPropertiesを変更した時は、一旦キーボードソースファイルをテキストエディタで開いて変更がすべて反映されているか確認した方が良いです(Description など、一番上と下の部分と2カ所設定されていたりするので)。
- キーボードのソースファイルを開いたとき、プロパティのNameがファイル名でオーバーライドされる様です。ファイル名(の最初8文字)をキーボードNameと同じにするか、出力前にPropertiesを確認した後に出力した方が良さそうです。
- DvorakキーボードでCtrl同時押し時だけQwertyになるといった様なキーボードを作成した場合、Firefox含むMozillaソフト等ではうまくCtrl同時押しが効かない場合がありました(特にコピペ Ctrl-C Ctrl-V ができないのがつらい)。
参考
In case you have a yen to extend your keyboard (or at least want a yen?)
Adding keys to your layout when you don't know what they are (aka Life with a 108-key keyboard layout)
MKLCとその導入
MSKLCでカスタマイズ1
MSKLCでカスタマイズ2
Microsoft Keyboard Layout Creator -- avoid editing gotchas - itconnect.info
Japanese Keyboard (Windows CE 5.0)
仮想キーコード表
仮想キーコードと特殊入力一覧 - キーボードシミュレータのヘルプ