как переназначить Ctrl в Escape, если нажать и отпустить самостоятельно

Я хочу переназначить элемент управления, чтобы:

  1. Если его нажать и отпустить без какой-либо другой клавиши, он будет действовать как Esc .
  2. Если она нажата & amp; вместе с другим ключом он действует как Ctrl (в этом случае никаких изменений в поведении).

Мне известно о Как переназначить определенные ключи или устройства? , поэтому я подозреваю, что это можно сделать с помощью xmodmap. Но этот ответ не объясняет, как отобразить клавиши-модификаторы. Я просмотрел примеры и разделы грамматики на странице руководства xmodmap, но они не объясняют этого. В ответе Remapping Caps Lock на Control и Escape (не обычным способом) упоминается, что это невозможно сделать с Caps Lock , так как это ключ блокировки, но Я надеюсь, что это возможно сделать с помощью Control, который является ключом мода. Также будет принято решение с чем-то отличным от xmodmap. (Я запускаю Xmonad в Ubuntu 12.04, так что, возможно, есть способ настроить это в xmonad.hs?)

РЕДАКТИРОВАТЬ: Ближайшее, что я могу получить, это:

xmodmap -e 'remove Control = Control_L'
xmodmap -e 'keysym Control_L = Escape'
xmodmap -e 'add Control = Escape'

При этом я получаю Escape, когда нажимаю только одну клавишу Ctrl , но чтобы получить, скажем, Ctrl + A , мне нужно нажать < kbd> дважды нажмите левую клавишу Ctrl : Ctrl , Ctrl + A (а не просто Ctrl + A ) - не уверен, почему мне нужно нажать на него дважды.

6
задан 13 April 2017 в 15:24

2 ответа

В последнем ответе на Remapping Caps Lock на Control и Escape (не обычным способом) говорится, что эта утилита будет делать то, что вы хотите: https://github.com/alols/xcape [ 111]

0
ответ дан 13 April 2017 в 15:24

Это может быть, покончили xmodmap, но знайте это при установке некоторых вещей с setxkbmap, последняя программа переопределит и очистится xmodmap настройки.

Однако, чтобы сделать точно, с чем Вы хотите xmodmap, можно войти

xmodmap -e "keysym Control_L control = Escape Control_L" 

Теперь, если Вы смотрите на xmodmap -pm, Escape был добавлен к модификатору управления. Это означает, что, когда контроль, из-под которого выходят, нажимается, Escape вместо этого будет результатом, но когда управление будет нажато с другим ключом (как в Ctrl+C), это все еще даст тот же результат как прежде.

Протестируйте его путем ввода в терминал man xmodmap и затем нажмите ctrl при рассмотрении страницы справочника, и это повторит 'esc', но когда Вы нажмете Ctrl+Z, это приостановит страницу.

Если Вы хотите сбросить свои экспериментирования с xmodmap, выйдите из системы и войдите в систему снова, и если Вы хотите установить вышеупомянутое xmodmap управляйте как объект запуска, см. мой ответ здесь:

1
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: