Hay un error al usar un editor de métodos de entrada (IME) chino para escribir caracteres en inglés (por ejemplo, escribir palabras sin desactivar el IME). Normalmente, presionar Enter significa “no seleccionar ningún candidato e introducir directamente el contenido en el búfer”. Sin embargo, en la interfaz de chat, esto se interpreta como “enviar mensaje”, lo que provoca este error.
Comportamiento esperado:
- El usuario escribe letras en inglés usando el IME chino (por ejemplo, escribe “hello”)
- El IME muestra la lista de palabras candidatas
- El usuario presiona Enter, esperando: confirmar las letras escritas originales sin seleccionar ningún candidato
Comportamiento real:
- La interfaz de chat captura la tecla Enter, activando directamente la función “enviar mensaje”
- Esto provoca que el contenido del búfer del IME se envíe incorrectamente o que se envíe un mensaje incompleto.
Causa raíz:
Este es un conflicto de atajos de teclado entre dos niveles:
- Nivel IME: Enter = confirmar la entrada actual (composición)
- Nivel de aplicación: Enter = enviar mensaje
La aplicación de chat no está manejando correctamente el “estado de composición” del IME, lo que hace que intercepte el evento de la tecla Enter mientras el IME todavía está procesando la entrada.
