Como definir a chave AltGr com xmodmap

7

Eu uso um us-intl com o layout "AltGr dead keys" e a opção de alternar as teclas Alt e Win. Bom, mas meu AltGr não funciona. A chave que eu quero usar para AltGr tem código de tecla 134 (descobri usando xev). Então eu crio um arquivo .Xmodmap:

keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key

do que eu executo "xmodmap .Xmodmap". Quando mostro meu modificador agora, recebo:

> 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)

Mas ... pressionando "AltGr" (a chave com código 134 = 0x86) + "q" não fornece o resultado esperado - que seria "a-umlaut". Deveria! xmodmap -pke contém esta linha:

keycode  24 = q Q q Q adiaeresis Adiaeresis adiaeresi

Então, o que está errado e o que posso fazer?

    
por Nathan 14.07.2014 / 12:48

1 resposta

3

De acordo com o Manual do Xmodmap , quando você deseja trocar ou alterar as teclas modificadoras que você precisa remover & amp; limpar seus laços com seus códigos de tecla originais e grupos de modificadores. Em seguida, depois de atribuí-los a um novo código de acesso, você também deve atribuí-los a um novo grupo exclusivo.

Parece que (isto parece ser bastante comum devido às configurações do fabricante) o grupo modificador 5 recebeu dois modificadores diferentes [Level3_shift] & amp; [Mode_switch]! Com efeito, pressionando um deles, ativa / envia ambos para o sistema. Cada um deles é projetado para fornecer acesso a uma única camada / nível do teclado, bem como uma camada / nível único adicional quando pressionados juntos. [Mode_switch] é aparentemente sinônimo de [AltGr] fornecendo acesso à camada 2 - o segundo conjunto de [q] & amp; [Q] em seu exemplo, [ISO_Level3_shift] fornece acesso ao nível três - o [ä] & amp; [Ä] no seu exemplo - mas você não pode digitar nenhuma dessas chaves sem digitar ambas até que você altere seu arquivo .xmodmap. E o seu segundo "adiaeresi" (sic.) Está faltando a final [s], por isso não iria produzir qualquer personagem.

Eu sei que isso é bastante confuso e complicado por nenhuma razão aparente, mais esse segmento é antigo. Mas espero que alguém encontre minha explicação útil em algum momento!

    
por AuralArch 24.01.2017 / 06:54