「JIS配列のノートPC」で「US配列のUSBキーボード」も同時に使う(Windows 10)
Windows 10においてJIS配列のノートPC(Thinkpad X1 Yoga 2016)に,US配列(英語配列)の外付けキーボード(Thinkpad USB Keyboad)を繋げて利用する方法を調べたのでメモ.
今回やりたいことのポイントはノートPC側のキーボードはJIS配列のままで,外付けのキーボードのみをUS配列にするという点です.
普段はUS配列をメインで利用していますが,今回は借りているノートPCがJIS配列でありそのノートPCを「デスク上ではUS配列のUSBキーボードで使いたい」でも 「持ち運びの際にはJIS配列で見た目通り違和感なく使いたい」というシチュエーションです.
検索して出てくる方法では両方の配列を共存させることができず,内蔵・外付けの両方ともUS配列にするかJIS配列にするかしかできなかったため,やや躓きました.
方法
Windowsの標準の配列をUS配列にし 内蔵キーボードのみJIS配列に変更します.
1. WindowsのキーボードレイアウトをUS配列に変更
まずWindowsが標準で認識するキーボードレイアウトをUS配列に変更します.これは以下のサポートの「詳細」に記載されている通り, レジストリの値を変更してUS配列のものにします.
レジストリエディタを起動し
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
のレジストリエントリを以下のように変更します.
値の名前 | 種類 | データ |
---|---|---|
LayerDriver JPN | REG_SZ | kbd101.dll |
OverrideKeyboardSubtype | DWORD | 0 |
OverrideKeyboardType | DWORD | 7 |
OverrideKeyboardIdentifier,OverrideKeyboardSubtype ,OverrideKeyboardTypeの値は初期では存在しなかったので新規作成しました. このエントリはWindows全体でのキーボードのレイアウトに関する設定を保持しているようです.
レジストリ変更後再起動するとシステム全体のキーボードレイアウトがUS配列になります. この段階でUS配列の外付けキーボードは正しく使えるようになりますが,逆に内蔵JISキーボードの配列もUS配列として認識されてしまいます.
2. 内蔵キーボードのみJIS配列に変更
次に内蔵キーボードのみ配列をJISに変更します.こちらも同様にレジストリを変更するのですが, キーボードデバイスを特定するために,内蔵キーボードの デバイス インスタンス パス を確認する必要があります.
デバイス インスタンス パスはデバイスマネージャーから確認できます.デバイスマネージャーで, キーボード → 標準 PS/2キーボード のプロパティを開き, さらに詳細タブの中のプロパティでデバイス インスタンス パスを選択すると値が表示されます. デバイスをUSBの外付けキーボードと間違えないよう注意が必要です.
確認したデバイスインスタンスパスをもとに, レジストリエディタで
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\{デバイスインスタンスパス}\Device Parameters
のレジストリエントリを変更します.US配列に変更した際と同様に以下のように値を追加(あるいは変更)します.
値の名前 | 種類 | データ |
---|---|---|
OverrideKeyboardSubtype | DWORD | 2 |
OverrideKeyboardType | DWORD | 7 |
変更後再起動することで,内蔵キーボードのみJIS配列として認識されるようになります. 内蔵キーボード以外のすべてのキーボードはUS配列として認識されるので, どんな外付けキーボードを接続しても正しくUS配列として利用可能になります.
参考
最初に,上記のサイトに記載されている方法で,外付けキーボードのみをUS配列に変更することを試しましたが いくつかのキーが正常に認識されなかったため,システム全体の配列をUSにし,その上で内蔵のみをJISに変更するという今回の方法を試しました. 普段はUS配列を使っているので,これで上手く運用できています.