Windows 10 がインストールされているノートパソコンで、内蔵キーボードは日本語配列のまま、後付の USB キーボードを英語配列に設定できないものかと、昨年末あたりから試行錯誤しては断念を繰り返していたのだが、先ほど発見した記事
のおかげで無事解決した!!😆
設定手順
設定手順は、先の記事に従った。
レジストリの修正には Windows が正常に動作しなくなる等のリスクを伴います。事前にバックアップを取る等、必要な措置を講じてください。下記の内容を実行することで何らかの被害が発生しても、わたしは一切補償しません。
ハードウェアキーボードレイアウトを「英語キーボード (101/102 キー)」に変更する
まず最初に、システムのハードウェアキーボードレイアウトを「英語キーボード (101/102 キー)」に変更する。
- Windows 10 の「設定」→「時刻と言語」→「言語」タブ→「優先する言語」以下の「日本語」で「オプション」をクリックする。
- 「言語のオプション: 日本語」の「ハードウェアキーボードレイアウト」以下の「レイアウトを変更する」をクリックする。
- 「ハードウェアキーボードレイアウトの変更」で表示されているキーボードレイアウトを「英語キーボード (101/102 キー)」に変更後、「今すぐ再起動する」をクリックする。
Windows 10 標準のキーボード配列設定から OverrideKeyboardType と OverrideKeyboardSubtype を削除する
再起動後、レジストリエディターで「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters」を開き、
- OverrideKeyboardType
- OverrideKeyboardSubtype
の2項目を削除する。
この2項目については、
なお、この2つの値は上で紹介した「ハードウェアキーボードレイアウト」を設定しなおすと復活する点に注意が必要です。もしかしたらWindows Updateとかでも復活するかもですので、気を付けてください。
とのこと。
デバイスマネージャーで内蔵キーボードのデバイスインスタンスパスを確認する
デバイスマネージャーを開き、「キーボード」以下の項目から、内蔵キーボードと思しきものを探し出す。
手元の環境では、「日本語 PS/2 キーボード (106/109 キー Crtl + 英数)」が内蔵キーボードに該当。
当該項目を選択・右クリックし、「プロパティ」をクリックすると、「日本語 PS/2 キーボード (106/109 キー Crtl + 英数) のプロパティ」ダイアログが表示される。このダイアログの「詳細」タブの「プロパティ」で「デバイスインスタンスパス」を選択すると、当該デバイスのデバイスインスタンスパスが表示される。
「値」に表示されている内容は、選択・右クリックし、「コピー」をクリックすることで、クリップボードにコピーすることができる。
内蔵キーボードの配列設定を日本語に設定する
レジストリエディターで「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\MATxxxxxxxxxxxxxxx0\Device Parameters」を開き、新規の DWORD (32bit) 値として、
値の名前 | 値のデータ (10進表記) | 値のデータ (16進表記) |
---|---|---|
OverrideKeyboardType | 7 | 0x00000007 |
OverrideKeyboardSubtype | 2 | 0x00000002 |
の2項目を追加する。
上記の「ACPI\MATxxxxxxxxxxxxxxx0」の部分は利用環境に応じて変わります。ご自身で確認した内蔵キーボードのデバイスインスタンスパスに置き換えてください。
デバイスマネージャーで後付の USB キーボードのデバイスインスタンスパスを確認する
デバイスマネージャーを開き、「キーボード」以下の項目から、後付の USB キーボードと思しきものを探し出す。
手元の環境では、「HID キーボードデバイス」が後付の USB キーボードに該当。
当該項目を選択・右クリックし、「プロパティ」をクリックすると、「HID キーボードデバイスのプロパティ」ダイアログが表示される。このダイアログの「詳細」タブの「プロパティ」で「デバイスインスタンスパス」を選択すると、当該デバイスのデバイスインスタンスパスが表示される。
「HID キーボードデバイス」が複数存在する場合は、それぞれのプロパティで「全般」タブの「場所」を確認すると、該当するものかどうか推定できるのではないかと思います。多分😅
後付の USB キーボードの配列設定を英語に設定する
レジストリエディターで「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0\Device Parameters」を開き、新規の DWORD (32bit) 値として、
値の名前 | 値のデータ (10進表記) | 値のデータ (16進表記) |
---|---|---|
OverrideKeyboardType | 4 | 0x00000004 |
OverrideKeyboardSubtype | 0 | 0x00000000 |
の2項目を追加する。
上記の「HID\VIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0」の部分は利用環境に応じて変わります。ご自身で確認した後付の USB キーボードのデバイスインスタンスパスに置き換えてください。
システムを再起動する
設定が完了後、システムを再起動して、意図した通りに動作することを確認する。