読者です 読者をやめる 読者になる 読者になる

Mac から RDP で HHKB を使う

Mac RDP HHKB

Mac から RDP で Windows で接続するとなぜか US キー配列になってしまう問題に、じゃあ HHKB(US) 使えばいいのでは?と思ったけどそれでもイマイチだったのと、その解決方法のご報告。

現状の RDP アプリ

Mac に挿した HHKB(US) はすんなりと Windows 側でも US キーボードとして使える。

ただし HHKB の右上にあるバッククォートのキーが正しく認識されないため、Alt+バッククォートによる IME の切り替えができない。

これは IME のキー設定で Ctrl+¥ に IME 切り替えを設定して解決。

だけど相変わらずバッククォートが正しく認識されないため、バッククォートとチルダ(Shift とのコンビネーション)が入力できない。これはプログラミングする上で死活問題。

困った。

ベータ版の RDP アプリ

バッククォートは正しく認識される。ただし日本語変換がインラインでできない。IME の切り替えは Mac 側で行われている模様(Cmd+Space で Mac 側の IME 切り替えが発生すると、それに応じて RDP 側の入力も変わる)。

じゃあこれで良いかというと、なぜか左右 Alt の識別がうまくいかないようで、Poderosa で左右の Alt に別々の機能を振っていても両方とも左 Alt として認識されてしまう。

困った。

どちらも微妙にうまくいかない。

解決方法

ベータ版の RDP アプリは描画がちょっともたつくなどの問題もあるため、現状の RDP を選択することにして、バッククォートとチルダを AutoHotKey で解決することにした。

バッククォートとチルダを出すためのスクリプト

sc056::Send,``
+sc056::Send,~

これで日本語入力、左右 Alt、バッククォート、チルダの問題を解決できた。

複数の言語バーが表示されているにもかかわらず、テキストサービスが一つしかインストールされていない場合の対処法

RDP 言語バー テキストサービス Windows

f:id:dechnostick:20151111113413p:plain

上のような言語バーになっているにもかかわらず、下のようにテキストサービスが一つしかないことがある。

f:id:dechnostick:20151111113506p:plain

この場合、一旦テキストサービスを明示的に追加し、

f:id:dechnostick:20151111113529p:plain

その後これを削除することで言語バーを元に戻すことができる。

f:id:dechnostick:20151111113549p:plain

RDP で異なるロケールと認識される場合などに起こることがあるようだ。