Cómo intercambiar ctrl y bloqueo de mayúsculas usando xmodmap

10

O cualquier otra herramienta, pero prefiero xmodmap. Intenté esto:

remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

También probé esto:

xmodmap -e "keycode 66 = Control_L"

Pero ninguno parece funcionar por completo. Aquí está el registro de eventos para presionar el bloqueo de mayúsculas:

KeyPress event, serial 28, synthetic NO, window 0x1a00001,
root 0x12d, subw 0x0, time 914826, (679,342), root:(680,362),
state 0x12, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37 // 37 is the control key code
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

Estoy ejecutando Ubuntu 10.10 con un impresionante administrador de ventanas.

Maruti
fuente

Respuestas:

8

Desde Remapear Bloq Mayús :

man xmodmap muestra cómo intercambiar la tecla de control izquierda y la tecla CapsLock:

!
! Swap Caps_Lock and Control_L
!
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
harrymc
fuente
Uhm, ese es mi primer intento en mi publicación.
Maruti
Oups, me perdí eso. Entonces, ¿por qué funcionó esta vez?
harrymc
No estoy seguro. Creo que olvidé restablecer el mapa de teclas después de entrometerse con los códigos de teclas.
Maruti
15

Esto puede funcionar para usted.

/usr/bin/setxkbmap -option "ctrl:swapcaps"
Evan Carroll
fuente
¿Cómo puedo cambiarlo por setxbmap
SLN
0

Intercambiar:

setxkbmap -option "ctrl:swapcaps"

Invierta el intercambio:

setxkbmap -option

Referencia: haga clic aquí

SLN
fuente