Разница влево / вправо супер кнопку

Когда я нажимаю левую клавишу Super , появляется оболочка гнома, а когда я нажимаю правую клавишу Super , она не появляется. Более того, нажатие правой клавиши Super + T действительно открывает терминал сразу, но при использовании левой суперкарты мне приходится дважды нажимать T , когда я нажимаю T только один раз, это похоже на простое нажатие T без удержания Super влево. Эта последняя точка также встречается с другими ярлыками, которые я определил (например, Super + L , Super + E ), но не с Супер + Вверх / Вниз / Влево / Вправо .

Я хочу нажать клавишу Super , чтобы получить оболочку gnome, и использовать клавишу Super в сочетании с T , чтобы открыть терминал сразу (и аналог с другими ярлыками). Я использую Ubuntu 12.04 LTS и оболочку gnome 3.

10
задан 5 January 2013 в 18:44

1 ответ

Решение xmodmap

Я думаю, вы можете сделать это, используя xmodmap , инструмент для изменения раскладок клавиш. Поскольку моя клавиатура не имеет правильной клавиши Super , я не могу подтвердить это решение, поэтому, пожалуйста, оставьте комментарий, если оно не работает.
Все шаги выполняются в терминале

Распечатать текущую карту модификатора
Выполнить

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 [ 1148]
Предполагая, что ключи 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

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

0
ответ дан 5 January 2013 в 18:44

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

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