Terminal: Windows Terminal 1.1 interrompt l'entrée WinCompose

Créé le 27 juil. 2020  ·  3Commentaires  ·  Source: microsoft/terminal

Environnement

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)

Étapes à suivre pour reproduire

  1. Démarrez WinCompose et Windows Terminal (cmd, powershell ou WSL n'a pas d'importance)
  2. Entrez n'importe quel caractère à l'aide de la touche de composition WinCompose
    par exemple rightAlt + o a

Comportement prévisible


Le caractère correct («å» dans l'exemple ci-dessus) est envoyé au terminal.

Comportement réel


Apparemment aucun caractère n'est envoyé, au moins rien n'est affiché.

Probablement lié à # 6309 car le paramètre "experimental.input.forceVT": true donne le comportement attendu.

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

Commentaire le plus utile

Autant que je puisse voir, ce problème a été résolu dans # 7900. Je vais fermer ce problème pour l'instant car WinCompose fonctionne très bien de mon côté avec la dernière version de WT.

La bonne chose est que j'ai enfin compris pourquoi nous recevons des événements clés étranges, contenant des codes de scan invalides, pour des applications tierces utilisant SendInput : WT n'utilise pas correctement TranslateMessage(Ex) . (Je veux dire qu'il y a une raison très spécifique pour laquelle ce n'est pas le cas ... à savoir la nécessité de recevoir des événements clés même pour les touches de caractères.)

Tous les 3 commentaires

Hein. Cela ne fonctionne pas exactement dans la console traditionnelle non plus, et c'était un peu un hasard si cela fonctionnait dans WT. Il _devrait_, cependant.

C'est ce que j'obtiens si je regarde les événements clés sortant de WC dans la console traditionnelle:

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

et voici ce que je reçois du robinet:

␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_

ce 255 n'est certainement pas correct

Alors, comment une application tierce devrait-elle envoyer des caractères Unicode au terminal Windows si SendInput() ne fonctionne plus par défaut?

Autant que je puisse voir, ce problème a été résolu dans # 7900. Je vais fermer ce problème pour l'instant car WinCompose fonctionne très bien de mon côté avec la dernière version de WT.

La bonne chose est que j'ai enfin compris pourquoi nous recevons des événements clés étranges, contenant des codes de scan invalides, pour des applications tierces utilisant SendInput : WT n'utilise pas correctement TranslateMessage(Ex) . (Je veux dire qu'il y a une raison très spécifique pour laquelle ce n'est pas le cas ... à savoir la nécessité de recevoir des événements clés même pour les touches de caractères.)

Cette page vous a été utile?
0 / 5 - 0 notes