Как переназначить ключи в Emacs? - PullRequest
7 голосов
/ 03 февраля 2009

Я ищу способ переключения моей клавиши управления и клавиши caps-lock, когда я нахожусь в окне emacs, но когда я иду в любую другую программу, например Firefox, я хочу использовать обычную кнопку управления для новых окон, вкладок и тому подобного.

Дополнительная информация: Я использую Ubuntu, но ответы для всех систем хороши, поскольку кто-то еще может захотеть узнать, как это сделать в их системе.

Ответы [ 3 ]

8 голосов
/ 04 февраля 2009

Emacs никогда не видит код клавиши CapsLock (в любом случае, под X), поэтому вы не можете переназначить ключ в Lisp. Посмотрите на эту страницу для деталей:

http://www.emacswiki.org/emacs/MovingTheCtrlKey

7 голосов
/ 04 февраля 2009

В окнах, использующих Горячая клавиша Auto * , вы можете добиться этого с помощью этого кода, вставленного в скрипт по умолчанию:

#IfWinActive, emacs@      
    CapsLock::Control
#IfWinActive

Auto Hot Key - очень удобная утилита, которая также бесплатна, как в GPL.

2 голосов
/ 04 февраля 2009

Для глобальных переназначений ключей существует xmodmap. xkeycaps это интерактивный инструмент. Вы можете поставить управление на обе клавиши.

Поскольку вы хотите переназначить ключи только для Emacs (что я нахожу несколько опрометчивым), вам нужно поискать внутри Emacs решение. Это должно быть возможно, потому что вы можете перепривязать все ключи, но может быть слишком утомительно менять все ключи, если модификаторы не могут быть заменены.

Лично я сопоставляю CapsLock с Compose, чтобы набирать всевозможные смешные символы, такие как ä, ß, å, þ, «, -, ...

...