Windows build number: 10.0.19041.0
Windows Terminal version (if applicable): 1.1.2021.0
Any other software?
Ubuntu 20.04 LTS (WSL2)
WinCompose v0.9.4 (https://github.com/samhocevar/wincompose/releases/tag/v0.9.4)
rightAlt
+ o
a
正しい文字(上記の例では「å」)が端末に送信されます。
文字が送信されていないようで、少なくとも何も表示されていません。
"experimental.input.forceVT": true
を設定すると期待される動作が得られるため、おそらく#6309に関連しています。
ええと。 これは従来のコンソールでも正確に機能するわけではなく、WTで機能したのはややまぐれでした。 しかし、それは_すべき_です。
これは、WCから従来のコンソールに送られる主要なイベントを覗いてみると得られるものです。
v 001 0010 002a 0000 ^@ 00000010
^ 001 0010 002a 0000 ^@ 00000000
v 001 0000 0000 00f6 � 00000000
^ 001 00e7 0000 00f6 � 00000000
^ 001 004f 0018 006f o 00000000
そして、これが私がタップを乗り越えているものです:
␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_
その255は間違いなく正しくありません
では、 SendInput()
がデフォルトで機能しなくなった場合、サードパーティアプリケーションはどのようにUnicode文字をWindowsターミナルに送信する必要がありますか?
私が見る限り、この問題は#7900で修正されました。 WinComposeは最新のWTバージョンで問題なく動作するため、この問題は今のところクローズします。
良いことは、 SendInput
を使用しているサードパーティアプリケーションで、無効なスキャンコードを含む奇妙なキーイベントを受け取っている理由をようやく理解したことです。WTはTranslateMessage(Ex)
適切に使用しません。 (つまり、そうでないという非常に具体的な理由があります。つまり、文字キーの場合でもキーイベントを受信する必要があります。)
最も参考になるコメント
私が見る限り、この問題は#7900で修正されました。 WinComposeは最新のWTバージョンで問題なく動作するため、この問題は今のところクローズします。
良いことは、
SendInput
を使用しているサードパーティアプリケーションで、無効なスキャンコードを含む奇妙なキーイベントを受け取っている理由をようやく理解したことです。WTはTranslateMessage(Ex)
適切に使用しません。 (つまり、そうでないという非常に具体的な理由があります。つまり、文字キーの場合でもキーイベントを受信する必要があります。)