Windows 2000 / XP / Vista / 7


CapsLockキーとCtrlキーを入れ替え、さらに半角・全角キーとESCキーを入れ替える



UNIXのUS101キーボードやMacの日本語JISキーボードを使い慣れている人にとって、またX68000やMSXに慣れ親しんできた人にとっては、WindowsマシンのCtrlキーやESCキーの位置は非常に小指の届きにくいところにあり使いにくいと感じられる。Tabのすぐ下にCtrlキー、そしてTabのすぐ上にESCキーというのがやはり理想的。NT系のWindowsではレジストリのKeyboard Layout内にScancode Mapという値を作ることによってこれらのキーバインドを変更できるようになっている。
Windows 7 でも変更可能。
※Administrator権限で行う必要があります。

01) [スタート]ボタンをクリック
02) [ファイル名を指定して実行]をクリック
03) [regedit]と打ち込み、エンター
04) [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]を開く
05) [編集]→[新規]→[バイナリ値]とクリックし、値の名前を「Scancode Map」にする
06) Scancode Mapを右クリック→[バイナリデータの編集]をクリックし、16進で以下の値を入力する

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

07) レジストリエディタを終了する
08) 再起動する


以下、数値の解説。
※Windowsは32ビットOSなので、数値は4バイトずつ。
※intelのCPUはリトルエンディアンなので、上位バイトと下位バイトを入れ替えて書き込む。

00 00 00 00 ; バージョン
00 00 00 00 ; フラグ
05 00 00 00 ; エントリ数(割り当てを変更するキーの数+1。最後のターミネートも1つと数える)
1d 00 3a 00 ; 上位2バイトの機能を→下位2バイトのキーに割り当てる(Capslock → 左Ctrl)
3a 00 1d 00 ; 上位2バイトの機能を→下位2バイトのキーに割り当てる(左Ctrl → Capslock)
01 00 29 00 ; 上位2バイトの機能を→下位2バイトのキーに割り当てる(ESC → 半角・全角)
29 00 01 00 ; 上位2バイトの機能を→下位2バイトのキーに割り当てる(半角・全角 → ESC)
00 00 00 00 ; ターミネート

キーコードは以下の通り。
左Ctrl:00 3a
CapsLock:00 1d
ESC:00 01
半角・全角:00 29

参考までにその他のキーコード。
TAB:00 0f
左Shift:00 2a
右Shift:00 36
左Alt:00 38
右Alt:e0 38
左Ctrl:00 1d
右Ctrl:e0 1f
PrintScreen:e0 37
カーソル↑:e0 48
カーソル↓:e0 50
カーソル→:e0 4d
カーソル←:e0 4b
Insert:e0 52
Delete:e0 53
Home:e0 47
End:e0 4f
PageUp:e0 49
PageDown:e0 51
左Windows:e0 5b
右Windows:e0 5c
Application:e0 5d
Pause:00 45
ScrollLock:00 46

※ちなみにESCと半角・全角を入れ替え、かつCapsLockをCtrlに割り当てるが左Ctrlはそのままの機能にする(CapsLockなんて要らないという人向け)には、以下のデータを入力すれば可能。

00 00 00 00
00 00 00 00
04 00 00 00
1d 00 3a 00
01 00 29 00
29 00 01 00
00 00 00 00




[ 戻る ]