LoginSignup
20
12

More than 3 years have passed since last update.

MacからWindowsへのリモートデスクトップでJISキーボードを認識させる

Posted at

最近業務でMacbook Proをメインで使い始めたのですが、デスクトップのWindows機も保持しており、Macからのリモートデスクトップで使用する構想でした。
しかし、いざリモートデスクトップ接続してみるとキーボードがUS配列として認識されてしまいました。(MacはJIS配列)

調べてみると昔からある現象のようで、Qiitaでもいくつかの記事がヒットします。

上記で紹介されているレジストリ変更や、クライアントの変更などの対処方法を実施してみたのですが、改善されず :cry:

さらに調べていくと公式で説明があったので、共有します。

環境

今回の環境は以下の通りです。

  • macOS Mojave 10.14.6
  • Windows 10 Pro 1903 (OS ビルド 18362.418)
  • Microsoft Remote Desktop 10.3.3(1667)

公式の回答

以下、 Windows 10 RS4 へのリモート デスクトップ接続時に、UWP アプリへの入力時のみキーボード配列が異なる事象について からの引用です。1

原因

コンソール接続の場合は、以下のレジストリにあるキーボードレイアウトkbd106.dllが利用されます。

パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
名前: LayerDriver JPN

しかしながら、リモートデスクトップ接続の場合は、以下のレジストリにあるキーボードレイアウトKBDJPN.DLLが利用されてしまい、kbd106.dllとは異なるキーボード配列となります。(KBDJPN.DLLは現状英字配列を元としたレイアウトとなっています。)

パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
名前: Layout File

回避策

先述の通り、本事象の原因は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411からKBDJPN.DLLが読み込まれることが原因でございます。
そのため、このレジストリで指定されているキーボードレイアウトを別の値kbd106.dllに変更することで、事象を回避することができます。
なお、このレジストリを用いて本来のKBDJPN.DLLを利用している環境にも影響がありますので、ご注意ください。

  1. リモート デスクトップ接続先コンピューター (Windows 10 RS4) に管理者権限のあるユーザーでログオンします。
  2. Win + R キーを押し、[ファイル名を指定して実行] にて、regeditと入力し、[OK] をクリックします。
  3. [レジストリ エディター] にて、以下のパスを展開します。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
  4. 上記パス内にあるLayout Fileの値をKBDJPN.DLLからkbd106.dllに変更します。
  5. OS を再起動します。

image.png

image.png


  1. 記事内ではSeptember 20, 2018—KB4458469 (OS Build 17134.319)にて修正されたとのことですが、1903でも再現しました。 

20
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
12