Переназначение клавиш Win, Ctrl и Alt в Linux
вопрос:
как я могу переназначить (поменять местами) клавиши-модификаторы в системе Linux?
объяснение:
Я хочу установить Debian Jessie на свой компьютер, чтобы использовать его с Emacs. У меня есть MacBook с Emacs и использовать его в первую очередь. Вот как расположены ключи на ноутбуке:
fn ctrl alt cmd пробел cmd alt
fn не используется в моем рабочем процессе Emacs, другие ключи настроены, как указано ниже:
-
ctrl выступает
Hyper
-
alt выступает
Meta
-
cmd выступает
Control
эта конфигурация облегчает для меня опыт Emacs (большие удары большого пальца Control
cmd key), и я привык к такому ключу фурнитура.
по умолчанию alt используется Meta
, а ctrl используется Control
, ключи меняются местами и большой палец лежит на Meta
Я хочу настроить свои ключи на Linux таким же образом, вот что у меня есть на клавиатуре моего ПК:
ctrl win alt пробел alt win меню ctrl
Итак, чтобы соответствовать моим ключам ноутбука, я хочу win ключи для сопоставления с Alt
модификатор, и alt ключи для сопоставления с Control
модификатор. В этом случае ctrl может использоваться как Super
модификатор, в то время как меню можно оставить нетронутым.
можно ли сделать такую конфигурацию общесистемной в Linux (Debian)?
наконец, мне удалось достичь моя цель со следующей конфигурацией:
!file ~/.Xmodmap
clear control
clear mod1
clear mod4
keycode 37 = Super_L
! left Ctrl becomes Super
keycode 64 = Control_L
! left Alt becomes Control
keycode 133 = Alt_L Meta_L
! left Win becomes Alt
keycode 108 = Control_R
! right Alt becomes Control
keycode 134 = Alt_R Meta_R
! right Win becomes Alt
keycode 105 = Super_R
! right Ctrl becomes Super
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
add mod4 = Super_L Super_R
кроме того, здесь аналогичный вопрос с довольно полезными и простыми руководствами.
2 ответов
xmodmap
это место, чтобы начать, имея в виду, что X ничего не знает о Hyper
или Meta
, поэтому вам нужно исследовать, какой нумерованный модификатор (mod4, mod5 и т. д.) emacs использует для этих модификаторов.
вот несколько полезных ссылок:
Дополнительно и, возможно, проще, чем с помощью xmodmap
можно проверить раскладку клавиатуры варианты по setxkbmap
. Эти параметры реализуют common xmodmap
изменения, поэтому они могут содержать то, что вы хотите.
например, мне нравится -option ctrl:nocaps
что добавляет мне еще один control
здесь caps lock
было. Рассмотрим файл /usr/share/X11/xkb/rules/base.lst
для списка стандартных опций.
однако, ни xmodmap
, ни setxkbmap
включить настройки клавиатуры только для текста tty
клеммы (не-X).