W.I.S. Laboratory
menu-bar

レジストリ


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

UNIXのキーボード(というかSunのType3、Type4など)やMacの日本語JISキーボードを使い慣れている人にとって、またX68000やMSXに慣れ親しんできた人にとっては、WindowsマシンのCtrlキーやESCキーの位置は非常に小指の届きにくいところにあり使いにくいと感じられる。Tabのすぐ下にCtrlキー、そしてTabのすぐ上にESCキーというのがやはり理想的。NT系のWindowsではレジストリのKeyboard Layout内にScancode Mapという値を作ることによってこれらのキーバインドを変更できるようになっている。
Windows 10 でも変更可能。
※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) [OK]をクリックする
08) レジストリエディタを終了する
09) 再起動する

以下、数値の解説。

※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バイトの物理キーに割り当てられる(左Ctrlとして機能 ← Capslockキー)
3a 00 1d 00 ; 下位2バイトの機能が上位2バイトの物理キーに割り当てられる(Capslockとして機能 ← 左Ctrlキー)
01 00 29 00 ; 下位2バイトの機能が上位2バイトの物理キーに割り当てられる(ESCとして機能 ← 半角・全角キー)
29 00 01 00 ; 下位2バイトの機能が上位2バイトの物理キーに割り当てられる(半角・全角として機能 ← ESCキー)
00 00 00 00 ; ターミネート

キーコードは以下の通り。(エンディアンに注意)

左Ctrl:00 1d
CapsLock:00 3a
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
Delete:e0 53
Home:e0 47
End:e0 4f
PageUp:e0 49
PageDown:e0 51
左Windows:e0 5b
右Windows:e0 5c
Application:e0 5d
ScrollLock:00 46
PrintScreen:E0 37
Pause:e1 1d 45 e1 9d c5(6バイトある特殊なスキャンコードなので書き換え不可)
Ctrl+Pause:e0 46(実CtrlとPauseを同時押しした時のスキャンコードであり、Ctrlに割り当てたCapsとPause同時押しでは認識できない)

※ちなみに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

[ 戻る ]
saluteweb