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
O caractere correto ('å' no exemplo acima) é enviado ao terminal.
Aparentemente, nenhum caractere é enviado, pelo menos nada é exibido.
Provavelmente relacionado a # 6309, pois a configuração "experimental.input.forceVT": true
dá o comportamento esperado.
Huh. Isso também não funciona exatamente no console tradicional, e foi por acaso que funcionou no WT. _Deve_, no entanto.
Isso é o que eu ganho se espiar os principais eventos que saem do WC para o console tradicional:
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
e aqui está o que estou obtendo com a torneira:
␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_
que 255 definitivamente não está certo
Portanto, como um aplicativo de terceiros deve enviar caracteres Unicode para o Terminal do Windows se SendInput()
não funcionar mais por padrão?
Pelo que posso ver, esse problema foi corrigido no # 7900. Encerrarei esse problema por enquanto, pois o WinCompose funciona perfeitamente do meu lado com a versão mais recente do WT.
O bom é que agora finalmente entendi porque temos recebido eventos chave estranhos, contendo códigos de varredura inválidos, para aplicativos de terceiros que empregam SendInput
: WT não usa TranslateMessage(Ex)
corretamente. (Quero dizer, há uma razão muito específica para isso não acontecer ... Ou seja, a necessidade de receber eventos-chave, mesmo para chaves de caracteres.)
Comentários muito úteis
Pelo que posso ver, esse problema foi corrigido no # 7900. Encerrarei esse problema por enquanto, pois o WinCompose funciona perfeitamente do meu lado com a versão mais recente do WT.
O bom é que agora finalmente entendi porque temos recebido eventos chave estranhos, contendo códigos de varredura inválidos, para aplicativos de terceiros que empregam
SendInput
: WT não usaTranslateMessage(Ex)
corretamente. (Quero dizer, há uma razão muito específica para isso não acontecer ... Ou seja, a necessidade de receber eventos-chave, mesmo para chaves de caracteres.)