macOSとWindows10をまたぐリモートデスクトップ接続で発生した問題と解決策

f:id:hate_nattou:20210213225906j:plain:w240

概略

macOSとWindows10の間で、リモートデスクトップをしています。

今回は、キーボードの配列に関する問題が発生していたので、問題内容と解決策をまとめます。

問題内容

以下のように接続している場合に問題が発生。

  • macOS->Windows10(A)->Windows10(B)
    ※ Windows10の後ろにある(A),(B)は区別のためにつけている。

各OS間の接続には、以下のソフトウェアを使っている。

  1. macOS->Windows10(A)

  2. Windows10(A)->Windows10(B)

    • Windows付属 RDPクライアント

1の部分は問題ないが、2を実施するとキーボードの配列が変わってしまう。
[Shift]+[2]を打ち込むと、"となるはずが@になる。他にも多数。
これらは、OSがキーボードをUS配列として誤認識(実際はJIS配列)している、よくある事象。

解決策

OKパターン

Microsoftの以下の記事にあるように、Windows10(B)のレジストリを変更することによって解決した。

https://docs.microsoft.com/ja-jp/archive/blogs/askcorejp/rs4-rdp-keyboardlayout

本来は、Windows10(A)のレジストリも変更する必要がありそうなのだが、今のところは変更せずとも問題なく動作している。

NGパターン

1の部分のソフトウェアで設定を変更

(旧)Connections->Keyboard Mode->Scan Code
(新)Connections->Keyboard Mode->Unicode

この設定変更でも、JIS配列としてキーボードを認識するようになる。

ただし、Altキーの認識に問題があり、一部のショートカットが動作しない。 たとえば、VisualStudioCodeで[Alt]+[方向キー]を押しても、行単位の移動ができない。

そのため、上の解決策のとおり、レジストリの修正で対応したほうがよい。