Ao criar meu próprio arquivo de configuração xkb, consegui tornar AltGr
disfuncional. A linha de fundo é: Removendo estas três linhas (uma é na verdade um bloco inteiro) ...
xkb_keymap {
xkb_keycodes "whatever" {
[...]
>>>> <LVL3> = 92;
[...]
};
[...]
xkb_symbols "anything" {
[...]
>>>> key <LVL3> { [ ISO_Level3_Shift ] };
>>>> modifier_map Mod5 { <LVL3> };
... criou o problema e adicioná-lo novamente fez com que o problema desaparecesse, agora AltGr
funciona como esperado novamente. Então, o problema é: meu teclado não tem uma chave que produza o código de chave 92 (essa é a razão para eu remover essas linhas em primeiro lugar). Agora, eu descobri rodando xev
com dois teclados conectados (um com layout de teclado padrão do sistema e, portanto, trabalhando AltGr
e outro com meu arquivo xkb quebrado) e brincando com as duas chaves AltGr
, até repentinamente notou esta linha:
KeyPress event, serial 53, synthetic NO, window 0x3000001,
root 0x4b1, subw 0x0, time 2986451693, (63,136), root:(716,408),
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
Esse foi o motivo para eu tentar adicionar novamente essas linhas.
Agora, a pergunta: por que essa chave é remapeada para o código-chave 92 e onde isso acontece? (Como eu não tinha mais nenhuma definição para essa chave no meu arquivo, meu arquivo era inocente;)