Я использую нас-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
Так что не так и что я могу сделать?
Согласно Руководству Xmodmap, когда Вы хотите подкачать или изменить модифицирующие клавиши, необходимо удалить и очистить их связи с их исходными кодами клавиши и группами модификатора. Затем после присвоения их к новому коду клавиши необходимо также присвоить их новой, уникальной группе.
Это похоже (это, кажется, довольно распространено из-за конфигураций производителя), группе 5 модификатора присвоили два различных модификатора [Level3_shift] и [Mode_switch]! В действительности, нажимая одного из них, активирует/отправляет их обоих к системе. Каждый из них разработан для обеспечения доступа к уникальному слою/уровню клавиатуры, а также дополнительному уникальному слою/уровню при прижимании друг к другу. [Mode_switch] по-видимому синонимичен с [AltGr] обеспечение доступа к уровню 2-, который второй набор [q] и [Q] в Вашем примере, [ISO_Level3_shift] обеспечивает доступу для выравнивания три - [ä] и [Ä] в примере - но Вы не можете ввести ни один из тех ключей, не вводя обоих, пока Вы не изменяете свой .xmodmap файл. И Ваш второй "adiaeresi" (так). пропускает финал [s], таким образом, он не произвел бы символа.
Я знаю, что это довольно сбивающее с толку и замысловатое без видимой причины, плюс этот поток старо. Но надо надеяться кто-то найдет мое объяснение полезным в какой-то момент!