Como mudar permanentemente Caps Lock e Esc

94

Como posso alterar permanentemente as funções das teclas Caps Lock e Esc no Saucy? Eu posso usar este comando para fazê-lo temporariamente (até a reinicialização):

/usr/bin/setxkbmap -option "caps:swapescape"

Eu tentei adicionar esse comando como um aplicativo de inicialização, mas não parece fazer nada.

    
por Isaac Dontje Lindell 21.10.2013 / 23:24

13 respostas

114

Outra maneira de fazer isso é através do dconf-editor . Este método tem algumas etapas extras de gnome-tweak-tool , mas é útil se você não quiser extrair as dependências da ferramenta tweak.

Isso permitirá que você use a sintaxe caps:swapescape e torne a alteração permanente automaticamente.

sudo apt-get install dconf-tools

Depois de iniciar o dconf-editor , navegue até org > > gnome > > área de trabalho > > fontes de entrada

Adicione as opções necessárias em xkb-options . As cadeias de opções são cercadas por aspas simples e separadas por vírgulas. Tenha cuidado para não excluir os colchetes nas extremidades.

Você pode usar esse método para inserir a maioria das opções tradicionais do xkb que não estão mais disponíveis em Configurações do sistema > > Entrada de texto . A exceção são as configurações para alternar os layouts de teclado, que atualmente não funcionam devido a um bug.

Para obter uma lista das opções e da sintaxe, use man 7 xkeyboard-config em um terminal.

Outra opção comum que pode ser usada é terminate:ctrl_alt_bksp permitir ctrl + alt + retroceder para finalizar a sessão X.

    
por chaskes 25.10.2013 / 18:21
32

Ok, encontrei uma maneira de fazer isso usando o gnome-tweak-tool.

De um terminal, execute

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

Você pode encontrar uma opção para trocar Caps Lock e Esc em "Digitação - > Comportamento da tecla Caps Lock".

    
por Isaac Dontje Lindell 22.10.2013 / 22:42
30

Uma solução que deve funcionar para a maioria das distribuições Linux:

setxkbmap -option caps:swapescape

Outras opções são possíveis:

  • caps:none para desativar
  • caps:escape para torná-lo uma fuga adicional
  • caps:super para torná-lo uma chave adicional super (windows).

Para que isso funcione na inicialização , você precisa colocá-lo em ~/.profile , pois isso só será executado após o login interativo.

    
por jojo 27.09.2016 / 16:11
22

Você pode usar xmodmap em terminal para trocar Caps Lock com Esc :

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

Para obter essa alteração para cada sessão, depois de executar os comandos anteriores, crie um arquivo chamado .xmodmap com os novos mapas de teclado, usando o seguinte comando:

xmodmap -pke > ~/.xmodmap

Em seguida, crie um arquivo chamado .xinitrc em seu diretório pessoal, contendo a seguinte linha / comando:

xmodmap .xmodmap
    
por Radu Rădeanu 25.10.2013 / 15:55
17

Semelhante à resposta do @Radu , mas compatível com 14.04 (veja também esta resposta ).

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

Se não funcionar, substitua:

xmodmap -e "remove Lock = Caps_Lock"

com:

xmodmap -e "clear Lock"
    
por Gilly 04.09.2015 / 03:50
12

Vá para o ícone de engrenagem no canto superior direito da tela e:

  • clique em Configurações do sistema
  • layout de teclado
  • opções ... (canto inferior direito)
  • comportamento da tecla Caps Lock (4ª abaixo)
  • Role a tela para baixo e escolha "Swap ESC e Caps Lock".

Feito!

    
por Joe 21.02.2015 / 21:06
6

Execute este comando uma vez em um terminal. dconf já deve estar instalado com o gnome 3.

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"
    
por Chad Skeeters 04.11.2015 / 20:30
3

Isso pode ser feito a partir da configuração do sistema "Layout do teclado" . Clique em "opções" para o layout que você está usando e, em "Comportamento da tecla Caps Lock", escolha "alternar Escape and Capslock".

    
por Gabe Moothart 22.01.2014 / 01:24
3

Eu criei uma ferramenta em C especialmente para esse propósito que supera muitos dos problemas com a solução xcape / xmodmap :

Faz um pouco mais, pois também transforma o CAPSLOCK como ESC e CTRL.

    
por pepper_chico 13.10.2016 / 02:52
2

Estou atrasado para responder, mas a maneira usual de trocar Esc e Ctrl é com as seguintes linhas no arquivo ~/.Xmodmap :

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

Isso deve funcionar com todos os ambientes de área de trabalho (KDE, Gnome) nas distros mais comuns (família Ubuntu e Debian, família Fedora e RH).

    
por dotancohen 01.11.2015 / 12:40
1

Na GUI do KDE (interface gráfica do usuário), isso pode ser feito a partir do Layout do Teclado na Configuração do Sistema. Clique em "Input Devices". No canto superior esquerdo, clique em Teclado. Em seguida, clique na guia "Avançado" e, em "Comportamento da tecla Caps Lock", escolha "alternar entre Escape e CapsLock".

    
por farhad goodarzi 21.03.2017 / 21:25
0

Nota: Isso não troca, apenas mapas são bloqueados para esc. (Isso foi bom o suficiente para o meu vim usecase.)

Para o ubuntu 16:04 (com o ambiente i3): arquivo criado ~ / .xessionrc com conteúdo

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape
    
por Manoj Bisht 21.03.2018 / 06:52
0

O "Layout de teclado" com a resposta "switch Escape and Capslock" acima não é mais válido no Ubuntu 16.04 e em (foi antes? dunno). A resposta: a fim de evitar a confusão com permissões, etc. basta mudar para root antes de começar a fazer tudo por su e digitar sua senha de root. Então:

    cd /etc/default/
    vim keyboard

Lá você verá a linha:

    XKBOPTIONS=""

Altere para:

    XKBOPTIONS="caps:swapescape"

Saia do vim com save:

    :wqa

Reinicie.

E isso será permanente , eu prometo. :)

    
por Alex F. 09.10.2018 / 23:41