Mac RDP経由での「\」入力No.36714
shirouzu さん 18/07/17 17:37
 
お世話になっております。白水と申します。

MacBook Air(JIS配列) から MS Remote Desktop 10.1.8 で Win10 Pro(x64)に接続し、
「\」キーを押すと、Chrome/PuTTY/cmd.exe等の全てのアプリケーションでは正しく
「\」(0x5c)が入力されるのですが、秀丸(8.81/x64)のみ、「・」(0xA5)が入力さ
れるようです。

他のキーは今のところ問題ないようです。
Win RDPだと大丈夫なので、Mac版MS RDPの問題である可能性も高いのですが、他のア
プリケーションでは問題ない点が解せないところです。
(AutoHotKey等の常駐ツールは使っていません)

ご確認いただけますでしょうか?
また、こちらでSPY++やWinDbg等での調査も可能なので、必要な調査があれば言って
貰えればと思います。

[ ]
RE:36714 Mac RDP経由での「\」入力No.36716
shirouzu さん 18/07/17 23:11
 
>MacBook Air(JIS配列) から MS Remote Desktop 10.1.8 で Win10 Pro(x64)に接続
>し、「\」キーを押すと、Chrome/PuTTY/cmd.exe等の全てのアプリケーションでは正
>しく「\」(0x5c)が入力されるのですが、秀丸(8.81/x64)のみ、「・」(0xA5)が
>入力されるようです。

上記は間違いでした。

他のアプリケーションでは「\」と表示されるものの、文字コードはU+00A5で、秀丸
との挙動の違いはあるものの、いずれも0x5cは入力されていないようです。
ということで、Mac版MS RDPに問題があるのは間違いなさそうです。

ただ、秀丸が他のアプリケーションと違う文字コードになる(U+00A5ではなく、0xA5
==U+FF65になる)理由は分かりませんが。

[ ]
RE:36716 Mac RDP経由での「\」入力No.36717
秀丸担当 さん 18/07/18 08:44
 

MacBook Airが無いので確認はできていないのですが、androidのRD clientで試して
みて、同じように再現させることができました。

秀丸エディタでShift-JISの0xA5(UnicodeのU+FF65)になってしまうのは確かにバグ
でした。
V8.83の次のβ版で修正させていただきます。
文字コードとしては、UnicodeのU+00A5が入力されると、そうなってしまっていました。

----

ちなみにSPY++で見ると、なぜかWM_CHARが165(U+00A5)となるべきところが、92(U+00
5C)となっていて、SPY++はちゃんとモニタリングできていないようです。
デバッガで見るとWM_CHARは165(U+00A5)になっています。

androidでU+00A5となるのは、ソフトウェアキーボードによると思います。
私のところにたまたま入っていたソフトウェアキーボードはU+00A5としているようで、
半角¥という字形を絵文字のごとく正確に伝えるにはアリだと思います。

MacBookで、キーボードから直接入力しているとしたら、U+00A5になるべきではなく、
U+005C(バックスラッシュ)になるべきだと思うので、Mac版MS RDPのキーボード入
力はたぶん問題がある気がします。

[ ]
RE:36717 Mac RDP経由での「\」入力No.36721
shirouzu さん 18/07/18 18:50
 
ご確認ありがとうございました。

なるほど、複数の問題が介在していたのですね。
秀丸側の改善予定ありがとうございます。

ただ一番の問題はMac版MS RDPですので、そちらはMSさんに改善要望するしかないで
すね。
ともあれ、調査&ご対応ありがとうございました。


余談ながら、

>ちなみにSPY++で見ると、なぜかWM_CHARが165(U+00A5)となるべきところが、92(U+0
>05C)となっていて、SPY++はちゃんとモニタリングできていないようです。

そんなことがあるとは。SendMessageA 等での変換の問題でもないでしょうし、不思
議ですね。

[ ]
RE:36721 Mac RDP経由での「\」入力No.36723
秀丸担当 さん 18/07/19 09:43
 

V8.83β8で修正してみています。以下のページの「先行開発バージョンはこちら」の
ところからダウンロードできます。
https://hide.maruo.co.jp/software/hidemaru.html
とはいえ、U+00A5で入力できるようになってもU+005Cにはならないので、根本的な解
決にはならないかもしれません。

[ ]