Altere o caps-lock para controlar no console virtual no Ubuntu 17

5

Eu gostaria de mudar o comportamento do Caps Lock em terminais virtuais (tty, por exemplo, Alt F3 ) para que ele funcione como um Controle modificador. Idealmente, eu também gostaria que ele agisse como Escape quando pressionado sozinho, mas apenas obter o comportamento de Controle está se mostrando difícil.

Estou executando o Ubuntu 17.04. Eu li e tentei várias abordagens para fazer essa mudança, mas nenhuma parece se aplicar ao meu sistema como descrito. Tenho a impressão de que o systemd faz parte disso, mas os detalhes não são claros.

Eu escrevi um arquivo, caps_control.kmap , que mapeia as maiúsculas para controlar,

keymaps 0-255
keycode  58 = Control

Se eu executar loadkeys caps_control.kmap em um console virtual, isso funcionará. Agora eu gostaria de fazê-lo carregar automaticamente após a inicialização / login / o que quer que seja ...

Encontrei referências ao uso de /etc/rc.local para fazer isso, mas meu sistema não possui esse arquivo, embora tenha vários diretórios como /etc/rc0.d/ , /etc/rc1.d/ , ...

Parece que desde que o Ubuntu 17 usa sytemd, eu deveria usar localectl para gerenciar esse tipo de coisa, mas não está claro para mim como fazer isso. Por exemplo,

$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.

A página man de localectl menciona /etc/locale.conf e /etc/vconsole.conf , nenhuma das quais existe no meu sistema.

Estou totalmente perdido. Alguém pode me apontar na direção certa?

    
por ivan 03.12.2017 / 23:52

1 resposta

6

Para transformar o Caps Lock em um modificador Ctrl adicional, que também é eficaz nos consoles tty, abra /etc/default/keyboard para editar e definir:

XKBOPTIONS=ctrl:nocaps

Deve ser efetivo após a próxima reinicialização.

A opção deve estar presente ao executar localectl status :

$ localectl status | grep caps
     X11 Options: ctrl:nocaps

E na sessão X, outra forma de verificar se está definida é:

$ gsettings get org.gnome.desktop.input-sources xkb-options
['ctrl:nocaps']
    
por Gunnar Hjalmarsson 04.12.2017 / 00:02