どっかのWikiに乗っている内容のほぼコピーです.Wikiでもいいのですがこっちの方が見る人多いのかな?と思いまして.

Windowsで日本語キーボードを使っていて,ふとした瞬間に英語キーボードを使う機会が訪れたときを思い描いてほしい.日本語キーボードを外して,英語キーボードを取り付ける.打ってみると・・・・・・なんと!!英語キーボードなのに日本語配列のままではありませんか!

ということで,Windowsはインストール時のキーボードレイアウトにとてもこだわりがあるようです.で,これを直すにはレジストリをいじってやる必要があります.もちろん自己責任で.

  1. レジストリエディタを起動する.「ファイル名を指定して実行」で以下のコマンドを入力.
    regedit
  2. 次の場所へ移動する.
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/i8042prt/Parameters
  3. 次のキーを変更する.
    LayerDriver JPNをkbd106.dllからkbd101.dllへ
    OverrideKeyboardIdentifierをPCAT_106KEYからPCAT_101KEYへ
    OverrideKeyboardSubtypeを2から0へ
  4. 再起動する.

ちなみに,私が最初にキーボードレイアウトを変更したときは最後のOverrideKeyboardSubtypeを変更し忘れていてUSBキーボードは英語配列になるけど,PS/2キーボードは日本語配列のままという奇妙な現象が起こった.

なお,その現象を利用することでいいことが出来る .たとえば,ノートPCに英語配列のUSBキーボードを取り付けたい場合にわざとOverrideKeyboardSubtypeの値を変更しないでおく.そうすることでノートPCのキーボードのレイアウトは日本語配列で外付けのUSBの英語キーボードは英語配列として利用することが出来る.はず.