Практическое руководство для устанавливания ключа AltGr с xmodmap

Я использую нас-intl с "расположением" мертвых клавиш AltGr и опцией переключить ключ Win и Высокий звук. Хороший, но мой AltGr не работает. Ключ, который я хочу использовать для AltGr, имеет код клавиши 134 (узнал использование xev). Таким образом, я создаю.Xmodmap файл:

keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key

чем я выполняюсь "xmodmap.Xmodmap". Когда я теперь показываю свой модификатор, я добираюсь:

> 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 (0x85),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x40),  Super_R (0x6c),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  ISO_Level3_Shift (0x86),  Mode_switch (0xcb)

Но... при нажатии AltGr (ключ с кодом 134=0x86) + q не дает ожидаемый результат - который был бы "умляутом". Это должно! xmodmap-pke содержит эту строку:

keycode  24 = q Q q Q adiaeresis Adiaeresis adiaeresi

Так что не так и что я могу сделать?

7
задан 4 February 2019 в 19:28

1 ответ

Согласно Руководству Xmodmap, когда Вы хотите подкачать или изменить модифицирующие клавиши, необходимо удалить и очистить их связи с их исходными кодами клавиши и группами модификатора. Затем после присвоения их к новому коду клавиши необходимо также присвоить их новой, уникальной группе.

Это похоже (это, кажется, довольно распространено из-за конфигураций производителя), группе 5 модификатора присвоили два различных модификатора [Level3_shift] и [Mode_switch]! В действительности, нажимая одного из них, активирует/отправляет их обоих к системе. Каждый из них разработан для обеспечения доступа к уникальному слою/уровню клавиатуры, а также дополнительному уникальному слою/уровню при прижимании друг к другу. [Mode_switch] по-видимому синонимичен с [AltGr] обеспечение доступа к уровню 2-, который второй набор [q] и [Q] в Вашем примере, [ISO_Level3_shift] обеспечивает доступу для выравнивания три - [ä] и [Ä] в примере - но Вы не можете ввести ни один из тех ключей, не вводя обоих, пока Вы не изменяете свой .xmodmap файл. И Ваш второй "adiaeresi" (так). пропускает финал [s], таким образом, он не произвел бы символа.

Я знаю, что это довольно сбивающее с толку и замысловатое без видимой причины, плюс этот поток старо. Но надо надеяться кто-то найдет мое объяснение полезным в какой-то момент!

5
ответ дан 23 November 2019 в 06:44

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

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