Es gibt einen Fehler bei der Verwendung eines chinesischen Eingabemethoden-Editors (IME), um englische Zeichen einzugeben (z. B. Wörter eingeben, ohne den IME auszuschalten). Normalerweise bedeutet das Drücken der Eingabetaste „keinen Kandidaten auswählen und den Inhalt direkt in den Puffer eingeben“. In der Chat-Oberfläche wird dies jedoch als „Nachricht senden“ interpretiert, was diesen Fehler verursacht.
Erwartetes Verhalten:
- Benutzer gibt englische Buchstaben über chinesischen IME ein (z. B. „hallo“ eingeben)
- IME zeigt eine Liste von Kandidatenwörtern an
- Benutzer drückt die Eingabetaste und erwartet: die ursprünglich eingegebenen Buchstaben zu bestätigen, ohne Kandidaten auszuwählen
Tatsächliches Verhalten:
- Die Eingabetaste wird von der Chat-Oberfläche abgefangen und löst direkt die Funktion „Nachricht senden“ aus
- Dies führt dazu, dass der Inhalt des IME-Puffers falsch gesendet wird oder eine unvollständige Nachricht gesendet wird
Grundursache:
Dies ist ein Konflikt von Tastenkombinationen auf zwei Ebenen:
- IME-Ebene: Eingabetaste = aktuelle Eingabe (Komposition) bestätigen
- Anwendungsebene: Eingabetaste = Nachricht senden
Die Chat-Anwendung behandelt den „Kompositionszustand“ des IME nicht ordnungsgemäß, was dazu führt, dass sie das Ereignis der Eingabetaste abfängt, während der IME noch die Eingabe verarbeitet.
