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
El carácter correcto ('å' en el ejemplo anterior) se envía al terminal.
Aparentemente no se envía ningún carácter, al menos no se muestra nada.
Probablemente relacionado con # 6309, ya que configurar "experimental.input.forceVT": true
da el comportamiento esperado.
Eh. Esto tampoco funciona exactamente en la consola tradicional, y fue una casualidad que funcionara en WT. Sin embargo, debería hacerlo.
Esto es lo que obtengo si miro los eventos clave que salen de WC en la consola 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
y esto es lo que me pasa por el grifo:
␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_
ese 255 definitivamente no está bien
Entonces, ¿cómo debería una aplicación de terceros enviar caracteres Unicode a la Terminal de Windows si SendInput()
ya no funciona de forma predeterminada?
Por lo que puedo ver, este problema se solucionó en # 7900. Cerraré este problema por ahora ya que WinCompose funciona bien en mi extremo con la última versión de WT.
Lo bueno es que finalmente entendí por qué hemos estado recibiendo eventos clave extraños, que contienen códigos de escaneo no válidos, para aplicaciones de terceros que emplean SendInput
: WT no usa TranslateMessage(Ex)
correctamente. (Quiero decir, hay una razón muy específica por la que no lo hace ... a saber, la necesidad de recibir eventos clave incluso para claves de caracteres).
Comentario más útil
Por lo que puedo ver, este problema se solucionó en # 7900. Cerraré este problema por ahora ya que WinCompose funciona bien en mi extremo con la última versión de WT.
Lo bueno es que finalmente entendí por qué hemos estado recibiendo eventos clave extraños, que contienen códigos de escaneo no válidos, para aplicaciones de terceros que emplean
SendInput
: WT no usaTranslateMessage(Ex)
correctamente. (Quiero decir, hay una razón muy específica por la que no lo hace ... a saber, la necesidad de recibir eventos clave incluso para claves de caracteres).