キーを入れ替える
Windows 2000/XP/Vista/7
Windows2000/XPではレジストリを少し変更するだけでキーの入れ替えができます。常駐ソフトなどは不要。レジストリ変更後、Windowsを再起動してから有効です。
このTipsを使っていると「Windows XP 用セキュリティ更新プログラム (KB2686509)」の更新に失敗します。その場合配置どこのレジストリキーを削除して、更新後に再びレジストリへ登録し直してください。
左CtrlキーとCaps Lockキーを入れ替える
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard LayoutにScancode Mapを記述することでキーを入れ替えます。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,\ 00,00,00,00
最初の4bytesはバージョン、次の4bytesはフラグ、その次の4bytesがキーを入れ替える個数です。この入れ替えの個数にはターミネータ(00で指定される最後の4bytes)を含みます。あとは入れ替えたいキーのスキャンコード4bytesを必要なだけ指定していきます。上の例では、入れ替えたいキーとして左Ctrlキー(1d)とCaps Lockキー(3a)を指定しました。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,05,00,00,00,1d,00,3a,00,3a,00,1d,00,\ 01,00,29,00,29,00,01,00,00,00,00,00
こちらは左CtrlキーとCaps Lockキーに加え、Escキー(01)と半角/全角キー(29)も入れ替えるようにしてみたものです。
上の2つはzip書庫ファイルで用意しました。必要な方は、解凍して出てきたレジストリファイルをダブルクリックし、レジストリに登録してください。登録後は再起動をお忘れなく。
参考資料
キーを無効にしたい場合には「マイクロソフト サポート技術情報 - 181348」が参考になります。
Scancode Mapは「Key Support, Keyboard Scan Codes, and Windows」にある英文ドキュメント「Keyboard Scan Code Specification」が詳しいでしょう。英文を読まなくても表の部分を参照すれば大丈夫だと思います。