Quando programa, gosto de trocar essas chaves:
Esc↔ Tab Ctrl↔CapsLock
Em ~/.xmodmap, eu especifiquei esses novos mapeamentos:
keycode 66 = Control_L
keycode 37 = Caps_Lock
keycode 23 = Escape
keycode 9 = Tab
O Escapee Tabteclas de swaps, não há problema, mas em vez de Caps_Locke Control_Ltroca, essas duas chaves se torna Caps_Lock.
Tudo o que eu tento fazer, as teclas de Controle não são atribuídas a Caps_Lock(código de chave 66). Se eu deixar a keycode 66 =tecla, a chave não será atribuída, mas quando eu atribuo Control_Lou Control_R, simplesmente não funciona. Mas, se eu atribuir alguma outra chave, por exemplo keycode 66 = Tab, ela será atribuída, sem problemas.
É como o xmodmap simplesmente não quer que as teclas Caps Lock e Control sejam trocadas. Realmente frustrante. Qualquer ajuda / ponteiros seria realmente útil.
PS: Estou usando o Archlinux.