モチベーション
ノートパソコンに外部キーボードを接続する際、ビルトインキーボードと外部キーボードの言語レイアウトが異なる場合、レイアウト切り替えのたびに再起動が必要になり、併用が面倒です。
Windows 11 には、接続しているキーボードごとにレイアウトを自動切り替えする設定ツールはありません。しかし、レジストリを手動で設定することで、キーボード毎に異なる言語レイアウトを適用することは可能です。
本記事では、その方法を記録します。
Windows11 (Home 25H2) にてビルトインの日本語レイアウトキーボードと、外部接続の英語キーボードを共存する方法
以下の流れですすめます。
- Settings にて、 Windows 11 のキーボードレイアウトモードを Use connected keyboard layout に変更する
- Device manager にて、レイアウト指定するキーボードの Device Instance Path を特定する
- Registry Editor にて、キーボードのデフォルト設定を変更する
- Registry Editor にて、キーボードのレイアウト情報を追記する
上記にて、接続したキーボードごとに異なる言語レイアウトを適用することができます。
Windows 11 のキーボードレイアウトモードを Use connected keyboard layout に変更する
Windows 11 の設定メニューで、キーボードレイアウトモードを Use connected keyboard layout に変更します。
Settings より、 “Time & Language” -> “Language & Region” -> “Options” と進み、“Keyboard layout” をクリック、 “Use connected keyboard layout” を選択します。

レイアウト指定するキーボードの Device Instance Path を特定する
Device manager を開き、Keyboards の中から、レイアウト設定するキーボードのDevice Instance Pathを特定します。
ツリー上では、だいたいどのキーボードも、“HID Keyboard Device” としか表示されない様で、キーボードを抜き差し/オン・オフしながら、どの項目が対象のキーボードか地道に探していく必要があります。

キーボードのデフォルト設定を変更する (レジストリ)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters より、
- KeyboardSubtypeOverride
- KeyboardTypeOverride
の二項目を削除します。これで、新しくキーボードを接続した際のデフォルト設定が無効となり、個別設定が有効になります(はず)。

キーボードのレイアウト情報を追記する(レジストリ)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID(Device Instance Path)(Device Instance Pathの末尾)\Device Parameters に、
- KeyboardSubtypeOverride (Type: REG DWORD)
- KeyboardTypeOverride (Type* REG DWORD)
を追加します。各パラメータの設定値は以下参照してください。
| Layout | KeyboardSubtypeOverride | KeyboardTypeOverride |
|---|---|---|
| JP 106キーボード | 2 | 7 |
| US 101キーボード | 0 | 4 |

上記設定したら、キーボードを抜き差し・再起動して設定を有効にします。
fivebythree.net