Se puede decir lo que las disposiciones de teclado que utiliza en su sistema operativo y qué métodos de entrada se utiliza en Emacs? Actualmente no hay suficiente información en tu publicación. Mi problema fue, por ejemplo, que utilicé Colemak y la máquina de escribir rusa como diseños de sistema operativo y la máquina de escribir rusa como método de entrada secundario de Emacs. La combinación Colemak (OS) -Russian (Emacs) estropeó mi entrada, porque el método de entrada de Emacs es el mapeo del carácter inglés, recibido del sistema operativo, a algún personaje ruso, y todos los métodos de entrada en Emacs se basan en la asignación de QWERTY. Por ejemplo, lo que debería haber sido "йцукен" se imprimió como "йцазпо". Lo resuelto mediante la ejecución del siguiente código:
(require 'quail)
(quail-define-package
"colemak-russian" "Russian" "ru" nil
"Russian-typewriter keyboard layout assuming that your default
keyboard layout is Colemak"
nil t t t t nil nil nil nil nil t)
(quail-define-rules
("1" ?№) ("2" ?-) ("3" ?/) ("4" ?\") ("5" ?:) ("6" ?,) ("7" ?.) ("8" ?_) ("9" ??)
("0" ?%) ("-" ?!) ("=" ?\;) ("q" ?й) ("w" ?ц) ("f" ?у) ("p" ?к) ("g" ?е) ("j" ?н)("l" ?г)
("u" ?ш) ("y" ?щ) (";" ?з) ("[" ?х) ("]" ?ъ) ("\\" ?\)) ("a" ?ф) ("r" ?ы) ("s" ?в)
("t" ?а) ("d" ?п) ("h" ?р) ("n" ?о) ("e" ?л) ("i" ?д) ("o" ?ж) ("'" ?э) ("z" ?я) ("x" ?ч)
("c" ?с) ("v" ?м) ("b" ?и) ("k" ?т) ("m" ?ь) ("," ?б) ("." ?ю) ("/" ?ё) ("~" ?+) ("!" ?1)
("@" ?2) ("#" ?3) ("$" ?4) ("%" ?5) ("^" ?6) ("&" ?7) ("*" ?8) ("\(" ?9) ("\)" ?0) ("_" ?=)
("+" ?\\) ("Q" ?Й) ("W" ?Ц) ("F" ?У) ("P" ?К) ("G" ?Е) ("J" ?Н) ("L" ?Г) ("U" ?Ш) ("Y" ?Щ)
(":" ?З) ("{" ?Х) ("}" ?Ъ) ("|"?\() ("A" ?Ф) ("R" ?Ы) ("S" ?В) ("T" ?А) ("D" ?П) ("H" ?Р)
("N" ?О) ("E" ?Л) ("I" ?Д) ("O" ?Ж) ("\"" ?Э) ("Z" ?Я) ("V" ?Ч) ("X" ?С) ("C" ?М) ("B" ?И)
("K" ?Т) ("M"?Ь) ("<" ?Б) (">" ?Ю) ("?" ?Ё))
y luego se usa en lugar de colemak-russian
russian-typewriter
. Puede cambiar los pares asociados con los diseños correspondientes.
EDITAR: Por supuesto, esta no es la solución más correcta. Como se observó en Maksim, los caracteres comunes a ambos idiomas se traducen aunque no se los debe usar. Por ejemplo, configuro el diseño del sistema para el método de entrada Colemak y Emacs para "colemak-ruso" - entonces no puedo usar comas, que se convierten en "б".
Para hacer que Emacs ignore el diseño del sistema, puede integrarlo con un software de terceros como xxkb, SCIM o IBus. Mientras hablas ruso, puedes probar este tutorial.
Yo personalmente uso un hacky workaround para traducir los caracteres rusos dentro de las combinaciones de teclas e ignorar por completo los métodos de entrada de Emacs.
¿Cuál es su método de entrada de Emacs y cuál es el diseño del teclado de su sistema? Por favor, diga los nombres exactos. –