La solución a su solicitud es el Método de entrada.
Lo que ha descrito es algo familiar para la mayoría de los usuarios del lenguaje CJK. Repasemos cómo funciona el método de entrada en los sistemas Linux actuales.
El sistema de método de entrada
Aquí hay una arquitectura simple para un sistema de método de entrada común:
NOTA: Yo Snapshot esta imagen de la entrada X Protocolo Método . Algunas de las flechas son irrelevantes para la siguiente discusión.
Históricamente, XIM (el protocolo X Input Method) fue el único protocolo. Es demasiado complejo y carece de algunas características deseadas. Por lo tanto, está mayormente abandonado, aunque los kits de herramientas populares como GTK, Qt todavía proporcionan compatibilidad.
Un sistema moderno de método de entrada contiene varias partes:
Soporte de biblioteca del lado del cliente
- implementado típicamente como un módulo cargado por kits de herramientas (por ejemplo, para GTK, ver
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/
)
- Servidor de método de entrada
- Servidor X
¿Cómo encajan estas partes?
Un usuario escribe una clave. El servidor X recibe el evento de hardware desde la interfaz evdev, compone un XEvent y lo envía a la aplicación bajo el foco del teclado. El módulo de método de entrada del kit de herramientas de aplicación (GTK, Qt) intercepta el evento y pasa la información al servidor del método de entrada. El servidor del método de entrada calcula lo que el usuario puede desear y pasa parte del texto al módulo de MI.
Ahora, hablemos sobre la arquitectura del servidor de mensajería instantánea.
Un servidor de mensajería instantánea generalmente consta de dos partes:
- Un marco de mensajería instantánea que maneja las complejidades específicas de la plataforma y proporciona una interfaz agradable para el motor de mensajería instantánea y el kit de herramientas de módulos de mensajería instantánea. Proporciona los mecanismos de IPC utilizados por el módulo de IM, el servidor y el motor.
- Varios motores de mensajería instantánea hacen el trabajo real de transformar las claves escritas por el usuario en el texto deseado. Los motores de MI pueden ser bibliotecas compartidas cargadas por el servidor de MI o procesos independientes que se comunican con el servidor de MI.
- Los programas de configuración del método de entrada auxiliar proporcionan una interfaz de usuario amigable para personalizar el servidor IM y los comportamientos del motor.
Con todo, lo que hace un IM es transformar lo que escribe en algo diferente y, opcionalmente, proporcionar predicciones.
Un ejemplo
Usamos ibus-pinyin
aquí para escribir algunos caracteres chinos.
La romanización de 汉语拼音 es han yu pin yin
. Primero, debe escribir todas estas letras para obtener los cuatro caracteres chinos. Pero después de algunas veces, solo necesita escribir los cuatro caracteres iniciales h y p y
para obtener el carácter chino.
En el ibus-pinyin
caso, han yu pin yin
se acorta a h y p y
.
Los motores de mensajería instantánea más avanzados utilizan técnicas de aprendizaje estadístico para proporcionar una mejor predicción. Nada puede impedirle escribir un motor de método de entrada en inglés para proporcionar un impulso de escritura.
Como beneficio adicional, todos los kits de herramientas tienen soporte para métodos de entrada, excepto algunos programas X antiguos. Entonces esta es una solución bastante universal.
Gracias a Anders FU Kiær. Características / Typing-Booster | Fedora Project Wiki debería ser la respuesta