mac の JIS キーボードで microsoft remote desktop を使うには


追記(2019/7/31): ボツにするのも悲しいので、UserVoice にて提案。(Japanese JIS keyboard yen key option) 投票数が多ければ反映されるのだろうか。


追記(2019/7/30):microsoft remote desktop は JIS キーボードでは使えないのではないだろうか。

remote desktop を使いたければ、vmware fusion 内の windows から remote desktop を使うしかないと思った。

勢いよく投稿したものの、以下は「ボツ」とする。この設定をすると、¥を入力すると、1b 5c が送られるので、msys や ide で使う時に機能しない。


macbook air の JIS 配列キーボードを使っているのだが、windows server に接続しても、キーボードが US キーボードと認識される。さらに、円キーを押しても、パス区切りの円マークではなく、変な円マークで、パス区切りの円を入力するには、option + 円マークを押さないといけなくて、非常に面倒だ。プログラムを書く者にとって、円の位置はバックスラッシュだろ!と思う。

小一時間、いや、丸一日か、まあまあ時間が無いのに泣きそうになりつつ調べまくったところ、以下のような対応が必要そうだ。

windows server のレジストリを修正する

Microsoft Remote DesktopでJISキーボードを有効にする方法(Qiita)の2つ目を参考。

レジストリエディタで HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\KeyboardType Mapping\JPN の名前00000000のデータをkdb106.dllに変更する。

USキーボードを使っている人がいると、その人のキー配列はJIS配列になってしまうかもしれないので、要注意。

mac の円マークとバックスラッシュを入れかえる

karabiner-element で入れかえるしかなさそうだ。

Swap ¥ and \ always on JIS Keyboards の Change ¥ to Alt+¥ を設定する。

Change Alt+¥ to ¥ も設定して入れかえてもよいかと思ったが、どうせ、ターミナルでも ¥ は入力できないし、必要なら漢字変換で入力すればよいか、と思い、私は設定しないことにした。

vmware fusion のキー設定

完璧か、と思ったが、今度は vmware fusion 内の windows で ¥ が入力できなくなってしまった。。。というか、1b 5c のようなシーケンスで入力される。本当に、alt ¥ を送っているようだ。本来どうあるべきなのか知らないが・・・

そんなわけで、vmware fusion のキーマッピングを設定する。

仮想マシンの設定 > キーボードとマウス > 使っているプロファイルを選んで設定アイコン(ギアみたいなアイコン)を押して表示されるダイアログボックスのキーマッピングタブを選択。option + ¥ を押すと ¥ になるように設定。

mac で入れかえたのに、vmware で再度入れかえるのもどうなのだろうと思いつつも。

そもそも、JIS配列を使うのが悪いのか

US キーボードがいいという人もいるが、私は、JIS配列の ctrl/caps を入れかえ、全角半角と esc を入れ替えて使っている。(DIPスイッチで入れかえられるキーボードが便利)

会社の PC はほとんど JIS 配列だろうし、そうすると、自分専用でない PC で作業する時、US キーボードに慣れていると思うように作業できないだろう。

それに、US 配列は enter key が小さすぎるというか、enter の上にあるキーが押しづらいというか。

そうは言っても、ここまで色々設定する必要があるとなると、JIS 配列を使い続けるかどうか悩むところだ。