Você pode criar um arquivo ~/.xkb/symbols/local
contendo:
xkb_symbols "local" {
key <LWIN> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
key <MENU> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};
key <LALT> { [ Control_L ] };
key <RALT> { [ Control_R ] };
};
ou
xkb_symbols "local" {
key <LWIN> {
type= "ONE_LEVEL",
symbols[Group1]= [ Alt_L ]
};
key <MENU> {
type= "ONE_LEVEL",
symbols[Group1]= [ Alt_R ]
};
key <LALT> { [ Control_L ] };
key <RALT> { [ Control_R ] };
};
(ou algo entre), dependendo do tipo de Alt desejado. E faça cada vez que você iniciar o X (por exemplo, no seu arquivo ~/.xsession
se você tiver um):
mkdir -p .xkb/keymap
setxkbmap -print | sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY
A segunda linha cria um arquivo ~/.xkb/keymap
com xkb_symbols { include "...+local" };
, ou seja, que inclui ~/.xkb/symbols/local
quando xkbcomp
(terceira linha) é usado com a opção -I$HOME/.xkb
. Você pode verificar este arquivo antes de executar xkbcomp
.
Eu não tentei exatamente isso, mas isso é baseado no que estou fazendo: link ( sem o diretório types
).