Por que não usar o Xmodmap para o que você está fazendo? Um .xmodmaprc
para trocar alt e controle ficaria assim:
remove control = Control_L
remove control = Control_R
remove mod1 = Alt_L
remove mod1 = Alt_R
! make alt keys to control
keycode 64 = Control_L
keycode 108 = Control_R
! and control keys to alt
keycode 37 = Alt_L
keycode 105 = Alt_R
add control = Control_L Control_R
add mod1 = Alt_L Alt_R
Onde 64 é o código-chave do AltL. Seus códigos de teclas podem variar, você pode encontrá-los com xev
Inicie e pressione a tecla AltL para ver o código
$ xev
...
KeyPress event, serial 24, synthetic NO, window 0x2c00001,
root 0xb9, subw 0x0, time 599529285, (-70,692), root:(572,713),
state 0x10, keycode 64 (keysym 0xffe3, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
...
Você aplica-o com
$ xmodmap ~/.xmodmaprc
Eu remapeei minhas teclas alt e control também. Você pode dar uma olhada no meu xmodmap .