Estou usando o MX Linux com o Xfce e tentando trocar três chaves:
- Ctrl → Win (Super)
- Ganhar → Alt
- Alt → Ctrl
Trocar duas chaves por vez funciona usando setxkbmap
, por exemplo:
setxkbmap -option ctrl:swap_lalt_lctl
Entretanto, se eu tentar adicionar uma segunda troca, como:
setxkbmap -option ctrl:swap_lalt_lctl,altwin:swap_alt_win
Acabo com uma repetição da mesma chave em vez de uma troca limpa de três vias.
Tentativa de solução
Criei um arquivo de símbolos XKB personalizado:
xkb_symbols "ctrl_win_alt_swap" {
include "us" // Keep the default US layout
key <LCTL> { [ Super_L ] }; // Left Ctrl → Left Win
key <LWIN> { [ Alt_L ] }; // Left Win → Left Alt
key <LALT> { [ Control_L ] }; // Left Alt → Left Ctrl
};
Eu aplico isso com:
setxkbmap -layout custom -variant ctrl_win_alt_swap
O remapeamento funciona, exceto por um problema:
- Pressionar Alt sozinho produz
Ctrl
, o que é esperado. - Pressionar Alt em combinação com outra tecla resulta em Ctrl+Alt , em vez de apenas
Ctrl
.
Por que isso acontece e como posso trocar corretamente Ctrl, Win e Alt sem conflitos de modificadores?
Depois de ler com mais atenção as instruções,
setxkbmap
descobri que há uma opção especialmente definida para trocar todas as três chaves:$ setxkbmap -option ctrl:swap_lalt_lctl_lwin