Переключение раскладки в Emacs при помощи SCIM

В одном из своих постов я написал, как поменять местами некоторые клавиши. Не так давно наткнулся на следующий пост, о переключении раскладок в 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.

Ярлыки: , , , ,