Когда я нажимаю левую клавишу Super kbd>, появляется оболочка гнома, а когда я нажимаю правую клавишу Super kbd>, она не появляется. Более того, нажатие правой клавиши Super kbd> + T kbd> действительно открывает терминал сразу, но при использовании левой суперкарты мне приходится дважды нажимать T kbd>, когда я нажимаю T kbd> только один раз, это похоже на простое нажатие T kbd> без удержания Super kbd> влево. Эта последняя точка также встречается с другими ярлыками, которые я определил (например, Super kbd> + L kbd>, Super kbd> + E kbd>), но не с Супер kbd> + Вверх / Вниз / Влево / Вправо kbd>.
Я хочу нажать клавишу Super kbd>, чтобы получить оболочку gnome, и использовать клавишу Super kbd> в сочетании с T kbd>, чтобы открыть терминал сразу (и аналог с другими ярлыками). Я использую Ubuntu 12.04 LTS и оболочку gnome 3.
Я думаю, вы можете сделать это, используя xmodmap , инструмент для изменения раскладок клавиш. Поскольку моя клавиатура не имеет правильной клавиши Super kbd>, я не могу подтвердить это решение, поэтому, пожалуйста, оставьте комментарий, если оно не работает.
Все шаги выполняются в терминале
Распечатать текущую карту модификатора
Выполнить
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 kbd> [ 1148]
Предполагая, что ключи Super kbd> имеют последовательные коды клавиш (в данном случае 0x85 и 0x86), мы можем проверить текущее отображение, выполнив
xmodmap -pke | grep -wA1 $((0x85))
: конечно, вы должны изменить 0x85 на код ключа, который вы получили из своей карты модификаторов. Это должно дать вам
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
($((0x85))
преобразует шестнадцатеричное число в десятичное)
Скопируйте поведение левого Super kbd > направо Super kbd>
Как видно из предыдущего шага, правая клавиша Super kbd> имеет код 134, но мы хотим чтобы он имел поведение левой клавиши Super kbd>, имеющей код клавиши 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
, чтобы убедиться, что карта пользовательских клавиш выполняется при загрузке вашего оконного менеджера.