Как переназначить Супер (левую) клавишу для управления ключом

Может кто-нибудь сказать, как переназначить мою Super (левую) клавишу на клавишу Ctrl ?

Я имею в виду Super (слева) должно работать как клавиша Ctrl .

35
задан 15 November 2017 в 16:41

5 ответов

Чтобы внести серьезные изменения в клавиатуру, включая переназначение символов и изменение модификаторов, вам необходимо: u воспользуйтесь утилитой xmodmap - см. man xmodmap . Есть несколько способов выполнить изменения:

  • либо из командной строки

     xmodmap -e "ваши команды"
     
  • или запишите команды в файл типа .xmodmaprc , затем выполните его в элементах входа или в вашем .bashrc с помощью

     xmodmap .xmodmaprc
     

    Если вы назовете файл ~ / .xmodmap , он будет выполняться автоматически при входе в систему.

Теперь команды

То, что вы хотите сделать, представляет собой двухэтапный процесс. Сначала вы отключаете Super от его модификатора, а затем сопоставляете его с control.

  1. Запустите xmodmap -pm в окне терминала, чтобы получить список связанных модификаторов. На моей машине (и предположительно вашей) Super обозначается как mod4 . Super_L и Super_R - это отдельные ключи, которые выводят один и тот же модификатор.

    Теперь вы можете отключить от него модификатор. Запустите команду xmodmap (используя один из методов выше)

     remove mod4 = Super_L
     

    Теперь физический ключ по-прежнему упоминается внутри как Super_L, но он ничего не делает.

  2. Теперь просто переназначьте его. Запустите команду xmodmap:

     add control = Super_L
     

Если вы хотите отменить это позже, просто запустите те же команды с соответствующими аргументами.

Нет Super_R?

Вывод xmodmap -pm может дать вам несколько ключей с именем Super_L, но ни одного с именем Super_R). Если это так, теперь у вас есть несколько дополнительных клавиш, назначенных для Control, но ни одна не назначена для Super. Вам придется переименовать один ключ. (NB: это может дать вам несколько Super_L и хотя бы один Super_R. Это нормально.)

Все имена ключей в таблице имеют шестнадцатеричное число в скобках рядом с ними. Этот номер представляет собой физический код клавиши на клавиатуре (он может различаться в зависимости от модели). Если вам нужно изменить один Super_L на Super_R, сначала найдите код клавиши, который вы хотите связать с Super_R (не уверены, какой из них правильный? Запустите xev , затем нажмите правый Super пару раз. Где-нибудь в лабиринте вывода "keycode = 133" (с другим номером)). Выполните команду xmodmap

keycode 133 = Super_R

, чтобы переименовать ключ, затем

add mod4 = Super_R

, чтобы назначить его Super.

32
ответ дан 15 November 2017 в 16:41

Попробуйте следующее:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Поместите приведенные выше строки в свой ~ / .Xmodmap и выполните xmodmap ~ / .Xmodmap .

.
2
ответ дан 15 November 2017 в 16:41

В Ubuntu вы можете отредактировать / etc / default / keyboard и установить:

XKBOPTIONS = "altwin: ctrl_win"

Что:

Ctrl сопоставлен с клавишами Win (и обычными клавишами Ctrl)

Подробнее см. man 5 keyboard . Вы можете найти все возможные комбинации опций в своей системе, выполнив:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win
5
ответ дан 15 November 2017 в 16:41

Командная строка:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Или вставьте ~/.Xmodmap для активации при старте:

remove mod4 = Super_L
add control = Super_L
19
ответ дан 15 November 2017 в 16:41

Если вы хотите использовать графический интерфейс:

  1. Установите / откройте Gnome Настройки
  2. Щелкните Клавиатура и мышь
  3. Щелкните Дополнительные параметры макета
  4. Разверните Положение Ctrl
  5. Выберите Поменять местами левую победу на левый Ctrl
4
ответ дан 22 October 2019 в 16:43

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

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