Terminal: Windows Terminal 1.1 unterbricht die WinCompose-Eingabe

Erstellt am 27. Juli 2020  ·  3Kommentare  ·  Quelle: microsoft/terminal

Umgebung

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)

Schritte zum Reproduzieren

  1. Starten Sie WinCompose und Windows Terminal (cmd, Powershell oder WSL spielen keine Rolle).
  2. Geben Sie ein beliebiges Zeichen mit dem WinCompose-Kompositionsschlüssel ein
    zB rightAlt + o a

Erwartetes Verhalten


Das richtige Zeichen (im obigen Beispiel 'å') wird an das Terminal gesendet.

Tatsächliches Verhalten


Anscheinend wird kein Zeichen gesendet, zumindest wird nichts angezeigt.

Wahrscheinlich im Zusammenhang mit # 6309, da das Setzen von "experimental.input.forceVT": true das erwartete Verhalten ergibt.

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

Hilfreichster Kommentar

Soweit ich sehen kann, wurde dieses Problem in # 7900 behoben. Ich werde dieses Problem vorerst schließen, da WinCompose mit der neuesten WT-Version einwandfrei funktioniert.

Das Gute ist, dass ich jetzt endlich verstanden habe, warum wir seltsame Schlüsselereignisse mit ungültigen Scan-Codes für Anwendungen von Drittanbietern erhalten haben, die SendInput : WT verwendet TranslateMessage(Ex) richtig. (Ich meine, es gibt einen ganz bestimmten Grund, warum dies nicht der Fall ist ... nämlich die Notwendigkeit, Schlüsselereignisse auch für Charakterschlüssel zu erhalten.)

Alle 3 Kommentare

Huh. Dies funktioniert auch in der herkömmlichen Konsole nicht genau, und es war ein Zufall, dass es in WT funktioniert hat. Es sollte jedoch.

Das bekomme ich, wenn ich mir die wichtigsten Ereignisse aus dem WC in der traditionellen Konsole anschaue:

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

und hier ist, was ich über den Wasserhahn bekomme:

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

das 255 ist definitiv nicht richtig

Wie sollte eine Drittanbieteranwendung Unicode-Zeichen an Windows Terminal senden, wenn SendInput() standardmäßig nicht mehr funktioniert?

Soweit ich sehen kann, wurde dieses Problem in # 7900 behoben. Ich werde dieses Problem vorerst schließen, da WinCompose mit der neuesten WT-Version einwandfrei funktioniert.

Das Gute ist, dass ich jetzt endlich verstanden habe, warum wir seltsame Schlüsselereignisse mit ungültigen Scan-Codes für Anwendungen von Drittanbietern erhalten haben, die SendInput : WT verwendet TranslateMessage(Ex) richtig. (Ich meine, es gibt einen ganz bestimmten Grund, warum dies nicht der Fall ist ... nämlich die Notwendigkeit, Schlüsselereignisse auch für Charakterschlüssel zu erhalten.)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen