Cuando programo me gusta intercambiar estas teclas:
Esc↔ Tab Ctrl↔CapsLock
En ~/.xmodmap, he especificado estas reasignaciones:
keycode 66 = Control_L
keycode 37 = Caps_Lock
keycode 23 = Escape
keycode 9 = Tab
El Escapey Tabteclas permutas, no hay problema, pero en lugar de Caps_Locky de Control_Lintercambio, de estas dos teclas se convierte Caps_Lock.
Independientemente de lo que intente hacer, las teclas de control no se asignan a Caps_Lock(código clave 66). Si dejo el keycode 66 =, la clave no está asignada, pero cuando asigno Control_Lo Control_R, simplemente no funciona. Pero, si asigno alguna otra tecla, por ejemplo keycode 66 = Tab, se asigna, no hay problema.
Es como xmodmap simplemente no quiere que se intercambien las teclas Bloq Mayús y Control. Muy frustrante Cualquier ayuda / punteros sería realmente útil.
PD: estoy usando Archlinux.

Respuesta poco relacionada: quería reasignar la tecla de bloqueo de mayúsculas al control izquierdo, dejando intacto el control izquierdo real. La página de manual de xmodmap también ofrece la solución:
fuente