Terminal: Windows Terminal 1.1 rompe la entrada de WinCompose

Creado en 27 jul. 2020  ·  3Comentarios  ·  Fuente: microsoft/terminal

Ambiente

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)

pasos para reproducir

  1. Inicie WinCompose y Windows Terminal (cmd, powershell o WSL no importa)
  2. Ingrese cualquier carácter usando la tecla de redacción de WinCompose
    por ejemplo, rightAlt + o a

Comportamiento esperado


El carácter correcto ('å' en el ejemplo anterior) se envía al terminal.

Comportamiento real


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.

Area-Input Issue-Bug Needs-Tag-Fix Priority-1 Product-Terminal

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 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).

Todos 3 comentarios

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).

¿Fue útil esta página
0 / 5 - 0 calificaciones