Я хотел бы изменить право контроль ключ в "супер" модификатор и право альт ключ к модификатору "alt" (не Meta) в Solaris и Linux (поскольку я знаю, как это сделать в Windows с помощью AutoHotKey). Я знаю, как это сделать:
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier
Но я не знаю, как указать право контроль ключ или право альт ключ (который удобнее набирать, чем ключи Windows). Если это можно сделать прямо в emacs (и избегать AutoHotKey в Windows), это было бы здорово. В противном случае я хотел бы знать, чего можно достичь в Solaris и Linux, думая так же, как AutoHotKey.
linux
emacs
key-binding
Adrian Chira
источник
источник
Ответы:
Я не знаю ни одного способа сделать это в Emacs. Насколько я знаю, два Ctrl ключи обрабатываются одинаково. Для некоторых ОС есть возможность изменить keysym для R-Alt но я не знаю ни одного для X Windows. Обратите внимание, что вы можете использовать
x-alt-keysym
переменная для смены ключа и то и другое Alt ключи.Вы можете изменить модификаторы, связанные с каждым ключом в X Windows, используя
xmodmap
, Arch Wiki статья охватывает его использование. В принципе:Тип
xmodmap -pm
распечатать список модификаторов и назначенных им ключей, например.Затем создайте файл, который очищает и повторно связывает модификаторы, которые вы хотите изменить. Например. изменить R-Ctrl в
super
, это должно работать:Чтобы справиться, Alt ключи, вы можете использовать:
Это должно заставить Emacs найти существующий
meta
модификатор и прекратить лечение Alt ключи какmeta
по умолчанию. Тогда R-Alt ключ будет доступен какalt
модификатор для использования в Emacs (и L-Alt какmeta
). Я никогда не пробовал это.Если это не сработает, вам придется выбрать неиспользуемый модификатор для привязки R-Alt например,
hyper
, Тогда вы можете использовать это в привязках Emacs.Вы можете активировать изменения, сохранив свой файл как
~/.Xmodmap
и работаетВо многих средах рабочего стола,
~/.Xmodmap
будет автоматически запускаться при запуске. Если нет, вам придется запустить его в своем~/.xinitrc
файл:источник
Ctrl_L
(FFE3) иCtrl_R
(FFE4) назначены наcontrol
модификатор.Alt_L
(FFEA) иAlt_R
(FFE9) назначены наmod1
модификатор.