Windows 11 で 2 つのキーボード配列を使う

2022/07/04に公開

Surface Laptop Studio を手に入れた

いろいろあって Surface Laptop Studio を手に入れたのですが、日本では日本語キーボード配列のものしか手に入りません。
普段使ってる REALFORCE は これ で、英語配列なんですね。
慣れているのでこれを接続して使いたいのですが、本体のキーボードは日本語配列、外付けキーボードは英語配列、というのが意外と大変だったのでここにメモしておきます。
いろいろサイト見て回ったんですが、Windows 10 のほにゃらら~バージョンから使えなくなった、が多くてちょっと悩んでましたが一応今回のでうまくいくはず。

TL;DR

regedit して 2 つのキーを編集したりする。
「Device instance Path」っつーのが大事です。

regedit していく

まずは、regedit して、Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters を見る。
LayerDriver JPNkbd106.dll であることと、OverrideKeyboardIdentifierPCAT_101KEY であることを確認します。
そのほかのがあった気がするのですが、消しました、消すといい感じに動いてます。

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

次に、Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_0853&PID_0120\7&13f1fc23&0&0000\Device Parameters を編集するのですが、ここがデバイスによって変わってきます。
Device instance Path を見つける必要があり、これは Device Manager から確認できます。
「キーボード」の箇所を開いて該当のデバイスと探す必要があるのですが、「HID Keyboard Device」が複数あることが多いかと思うので、キーボードを抜き差ししたりしながらばっちり該当するやつを探します。
そのあと、詳細タブで、プロパティから「Device instance Path」を選択します。

Device Manager General

Device Manager Details

で、見つかったこの文字列を Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ にくっつけて探します。
別の言い方をすれば、Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ の下の HID の下あたりで該当するものを適当に探します。
その下に Device Parameters があるので、これをクリックします。
ここに何もないパターンも多いかと思いますが、とりあえず DWORD を 2 つ追加します。

名前 種類 データ
KeyboardSubtypeOverride REG_DWORD 0
KeyboardTypeOverride REG_DWORD 4

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_0853&PID_0120\7&13f1fc23&0&0000\Device Parameters

んで、最後に PC を再起動すれば反映されるはずです。

Surface 自身のキーボードで Shift + 2 を打った時には「"」、外付けキーボードの時には「@」が出れば問題ありません。


参考サイトはこちら。

  • Regedit の内容とかは大体これに沿ってるはず

Windows10 21H2で英語配列のBluetoothキーボードを追加して日本語キーボードと共存させる設定 - Qiita

Microsoft (有志)

Discussion