Composición IME: La tecla Intro envía el mensaje en lugar de confirmar la entrada


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:

  1. Nivel IME: Enter = confirmar la entrada actual (composición)
  2. 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.

1 me gusta

Un usuario de mi comunidad ha publicado un Userscript que lo resolvió, podría ser útil: 私聊聊天优化建议 - #17 by Haleclipse - 运营反馈 - LINUX DO

¿Ayuda cambiar la preferencia a “enviar por Ctrl + Enter”?

Aquí en Meta puedes encontrarlo en Discourse Meta - The Official Support Forum for Discourse

1 me gusta

Eso debería solucionarlo una vez fusionado:

Tenga en cuenta que también lo probé en google.com, por ejemplo, y la primera opción no funcionará con enter, necesita usar 1 para que funcione.

2 Me gusta

Este tema se cerró automáticamente 7 días después de la última respuesta. Ya no se permiten nuevas respuestas.