ブログ - MacからWindows 7にリモートデスクトップする時に英語配列になるのを解消する話 その2
MacOS XからMicrosoft Remote DesktopでWindows 7に接続すると英語配列キーボードになる件ですが,解決策が分かりました.
リモート画面は,Windows Terminal Serverサービスの現在形ですが,その仕様の中で,接続元のキーボードレイアウトを優先して適用するという仕様になっているそうです.この場合,接続元はMacOS Xなので,Macの日本語キーボードレイアウトを適用しようとするのだけれど,Windows 7側にはMacの日本語キーボードを認識する情報を持っていないため,デフォルトの英語配列キーボードのレイアウトを適用する,,,というのがロジックだとわかった.
それで実行した対策がこれ.
レジストリを書き換えたらログオフ(Windows7)かサインアウト(Windows8)が必要
KeyboardType Mappingで,デフォルトの英語配列キーボードを示すkbd101.dllから,いわゆる日本語106キーボードを示すkbd106.dllに書き換えてやる.
これを行うと英語キーボードを接続すると日本語レイアウトでマッピングされるという事です.MacOS XからのRemote Desktop接続時のキーボードタイプの変更は行えないので,MacOS Xのキーボードを認識できずに英語キーボードになる事を前提としてマッピング側を合わせるという荒技.
これで問題になるのは,実機で英語キーボードを使ってログインしたり,MacOS X側がUSキーボード配列だった場合も,日本語になるであろうという事くらいかな.それら2つは試してないのでわからない...
コンピューターに USB キーボードを接続したときに Windows で正しいキーボード レイアウトが使用されないことがある(KB927824)
https://support.microsoft.com/ja-jp/kb/927824
リモート画面は,Windows Terminal Serverサービスの現在形ですが,その仕様の中で,接続元のキーボードレイアウトを優先して適用するという仕様になっているそうです.この場合,接続元はMacOS Xなので,Macの日本語キーボードレイアウトを適用しようとするのだけれど,Windows 7側にはMacの日本語キーボードを認識する情報を持っていないため,デフォルトの英語配列キーボードのレイアウトを適用する,,,というのがロジックだとわかった.
それで実行した対策がこれ.

レジストリを書き換えたらログオフ(Windows7)かサインアウト(Windows8)が必要
KeyboardType Mappingで,デフォルトの英語配列キーボードを示すkbd101.dllから,いわゆる日本語106キーボードを示すkbd106.dllに書き換えてやる.
これを行うと英語キーボードを接続すると日本語レイアウトでマッピングされるという事です.MacOS XからのRemote Desktop接続時のキーボードタイプの変更は行えないので,MacOS Xのキーボードを認識できずに英語キーボードになる事を前提としてマッピング側を合わせるという荒技.
これで問題になるのは,実機で英語キーボードを使ってログインしたり,MacOS X側がUSキーボード配列だった場合も,日本語になるであろうという事くらいかな.それら2つは試してないのでわからない...
コンピューターに USB キーボードを接続したときに Windows で正しいキーボード レイアウトが使用されないことがある(KB927824)
https://support.microsoft.com/ja-jp/kb/927824