I have to often switch the OS keyboard language between Latin an Cyrillic. When the keyboard is Cyrillic the short keys don't work because they are not recognized. For example a Latin command of C-x-c becomes C-ь-ц. Is there a way to make Emacs map all the Cyrillic keys to the same functionality as the Latin ones (the short keys will be the same physical buttons both in Latin and Cyrillic).

I do know that I could switch between input languages in Emacs using C-\ which will make typing in Emacs be Cyrillic while short keys execute as Latin. However this is not what I need.


There is a package for that -- reverse-im (https://github.com/a13/reverse-im.el)

It does what you want with one exception -- it doesn't work for magit menus and other packages that uses a kind of non-default(?) approach for keybindings.


I use it for cyrillic too.


You can add a host of remappings of the form

(define-key function-key-map [?\C-ь] [?\C-x])

See also https://stackoverflow.com/questions/10639429

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.