Como trocar ctrl e caps lock usando xmodmap

10

Ou qualquer outra ferramenta, mas eu prefiro o xmodmap. Eu tentei isso:

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

Eu também tentei isso:

xmodmap -e "keycode 66 = Control_L"

Mas nenhum deles parece funcionar completamente. Aqui está o log de eventos para pressionar caps lock:

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

Estou executando o Ubuntu 10.10 com um gerenciador de janelas incrível.

Maruti
fonte

Respostas:

8

Do Remap Caps Caps :

O man xmodmap mostra como trocar a tecla de controle esquerda e a 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
fonte
Essa é minha primeira tentativa no meu post.
Maruti
Oups, senti falta disso. Então por que funcionou dessa vez?
harrymc
Não tenho certeza. Acho que esqueci de redefinir o mapa de teclas depois de interferir com os códigos.
Maruti
15

Isso pode funcionar para você.

/usr/bin/setxkbmap -option "ctrl:swapcaps"
Evan Carroll
fonte
Como posso trocá-lo de volta por setxbmap
SLN
0

Troca:

setxkbmap -option "ctrl:swapcaps"

Inverta a troca:

setxkbmap -option

Referência: clique aqui

SLN
fonte