решение xmodmap
Я думаю, что вы можете сделать это, используя xmodmap , инструмент для изменения раскладок клавиш. Поскольку моя клавиатура не имеет правильной Superклавиши, я не могу подтвердить это решение, поэтому, пожалуйста, оставьте комментарий, если он не работает.
Все шаги выполняются в терминале
Распечатать текущую карту модификатора
Run
xmodmap
Это должно напечатать текущую карту модификатора, которая должна выглядеть примерно так
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Важная строка - это mod4
строка, эта строка показывает, какие коды клавиш отображаются на символы клавиш Super_L и Super_R.
Резервное копирование карты ключей.
Прежде чем мы что-либо изменим, рекомендуется создать резервную копию текущей карты ключей.
xmodmap -pke > ~/.xmodmap.orig
Теперь, если что-то пойдет не так, вы можете просто напечатать
xmodmap ~/.xmodmap.orig
восстановить исходную карту ключей. (Если вы допустили серьезные ошибки и больше не можете правильно печатать, перезагрузка также работает)
Проверьте текущую карту Super ключей для ключей.
Предполагая, что Superключи имеют последовательные коды ключей (в данном случае 0x85 и 0x86), мы можем проверить текущее отображение, запустив
xmodmap -pke | grep -wA1 $((0x85))
конечно, вы должны изменить 0x85 на код ключа, который вы получили из своей карты модификаторов. Это должно дать вам
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
( $((0x85))
преобразует шестнадцатеричное число в десятичное)
Скопируйте поведение слева Super направо. Super
Как вы можете видеть из предыдущего шага, правая Superклавиша имеет код клавиши 134, но мы хотим, чтобы она имела поведение левой Superклавиши, которая имеет код 133. Мы можем сделать это, переназначив ключ, используя
xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"
Проверка, если это работает,
если вы сейчас делаете
xmodmap -pke | grep -wA1 $((0x85))
Тебе следует увидеть
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L
Это означает, что оба ключа теперь имеют одинаковое поведение. Также карта-модификатор должна была измениться в соответствии с mod4
, мы можем проверить это, запустив
xmodmap | grep 'mod4'
который должен дать
mod4 Super_L (0x85), Super_L (0x86), Super_L (0xce), Hyper_L (0xcf)
И конечно же ярлыки, которые вы упомянули, тоже должны работать!
Сделайте отображение постоянным
Если оно работает, вы можете убедиться, что эти настройки автоматически применяются при загрузке. Пробег
echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc
сохранить ваше пользовательское сопоставление клавиш в файле ~/.xmodmaprc
. Пробег
echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc
чтобы убедиться, что карта пользовательских ключей выполняется при загрузке вашего оконного менеджера.
Settings Manager -> Keyboard
, есть ли вариант, какexo-open --launch TerminalEmulator
? Если так, что это говорит во втором столбце, ярлык?