Как переназначить ключ контекстного меню на супер ключ

25

Эта клавиатура имеет только одну супер-клавишу, поэтому я хочу переназначить клавишу меню, чтобы восполнить это.

MiffTheFox
источник

Ответы:

26

Используйте, xevчтобы найти код ключа, который вы хотите переназначить. Например, если я нажимаю Menuклавишу, это говорит мне, что это код клавиши 135 .

Далее в моем ~/.xmodmaprcфайле я добавляю строку вроде этой:

keycode 135 = Super_R

... чтобы сделать это правым ключом окна. Тогда остается только активировать переназначение ключей. Обычно это происходит автоматически при входе в сеанс x, но если среда рабочего стола этого не делает, вы можете запустить его вручную xmodmap ~/.xmodmaprcиз командной строки или любого другого сценария, который запускается при входе в систему.

Калеб
источник
2
Единственная реальная проблема с xmodmap - это когда вы переключаете раскладки. Вы должны снова выполнить xmodmap.
Гринольдман
Я только что попробовал именно это, и я не получаю никакого события для клавиши меню. Я использую Xfce4, может быть, в этом причина, но я не могу сопоставить клавишу меню с чем-либо полезным.
Арне
@arne нет событий в xev? Все остальные клавиши показывают события?
Калеб
@Caleb да все остальные ключи показывают события. Но для меня это решено сейчас. Я узнал, что когда я делаю xmodmap ~/.Xmodmapиз .xinitrc, как это описано в Arch Wiki, это работает. Просто предварительный просмотр с xmodmap, когда я уже вошел в систему, не работает.
Арне
6

Я не знаю, какую систему вы используете, но если это довольно современный логин с правами root, перейдите на

/usr/share/X11/xkb/keycodes

Скопируйте (сделайте резервную копию) evdevфайл. Отредактируйте это. Найдите строку с ключом меню и измените ее псевдоним на супер ключ (левый или правый), например, изменить

alias <MENU> = <COMP>;

в

alias <MENU> = <SUPR>;

Выйдите из системы, войдите ( X11необходимо перезапустить), наслаждайтесь новой клавиатурой.

greenoldman
источник
1

Это делает трюк:

xmodmap -e "keysym Menu = Super_R"
Рафаэль
источник