RDPでキーボードがJISではなくUSになってしまう問題

RDP 接続すると US キーレイアウトになってしまう!

日本語キーボードを使っているのに、RDP 先で英語キーボードとして認識されてしまうことがあります。
この問題、地味に嫌ですよね。。。

公式の解決方法を探す

作業はホスト側(リモートマシン)で行います。

https://blogs.technet.microsoft.com/askcorejp/2018/06/08/rs4-rdp-keyboardlayout/
にある「回避策 2.」を実行すると良いです。

記事には「UWP アプリへの入力時のみ」となっていますが、全アプリで発生しました。
全アプリ UWP なのかな?

以上で治れば、以下の対応は不要です。

レジストリを直接書き換える方法

レジストリエディタを開き、直接 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411KBDJPN.DLL から kbd106.dll に書き換え、再起動するだけで良いです。

レジストリ操作用ファイルを使う方法

なお対応後も Windows アップデートなどで、設定が戻ってしまうことがちょいちょいあります。
毎度レジストリキーを探して編集するのも面倒なので、操作を自動化するために.regファイルを作成します。

手順 1 レジストリをいじるファイルを作成

.regファイルはレジストリ設定を保存しておくものです。
適当に rdp-jp.reg というレジストリ変更用のBOM付きUnicodeファイルを作成し、下記のコードを貼り付けてください。

Windows Registry Editor Version 5.00  

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411]  
"Layout Display Name"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,\  
  52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,\  
  00,32,00,5c,00,69,00,6e,00,70,00,75,00,74,00,2e,00,64,00,6c,00,6c,00,2c,00,\  
  2d,00,35,00,30,00,36,00,31,00,00,00  
"Layout File"="kbd106.dll"  
"Layout Text"="Japanese"  

貼り付けたらファイルを保存してください。

自分で.reg ファイルを作成する場合

見知らぬ人が作成した.regコードなんて信用できるか!という慎重な方は、自分で書き出すことも出来ます。
対象のキーを選択した状態でレジストリエディタから「ファイル」→「エクスポート」とします。
Layout File の箇所を kbd106.dll に書き換えてください。

手順 2 レジストリの書き換えと OS 再起動

  • ファイルをダブルクリック
  • 管理者権限が求められるので承認
  • Windows を再起動

以上で有効になります。Mac からの接続も問題なく JIS キーとして認識されました。
やったね!

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe