US配列になるのはいい。¥記号をMacのリモートデスクトップからWindowsに入力したい
MacのMicrosoft Remote Desktopアプリはかなり便利。
Windowsだけでなく、UbuntuのRDPサーバー導入してベットに寝ながら、色々接続できる。
なんだけど、MacからWindowsに接続するとキーマップが色々厄介。
・JIS配列だけど、US配列として認識されてしまう
・バックスラッシュ(5C)が入力できない
もう、US配列なのは、配列覚えれば良い(ふるさと納税で間違って、US配列のREAL FORCEいただいたのを機会に覚えた)
のだが、バックスラッシュ(Macだと、fn+¥)が入力できないと色々困る。
とはいえ、そんなに使用頻度が高くなかったので、エクスプローラーのパスから都度¥をコピーしたり、IMEに登録したりして凌いでいた。
ググったりしても、なかなか簡単に設定できそうにないので、、、
とはいえ、ちょっと、込み入ったことをしたくなったので、腰を据えて対応する。
以下の神記事が参考になった
上記記事で完了できれば、このブログにメモる必要もないのだが、若干調整したので要所をメモしておく。
1.Earbiner-Elementsのダウンロードとインストール
Karabiner-Elements (pqrs.org) からDownloadとインストールを行い、適宜セキュリティの許可を行う。
Lanchpadに以下のアイコンが表示される

キーボードの設定に表示されるようになる。

2.カスタム設定を行う
Microsoft RDPでWindows機につなげる時の日本語キーボード問題 – Qiita から、ファイルをダウンロードできるので、そのままで良い場合、それを利用するのが吉かと思います。
自分は以下の課題がありました。
- Remote Desktop の識別子が上記と異なった(バージョン?)
- ¥を押したときの挙動が期待と異なった
上記のために、対応します。
以下の設定をすると、Remote Desktopを動かした時だけ、設定を自動で有効化できるようです。
2.1 Remote Desktop アプリの識別子を取得する。
カスタムファイル(後述)の bundle_identifiers にRemote Desktop の識別子を記入するのだが、何を記入するのかを調べる
frontmost_application_if, frontmost_application_unless | Karabiner-Elements (pqrs.org)
下図のように、Karabiner-EventViewer を起動し、Remote Desktop上で適当にキーを押すと、取得できる。
ここで、上記サイトから入手した設定ファイルと、識別子が、異なる(mac と macos)ことが判明。

2.3 カスタム設定の編集
Miscタブから、右下のボタン(Open config folder)で、Finderで設定ファイルの場所が開く

karbiner/assets/conplex_modifications に設定用のjsonを置く。

remotedesktop-backslash-input.json
Mac上で、¥(international3) を押下した時に、Windowsにバックスラッシュ(5c)を送信するように試行錯誤で設定。
{
"title": "RDP Custom keyboard",
"rules": [
{
"description": "Remotedesktop backslash input",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "international3",
"modifiers": {
"optional": [
],
"mandatory": [
]
}
},
"to": [
{
"key_code": "backslash",
"modifiers": [ ]
}
],
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": [
"^com\\.microsoft\\.rdc\\.macos$"
]
}
]
}
]
}
]
}
2.4 設定の反映
Comples modifications から Add rule

先ほど配置した設定ファイルの内容が読み込まれるので、Enable

3.確認
Remote Desktopで接続して、エディタで入力した文字コードを確認!
来た!!!
Explorerにパスも打てる!!

Ubuntuに接続した時の挙動は別途確認。
やり方は心得たので、適当に調整する。


