P: ¿cómo cambio entre métodos de entrada para diferentes idiomas cuando uso una distribución de teclado no estándar?
Tengo que editar texto en dos idiomas diferentes. Me gustaría poder usar mis combinaciones de teclas en los dos idiomas, excepto, por supuesto, al insertar texto en el búfer. Parece que debería poder toggle-input-method
( C-\
) y seleccionar el idioma alternativo.
Hasta ahora, casi tan bueno.
Aquí está el problema: uso el diseño Dvorak en inglés, que configuré en el nivel del sistema operativo (es decir, con setxkbmap
). Cuando yo toggle-input-method
, el texto que inserto sería correcto si tuviera un diseño QWERTY (el estándar en los EE. UU.), Pero sale como un galimatías porque estoy en Dvorak. (FWIW, cuando cambio mi diseño al estándar de EE. UU., Funciona bien).
Entonces: ¿cómo informo a Emacs que estoy usando Dvorak para que toggle-input-method
mis amigos traduzcan mis pulsaciones de teclas a los caracteres correctos en el otro idioma?
fuente
Respuestas:
Hay un método para cambiar la definición de diseño físico para el método de entrada mediante la configuración
quail-keyboard-layout-type
. Pero parece que Dvorak no está entre los posibles candidatosquail-keyboard-layout-alist
en mi Emacs 24.4.Puede definir un nuevo diseño de teclado físico mirando la definición de
quail-keyboard-layout-alist
inquail.el
o crear un nuevo método de entrada definiendo las teclas árabes correspondientes para el diseño de Dvorak.No tengo experiencia en el primero, pero puedo testificar que el segundo enfoque es más fácil de lo que piensas. (Tuve que crear un método de entrada turco otomano encima de farsi). Copie
arabic.el
(que reside en mi sistema Debian en/usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gz
) a su hogarsite-lisp
y cambie las claves según sus preferencias. Además, no olvide cambiar los nombres de los métodos de entrada, etc. Acaba de crear un nuevo método de entrada Dvorak-Árabe.Puedo actualizar la respuesta con más detalles si algo parece complejo.
fuente
...-alist
versión.quail-. *-alist
desarrollo de Emacs. Estoy seguro de que hay otros usuarios de Dvorak que se beneficiarán de ello.@EmreSahin me puso en el camino correcto para responder esta pregunta, así que expongo un poco de los detalles en caso de que alguien más tenga que lidiar con un problema como este.
Como señala Emre, necesitamos agregar un diseño de Dvorak
quail-keyboard-layout-alist
. Resulta que laquail
biblioteca no está bien documentada en el manual , en el que se mencionan dos funciones relacionadas al pasar en un nodo.Sin embargo, después de consultar este hilo de ayuda y, especialmente, la página de EmacsWiki en ruso con Dvorak (de la cual esta cuna de respuesta), creo que lo he resuelto.
La cadena de documentación de la variable
quail-keyboard-layout
describe lo que necesitamos ponerquail-keyboard-layout-alist
. Es una cadena larga que corresponde a 6 filas de 15 teclas cada una. Cada fila corresponde a los valores no desplazados y desplazados de cada clave, para un total de 30 caracteres por fila. Estoy menos seguro sobre el siguiente punto, pero parece que, para lo que llamaré teclados "semi-estándar" con 4 filas de teclas, la primera y la sexta filas deberían ser 30 espacios en blanco.La gran revelación:
fuente