7

У меня есть раздражающая британская клавиатура, у которой есть клавиша Alt Gr, где правая клавиша Alt находится на клавиатуре США. Это действительно раздражает при использовании Gnome, который интенсивно использует Alt/Meta key.

Кто-нибудь знает, как я могу сопоставить клавишу Alt Gr с клавишей Alt ?

4 ответа4

7

Для тех британских пользователей, которые все еще тянут свои волосы, это сработало для меня:

xmodmap -e "clear mod5"
xmodmap -e "keycode 108 = Alt_L"

Объяснение: Первая строка удаляет текущее поведение вашего AltGr (которое назначено модификатору mod5). Второй берет ключ AltGr (который на моей клавиатуре производит код клавиши 108), и сопоставляет его с тем кодом, на который назначена клавиша Alt_L.

Если вы не знаете, что происходит с кодами клавиш и символами, я считаю, что это введение в xmodmap очень полезно.

2

gnome-tweak-tool позволяет вам делать это с графическим интерфейсом:

Ввод -> Ключ для выбора 3-го уровня -> Правая клавиша Alt никогда не выбирает 3-й уровень

1

xmodmap

Сдвиг, блокировка, управление, modN слева - это то, что Х видит и заботится. Ключевые слова на правой карте им. Mode_switch - это ваша клавиша AltGr. Переместите это, чтобы присоединиться к другим в mod1:

xmodmap -e 'clear mod5'
xmodmap -e 'add mod1 = Mode_switch'
1

Если приведенные выше ответы по-прежнему не работают, запустите xev -event keyboard (может потребоваться сначала установить ее) и нажмите AltGr с фокусом в окне Event Tester. Вы должны увидеть что-то вроде следующего в оболочке.

KeyPress event, serial 163, synthetic NO, window 0x1600001,
    root 0x119, subw 0x0, time 21667560, (151,737), root:(1111,764),
    state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

В третьей строке он дает вам код ключа и имя ключа, которое в моем случае - ISO_Level3_Shift . Теперь запустите xmodmap и проверьте вывод, прежде чем делать

xmodmap -e "remove mod5 = ISO_Level3_Shift"
xmodmap -e "add mod1 = ISO_Level3_Shift"

где ISO_Level3_Shift должен быть заменен на правильный символ ключа, если необходимо. Наконец, вам нужно добавить это в свой пользовательский скрипт rc, чтобы сделать его постоянным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .