Windowsでレジストリ操作によるUS配列キーボードとJIS配列キーボードの共存 | masao-Tec-blog

Windowsでレジストリ操作によるUS配列キーボードとJIS配列キーボードの共存

Windows

Windowsでレジストリ操作を行ってUS配列キーボードと、JIS配列キーボートを共存させるように設定を行いました。

スポンサーリンク

1.概要

中華ノートPC(2In1タブレット型)を使っています。

CHUWI UBook Xという、Microsoft SurfaceのそっくりさんPCなのですが、コスパが良く、性能・品質もそこそこ良いので愛用しています。

この中華ノートPCを、USB-Cハブ経由で外部ディスプレイに接続して、デスクトップPCのように使用したいのですが、ノートPCの本体のキーボードはUS配列であり、USB-Cハブ経由で接続するUSBキーボードはJIS配列です。

そのままだと、本体のキーボード設定(US配列)となり、USB-Cハブ経由で接続するUSBキーボードでJIS配列とUS配列で相違のある記号等が正しく入力できません。

そこで、Windowsのレジストリを操作して、ノートPC本体のUS配列キーボードと、USB接続するJIS配列キーボードを共存できるように設定を行いました。

スポンサーリンク

2.環境

OS:Windows 11 Home バージョン 21H2

H/W: CHUWI UBook X

本体キーボード:CHUWI UBook X のオプション専用キーボード(US配列)

USBハブ:vigoole USB C ハブ 11-in-1 トリプルディスプレイ

USBキーボード:BUFFALO BSKBW10SBK(JIS配列)

3.実施内容

3-1.PC本体のキーボードレイアウトの確認

PC本体のキーボードレイアウトが英語キーボード(101/102キー)となっているかを確認します。

設定]>[時刻と言語]>[言語と地域]と選択し、言語の「日本語」の3点リーダをクリックして「言語のオプション」を選択します。

キーボードレイアウトが「英語キーボード(101/102キー)」となっていることを確認します。

(本体キーボードがUS配列なので通常は英語キーボートになっている筈です。)

3-2.USBキーボードのデバイスインスタンスパスの確認

デバイスマネージャで、JIS配列のUSBキーボードのデバイスインスタンスパスを確認します。

ウィンドウズアイコンを右クリックして「デバイスマネージャ」を選択し、デバイスマネージャを起動します。

JIS配列のUSBキーボートのキーボードデバイスを探します。

(USBキーボードをUSBポートに接続したときにデバイスマネージャに追加されたものが対象となるキーボードデバイスとなります。)

対象となるキーボードデバイスを右クリックして[プロパティ]を選択し、詳細タブを選択して[プロパティ] でデバイスインスタンスパスを選択します。

値にデバイスインスタンスパスが表示されるのでこの値をメモしておきます。

本記事の例だと、[HID\VID_1A81&PID_1004&MI_00\9&17D537F5&0&0000]がデバイスインスタンスパスとなります。

注意点としては、デバイスインスタンスパスは接続するUSBポートによって同じキーボードを接続しても異なる値になるため、実際にUSBキーボードを接続するUSBポートに接続してから探します。

3-3.デフォルトのキーボード設定を削除

レジストリエディタでデフォルトのキーボード設定を削除します。

ウィンドウズアイコンを右クリックして「ファイル名を指定して実行」を選択し、[regedit]を入力して[OK」をクリックし、レジストリエディターを起動します。

レジストリエディタで、[\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]を選択します。

OverrideKeyboardSubtype]および[OverrideKeyboardType]のDWORD値を削除するか、「*.bak」等にリネームしておきます。

なお、キーボードレイアウトの変更や、Windowsのバージョンアップ等でこの値が再度復活してくるようですので、その場合は再度値を削除する必要があります。

3-4.USBキーボードの設定をJIS配列に設定

レジストリエディタでJIS配列のUSBキーボートにJIS配列設定を行います。

レジストリエディタで[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\<デバイス インスタンス パス>\Device Parameters]を探します。

デバイスインスタンスパスはJIS配列のUSBキーボートのキーボードデバイスのデバイスインスタンスパスをデバイスマネージャで探したものとなります。

本記事の例だと「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_1A81&PID_1004&MI_00\9&17D537F5&0&0000\Device Parameters」となります。

Device Parameters]を右クリックして、[新規]>[DWORD(32ビット)値] を選択し、以下2つの値を設定します。

名前
KeyboardTypeOverride0x00000007(7)
KeyboardSubtypeOverride0x00000002(2)

デフォルトのキーボード設定の名称の「OverrideKeyboardSubtype」や「OverrideKeyboardType」と[Override]の場所が異なることに注意します。 

3-5.PC再起動および動作確認

上記を設定したら、PCを再起動します

再起動後、ノートPCの本体のキーボードはUS配列で入力可能であり、USB-Cハブ経由で接続するUSBキーボードはJIS配列で入力可能であることを確認します。

4.まとめ

US配列のキーボートとJIS配列のキーボードを共存させる方法について紹介しました。

設定を実施するにあたり、様々なWebサイトの記事を参考にしましたが、レジストリ設定での共存ができない、またはできなくなったと紹介されている記事が多々ありましたが、本記事の[3-4.USBキーボードの設定をJIS配列に設定」に指定するDWORD値の名前を誤って紹介している例が多かったです。

以上、最後まで記事を読んでいただき、ありがとうございました。