⌨️

GPD Pocket 4(US配列)で、外付けキーボードだけをJIS配列にする

に公開

GPD Pocket 4に限らず、海外製のWindows PCで内蔵キーがUS配列にもかかわらず、普段お使いの外付けキーボードがJIS配列という場合に役に立つ設定手順を自分なりにまとめました。
検索で出てくる既存の方法では上手くいかなかった(そもそも、既存記事のレジストリ値が、名前も値も異なっているなどした)ため、手元のハードでうまくいった方法を記録しておきます。
同様の現象で困っている方の一助になると幸いです。


構成

  • GPD Pocket 4
    • HX370 64GB 2TB
    • Project Version: P4 2.10 x64
    • EC FW Version: 1.13
    • US配列 (英語 104キー)
  • OS
    • Windows 11 Home 24H2

設定手順

設定画面から入力方式をJIS入力で固定

まずは、PC全体の入力方式をJISで固定します。
これで、内蔵も外付けも両方ともJIS設定が優先されます。

  • 設定/時刻と言語/言語と地域 から 日本語 の横の を選択し、 言語のオプション をクリック

  • キーボード から キーボードレイアウト日本語キーボード (106/109 キー) に変更

  • 一旦再起動

レジストリの編集

先ほどの設定画面での操作を受けて、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters の設定が更新されています。
ここに OverrideKeyboardSubtypeOverrideKetboardType の値があると、以降の手順で追加するキーよりもこの値が優先して読まれてしまうため、あらかじめ削除しておきましょう。

  • regedit でレジストリエディター起動
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters を開く
    • OverrideKeyboardSubtype キー削除
    • OverrideKetboardType キー削除

次に、内臓キーボードのインスタンスパスを確認して、レジストリ側からUSキー設定で上書きします。

  • デバイスマネージャー から内蔵キーボードを選択して プロパティ を開きます

  • 詳細 から デバイス インスタンス パス を選択して、値を確認します

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum 以下で、デバイスインスタンスパスの値に該当するキーを探します

    • KeyboardSubtypeOverride というDWORD値を16進数の0で設定
    • KeyboardTypeOverride というDWORD値を16進数の4で設定
  • 再起動

以上の手順で、内蔵キーボードはUS、それ以外のキーボードはすべてJISで動作するようになるかと思います。
環境の違いやOSバージョン違いにより動作しなくなることがあれば、コメント欄などで補足いただけると助かります!

Discussion