Eu tentei muitas coisas para tentar trocar a tecla alt
e windows
no meu Thinkpad X220 executando LinuxMint 20.3 com xfce/xfwm4.
Eu tentei setxkbmap -option altwin:swap_alt_win
, adicionando o seguinte a ~/.xmodmap
:
remove mod1 = Alt_L
remove mod4 = Super_L
add mod1 = Super_L
add mod4 = Alt_L
e correndoxmodmap ~/.xmodmap
Eu olhei através do Keyboard > Layout > Change Layout Option
para ver o que está disponível.
FWIW, showkey
relatórios:
ALT keycode 56
SUPER keycode 125
e também tentei configurar isso manualmente em ~/.xmodmap
:
keycode 56 = Alt_L
keycode 125 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L
Até agora nada funcionou para mim, qualquer dica na direção certa seria muito apreciada!
Eu nunca tive sorte em conseguir que o setxkbmap fizesse o que eu queria, mas remapeei as chaves no nível do kernel com sucesso.
Primeiro, você precisa conhecer seu dispositivo de entrada e o código de digitalização da chave. A ferramenta
evtest
pode ser usada para isso.Aqui são mostrados 5 dispositivos relacionados ao teclado e o dispositivo número 7 que é o teclado real. Tentativa e erro para descobrir isso.
Anote o id do dispositivo depois de selecionar o teclado.
A linha
Input device ID
é o que você precisa e isso será exibido logo após você selecionar seu dispositivo.Quando selecionado, você pode pressionar algumas teclas no teclado e um evento será registrado para pressionar e soltar a tecla. Se você não vir os eventos sendo registrados, tente selecionar outro dispositivo. O dele
ctrl-c
quando terminar.Você vai querer anotar o código de tecla para alt e super depois de pressioná-los. No meu caso, a saída para essas teclas pressionadas é assim:
Mostrado acima, o código 125 é para a tecla super e 56 para a tecla alt esquerda. Seus valores podem ser diferentes.
Agora você precisa criar um arquivo para remapear as chaves desejadas. Crie um arquivo
/etc/udev/hwdb.d/
chamado50-alt_super_swap.hwdb
. Exatamente o que é chamado depende de você, mas você precisa de um número no início, o traço e a extensão.Nesse arquivo você colocará o seguinte:
Você precisa modificar a
evdev:input
linha para refletir o ID do dispositivo impresso comoevtest
. Observe a tradução e as maiúsculas/minúsculas. Se você não acertar essa linha exatamente, nada acontecerá.As
KEYBOARD_KEY_*
linhas têm seus valores em hexadecimal. 38 hexadecimal é 56 decimal e 7D é 125.Leva vários segundos para que as alterações sejam aplicadas. Além de encontrar a troca de chaves, você também pode ver se as alterações foram aplicadas.
Embora eu não tenha trocado alt e super, usei essa técnica para remapear chaves de mídia usando este artigo como referência.