Como mapear a tecla Caps Lock para a tecla Escape no Arch Linux

16

Meu sistema operacional é o Arch Linux amd64, o Gnome ENV.

Eu quero mapear a tecla Caps Lock para Esc (escape) no Arch Linux. Eu corro o comando:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

Funciona bem, mas, um momento depois, a tecla Caps Lock funciona novamente. E devo executar o comando novamente.

Tenho certeza de que essa solução funcionou bem há um ano. Qual é o meu problema? Alguém pode me ajudar a mapear a tecla Caps Lock para Escape key para sempre no meu Arch Linux OS?

    
por G-Man 16.03.2013 / 03:57

5 respostas

36

Qualquer um dos itens a seguir (em ordem crescente de complexidade):

  1. Use o setxkbmap para remapear a chave (não requer um daemon e é independente do ambiente de área de trabalho ou do gerenciador de janelas). Não se esqueça de adicionar o comando antes da linha exec gnome-session (ou semelhante) no seu ~/.xinitrc ou ~/.xsession .

    setxkbmap -option caps:escape
    

    setxkbmap pode ser encontrado em extra / xorg-setxkbmap.

  2. dconf-editor > org.gnome.desktop.input-sources.xkb-options > Adicione caps:escape ao campo acima mencionado.

  3. gnome-session-settings > Programas de inicialização > Adicionar > Name = Remapear caps lock para escapar, comando = setxkbmap -option caps:escape
  4. Crie um layout de teclado personalizado

FYI, eu obtive a regra xkb usando grepping /usr/share/X11/xkb/rules para caps e esc .

    
por 19.03.2013 / 21:51
5

Para uso em X , a página do Arch Wiki Gnome tem instruções para modificar o teclado com XkbOptions :

Using the dconf-editor, navigate to the key named org.gnome.desktop.input-sources.xkb-options and add desired XkbOptions (e.g. 'caps:swapescape') to the list.

No console, você pode criar um mapa de teclado personalizado para o mesmo efeito. Crie seu mapa de teclado pessoal com as mudanças necessárias para CapsLock e Escape em /usr/share/kbd/keymaps/i386/qwerty/yourmap then tar e inclua uma linha em /etc/vconsole.conf para chamá-lo:

KEYMAP=yourmap
    
por 16.03.2013 / 05:10
3

Você pode usar o xmodmap. Coloque seu ~/.Xmodmap :

remove Lock=Caps_Lock
keysym Escape=Caps_Lock
keysym Caps_Lock=Escape
add Lock=Caps_Lock

(certifique-se de que ao iniciar o X use seu ~/.Xmodmap )

    
por 16.03.2013 / 10:45
2

Xorg.conf

Você pode conseguir isso editando o arquivo /etc/X11/xorg.conf.d/00-keyboard.conf .

Arquivo de exemplo:

Section "InputClass"
        Identifier      "system-keyboard"
        MatchIsKeyboard     "on"
        Option          "XkbLayout" "us"
        Option          "XkbModel"  "pc104"
        Option          "XkbOptions" "caps:swapescape"
EndSection  

Você pode especificar várias XkbOptions, por exemplo, caps:swapcaps,terminate:ctrl_alt_bksp por ter esc e caps trocado, mas também permitir que o X seja eliminado com Ctrl Alt Backspace . Você pode encontrar mais informações sobre isso em man xkeyboard-config .

GUI

Você também pode usar o GNOME Tweak Tool (pacote gnome-tweak-tool). Basta clicar em Typing e escolher o que você quiser no menu Ctrl position (veja a imagem abaixo).

    
por 10.08.2017 / 14:20
0

Eu não sei porque as respostas acima não funcionam. Aqui está um trabalho para mim. Em seu ~ / .Xmodmap

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

e depois

$ xmodmap ~/.Xmodmap

Estou usando o gerenciador de janelas Fedora e não-Gnome. HTH

    
por 21.10.2013 / 00:17