Переназначение клавиш 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).