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 -queryProcure a estrofe denominada
layout. Algo comogbpara 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:nocapsAqui, a opção
ctrl:nocapsfaz com que seus limites bloqueiem uma chave de controle adicional. Para tornar esta alteração permanente, você pode adicioná-la ao seu arquivo.xinitrcse estiver iniciando o X comstartxouxinitde 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.