コントロールパネルから101キーボードに変更しても変更がうまく反映されない場合があるようだ.
その場合にはレジストリエディタ(regedit.exe)で以下のキーをUSキーボード用の設定に書き換える.[備考 この方法は Windows 8.1 / Surface Pro 3 でも有効.というか,Windows 8 になって“設定”→“PC設定”→“時刻と言語”から変更できると書いてあるのだけど,実際にやってみると,やはり正しく変更できず,レジストリの直接書き換えが必要になる.]
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/i8042prt/Parameters
| 書き換えるキー | 日本語キーボード | USキーボード |
|---|---|---|
LayerDriver JPN |
kbd106.dll |
kbd101.dll |
OverrideKeyBoardIdentifier |
PCAT_106KEY |
PCAT_101KEY |
以下のレジストリ キーを削除すれば初期化される.
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Keyboard Layout/Scancode Map
Keyboard Layoutの次に複数形のKeyboard Layoutsがあるので間違わないように気をつける.
| キー | スキャン コード |
|---|---|
| \ | 2B |
| ` | 29 |
| Control(左) | 1D |
| Control(右) | E0-1D |
| Caps | 3A |
| Alt(左) | 38 |
| Alt(右) | E0-38 |
| ESC | 01 |
| BS | 0E |
| DEL | E0-53 |
| Ins | E0-52 |
| Windows(左) | E0-5B |
| Windows(右) | E0-5C |
| Application | E0-5D |
| ◇(左) | 7B |
| ◇(右) | 79 |
| 無効化する | 00 |
Light Ext. modeは常にオンにしておかないといけないと思う. Light Ext.モードになっていないと“◇”キーがまったく機能しない (押してもスキャンコードを返してくれないのでマッピングのかえようがない). これをオフにしていると何か意味があるOSも存在してるのかな…例えばSolarisとか. あるいは単に邪魔なときにオフにするのかな.
CtrlやAltみたいに右・左にそれぞれ1個ずつついているキーについては, 実は右と左を違うキーとして認識することもできる. 実際,ごくまれにだけど,右Ctrlと左Ctrlを違うキーと認識するソフトが存在している (一番身近な例はMS-IME).
| # | 値 | 説明 |
|---|---|---|
0000 0000 | ヘッダー(バージョン番号).すべてゼロにしておく. | |
0000 0000 | ヘッダー(フラグ).すべてゼロにしておく. | |
0800 0000 | エントリー数.ここでは以下の8エントリー(終端のNULLもカウントする). | |
| 1 | 3800 5CE0 | Windows左(E05C)→Alt左(0038) |
| 2 | 1D00 3800 | Alt左(0038)→Control左(001D) |
| 3 | 1DE0 38E0 | Alt右(E038)→Control右(E01D) |
| 4 | 3A00 1D00 | Control左(001D)→Caps(003A) |
| 5 | 0E00 2B00 | \(002B)→BS(000E) |
| 6 | 2B00 0E00 | BS(000E)→\(002B) |
| 7 | 0000 52E0 | Ins(E052)→無効(0000) |
| 8 | 0000 0000 | NULLターミネーター. |
英語キーボードでIMEを切り替えるには[Alt]+[~](tilda)を押せばよい. ちなみに日本語キーボードの設定になっていても このキー組み合わせでIMEを切り替えることができるので,普段から[半角/全角]ではなく, [Alt]+[~]を使っておくのがいいのかもしれない.
また,Happy Hacking Keyboardの英語版を日本語キーボード配列で使っている場合, 単に[~]キーを押すだけでIMEのON/OFFができてしまったりする (このキーが[全角/半角]キーと誤解されているため).
キーボード ドライバーを入れ替えるかわりにAutoHotkeyを使う手もある.レジストリを書き換えるより簡単で,他人にマシンを操作してもらう場合などはAutoHotkeyをオフにすれば日本語キーボードにもどるため,こちらの方が便利な場合も多い…って,USキーボードに変えるシール貼ってたらダメじゃないか (^_^;) あと,絶対条件としてAutoHotkeyがインストールできないといけないし.