Se você tiver duas chaves com o mesmo scancode, remapeando essas chaves para outra ação irá remapear ambas as chaves com o scancode. Não há como (até onde eu sei) diferenciar duas chaves diferentes se elas tiverem o mesmo scancode.
Como o @falconer sugere, você pode ver se suas duas chaves são diferentes ou iguais, marcando com showkey -s
no console virtual. Lembre-se de como voltar para o X ( ALT + F7 ) para que você não fique preso no console virtual.
Se você pressionar as duas teclas que deseja mapear de forma diferente, e essas duas chaves fornecerem a mesma saída aqui, será necessário procurar outra solução.
O teclado externo do qual você está falando tem, de fato, chaves com o mapeamento de scancodes para ações que você sugere que estão faltando ( Control_L
e Control_R
) - Eu recomendo que você redefina o teclado para suas configurações padrão e verifique a saída de suas chaves com xev novamente.
Certifique-se de começar com as configurações corretas do sistema operacional, no teclado elas são:
= + + w para janelas.
= + + p para PC (não-windows).
= + + m para Mac.
Configurar isso antes de começar a remapear vai te dar um bom começo com todos os scancodes que você precisa.
Quanto ao problema Alt-GR , ISO_Level3_Shift
deve ser a ação correta para essa chave (até onde eu sei). Teclas com essa ação ativam o comportamento de Alt-GR corretamente.
Além disso, ao adulterar scancodes e ações, pode ser interessante ter algum tipo de software como o KeyMon que lhe dirá qual tecla ou combinação de teclas você está pressionando.