переключалка клавиатуры Emacs (унифицированное переключение)

Модератор: /dev/random

liaonau
Сообщения: 390
ОС: gentoo

переключалка клавиатуры Emacs

Сообщение liaonau » 09.11.2013 21:19

Пробую Emacs. С evil-mode, конечно, для начала. Как я понимаю, для переключения раскладки в Emacs надо использовать его внутренние возможности, а не lock xkb группы.
Нагуглил такое http://emacs-tips.blogspot.com/2008/01/ema...-window_28.html и немного переписал из-за того, что в gtk+ фокус не обязательно принадлежит окну верхнего уровня. https://github.com/liaonau/emxkb.
Теперь, через xbindkeys, по Super+Space включается 0 группа (us) или default input method в случае Emacs, по Hyper+Space — русский.
В Emacs вот так:

Код: Выделить всё

(global-set-key                   (kbd "s-SPC") (lambda () (interactive) (deactivate-input-method)))
(global-set-key                   (kbd "H-SPC") (lambda () (interactive) (set-input-method 'russian-computer)))
(define-key evil-normal-state-map (kbd "s-SPC") (lambda () (interactive) (setq evil-input-method nil)))
(define-key evil-normal-state-map (kbd "H-SPC") (lambda () (interactive) (setq evil-input-method 'russian-computer)))

Вдруг кому-нибудь пригодится. Может быть у кого-то есть предложения по улучшению этого способа или другие идеи, как сделать переключение раскладки в X11 и в Emacs на одни и те же клавиши?
Спасибо сказали: