В одном из своих постов я написал, как поменять местами некоторые клавиши. Не так давно наткнулся на следующий пост, о переключении раскладок в Xorg и в Emacs в частности, за что автору огромное спасибо! И товарищу Вязовому Павлу в частности. Вкратце опишу установку сего чуда в Gentoo и о том, как сделать переключение раскладки в Emacs. И так, поехали...
Ставим необходимые пакеты:
# emerge scim scim-tables scim-m17n
После установки, в файле ~/.xinitrc добавляем следующее:
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
scim -d &
Для того, чтобы Emacs игнорировал переключение раскладки, в ~/.Xresources добавляем:
Emacs*useXIM: false
Дальше, цитирую: "После перезагрузки иксов, scim вызывается нажатием Ctrl-Space, после чего появляется панель программки, которая показывает текущую раскладку и предоставляет возможность настроить программу. Чем мы и воспользуемся."
Но, перед этим я сделал следующее:
Во первых в ~/.xmodmaprc я в конце добавил keycode 37 = F17, keycode 37 - это сканкод левого Control, а F17 - будет его синонимом. Теперь уже настраиваем сам scim. У меня переключение раскладки выполняет левый Control, а следовательно keysym F17. Для Emacs биндим этот keysym на toggle-input-method и радуемся жизни. =)
P.S.: В xorg.conf я удалил опции "XkbLayout" и "XkbOptions", т.к. теперь раскладку переключает scim.