Definindo o comportamento da tecla de controle no XServer em vez do Gnome (supondo que você não esteja usando o wayland em vez do X):
Usando setkbmap
-
Obtenha seu layout de teclado:
setxkbmap -query
Procure a estrofe denominada
layout
. Algo comogb
para um layout em inglês. Você pode ser diferente. -
Modifique as opções do layout do teclado usando o mesmo layout que você está usando no # 2 acima:
setxkbmap -layout gb -option ctrl:nocaps
Aqui, a opção
ctrl:nocaps
faz com que seus limites bloqueiem uma chave de controle adicional. Para tornar esta alteração permanente, você pode adicioná-la ao seu arquivo.xinitrc
se estiver iniciando o X comstartx
ouxinit
de um terminal. Se você não estiver fazendo isso veja esta resposta para saber como executar um comando no login para o Gnome.
Usando xmodmap
Crie o seguinte arquivo .Xmodmap
em seu diretório inicial:
!
! Make Caps_Lock another Control_L
!
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
Você pode então executar o seguinte na inicialização para tornar essa alteração ativa para sua sessão X:
xmodmap ~/.Xmodmap
Depois de ter algo que você gosta, você pode adicionar esse comando ao seu .xinitrc
ou usar o mesmo método vinculado acima para torná-lo permanente.
Indo mais fundo
Você também pode alterar os limites para controlar no nível do kernel usando loadkeys
.
O básico aqui é usar dumpkeys
para despejar seu mapa de chaves existente em um arquivo. Altere o mapeamento para caps lock e, em seguida, use loadkeys
para carregar seu novo mapa de teclas.
Observe que, como você está fazendo alterações em como o kernel lê a entrada do teclado, essas alterações precisarão de privilégios de root. Aqui está um githubist com as modificações relevantes e algumas instruções.