配列の違うキーボードを同時に使う。

おぼうなす様の時期なので、ずっと欲しかったHappy Hacking Keyboard Type-Sを買いました。
オフィスでは主に日本語キーボードのノートPCをメインに利用しているのですが、今回は英字配列のものを購入し、外付けキーボードとして利用します。

英字キーボードを直接接続しても日本語キーボードとして認識されてしまうため、レジストリを変更して英字キーボードとして認識させる必要があります。
また、今回はノートPCの内蔵キーボードと外付けキーボードの配列が違うため、それぞれ別のキーボードとして動作してもらわねばなりません。

調べてみると、やはりこのような使い方をしている方は多いようです。
今回は、下記のサイトを参考に設定してみました。

http://se-suganuma.blogspot.jp/2011/03/lets-note-cf-s9usb.html

私はノートPCにWindows Server 2008 R2をインストールして利用していますが、レジストリは同様の変更で無事に設定できました。

以下、手順です。

  1. regeditで以下のキーを開く。
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt\Parameters

※念のため、"キーの名前を右クリック -> エクスポート"で変更前にバックアップを推奨。

  1. LayerDriverの値を次の通り変更。
    • JPN kbd106.dll -> kbd101.dll
  2. OverideKeyboardIdentifierの値を次の通り変更。
    • PCAT_106KEY -> PCAT_101KEY
  3. OS再起動。

なお、内蔵キーボードも変更したい場合は、以下のパラメータも変更する。

  • OverrideKeyBoardSubtyp
    • 2 -> 0

これで無事に、内蔵キーボード:日本語配列、外付けキーボード:英語配列として利用することができました。
英語配列で使うと全角/半角キーが無くてIMEの切り替えが不便ですが、私の場合はずっとCtrl+SpaceをIME切り替えに割り当てて使っていたため、特に問題ありませんでした。

蛇足ですが、変更前後の設定を両方ともエクスポートしてバックアップしておけば、外付けキーボードを状況によって付け替えたとしても、regファイルを実行して再起動すれば切り替えられるようになりますね。