Como faço o remapeamento da tecla caps lock?

65

No passado, costumava usar xmodmap para impedir que o botão Caps Lock funcionasse e, em seguida, dizer Launchy para manipular a tecla pressionada. Eu não consigo mais fazer isso.

Qual é a melhor maneira de desativar o comportamento normal de Caps Lock , e fazer outra coisa?

    
por Mehrdad 14.07.2011 / 05:23

11 respostas

64

De howtogeek .com que tem uma boa resposta para qualquer SO.

Para Linux (incluindo o Ubuntu):

setxkbmap -option <OPTION>

Onde <OPTION> pode ser por exemplo de:

  • caps:none - Desativa o Caps Lock.
  • caps:super - O Caps Lock se torna um Super adicional (também conhecido como tecla Win).
  • caps:ctrl_modifier - O Caps Lock se torna uma Ctrl
  • adicional.
  • caps:numlock - Caps Lock torna-se um adicional Num Lock .
  • caps:escape - O Caps Lock se torna uma Escape adicional .
  • caps:backspace - O Caps Lock se torna um Backspace .
  • adicional
  • caps:swapescape - Caps Lock se torna Escape e Escape se torna Caps Lock

Nota: Xmodmap é depreciado em favor do setxkbmap.

    
por Wernight 27.04.2015 / 09:52
18

Você pode desabilitá-lo indo em direção a > Layouts- > options- > caps-lock e escolhendo "desabilitar caps lock".

Editar :

Eu não sei porque parece inconveniente com outras teclas do teclado.

Mas o Launchy funciona bem comigo depois de tentar com CTRL + Super + Espaço .

Evocêprecisacolocarwhitelistlaunchynosíconesdabandeja.Veja Como eu acessar e ativar mais ícones na bandeja do sistema? . Além disso, você precisa adicioná-lo aos aplicativos Start Up, pois ele não funcionará quando não estiver aberto.

Afinal, como uma alternativa para Launcy, tente Sinapse para sua melhor integração com o gnome e a unidade.

    
por Binarylife 14.07.2011 / 06:16
18

No Ubuntu 11,10 - 13,04

  1. Abra o aplicativo Layout do teclado e clique no botão "Opções".
  2. Uma lista de opções de religação aparecerá. Selecione "comportamento da tecla Caps Lock".
  3. Selecione sua opção preferida de redirecionamento de Caps Lock.

    
por Jjed 10.01.2012 / 09:04
15

Esta é basicamente uma modificação da resposta fornecida no link .

Você também pode modificar o comportamento do Caps Lock usando um XKBOption . Essas alterações são até mesmo propagadas para os consoles virtuais (/ dev / tty [1-6] ou Ctrl-Alt-F [1-6]).

Por exemplo, para desativar o Caps Lock, você teria o seguinte em /etc/default/keyboard :

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

Então você executaria:

sudo dpkg-reconfigure keyboard-configuration

Para uma lista completa das personalizações do XKBOPTIONS, dê uma olhada em /usr/share/X11/xkb/rules/base.lst . Aqui está a lista completa da minha máquina Ubuntu 13.10: link

Ainda mais informações podem ser encontradas no wiki do ArchLinux: link

    
por Ehtesh Choudhury 22.01.2014 / 19:29
10

Para remapear o inútil caps_lock em um turno básico, faça

xmodmap -e "keycode 66 = Shift_L"
    
por jobwat 25.08.2013 / 11:07
6

O método a seguir usa a combinação do Compiz para iniciar um aplicativo quando um pressionamento de tecla é feito.

Em resumo -

  1. altere o comportamento da tecla Caps Lock para imitar outra chave.
  2. Configure o compiz para ouvir a chave recém-imitada e executar um script personalizado.

Alterar a tecla de bloqueio de maiúsculas

Também mude o comportamento da tecla Caps Lock, você pode usar xmodmap da seguinte forma:

  • crie um arquivo, por exemplo "capslock"
  • copie e cole o seguinte no arquivo
% bl0ck_qu0te%
  • agora execute o xmodmap para reconhecer sua alteração:
% bl0ck_qu0te%

Para executar permanentemente, adicione este comando aos aplicativos de inicialização.

Pressionar Caps Lock agora apenas imita a pressão de uma tecla "cent" - note que essa não é uma chave que realmente existe no meu teclado.

Você pode obter uma lista dos nomes do KeySym aqui .

Configurar o Compiz

Inicie o Gerenciador de configurações do CompizConfig

Na seção geral, assegure-se de que "Comandos" esteja habilitado e configure um comando como mostrado:

N.B.ativealigaçãodechaveeusea"combinação de teclas" para reconhecer sua chave "cent". Você não pode fazer com que o compiz reconheça a própria chave de bloqueio, infelizmente.

Obviamente-altere"firefox" para qualquer comando que você usa para iniciar "launchy"

Agora, quando você pressionar a tecla Caps Lock, o compiz reconhecerá a chave "cent" mapeada e executará o comando - neste caso, firefox - no seu caso "launchy".

    
por fossfreedom 01.08.2011 / 09:45
5
  1. Use o comando xev. Quando você apertar enter, o xev será iniciado. O xev toma todas as informações de entrada e de popops sobre a chave na linha de comando. Eu recomendo trazer o mouse sobre a tecla de saída da janela xev, pressionando caps lock (ou qualquer tecla que você queira descobrir), e imediatamente saindo do xev. As linhas relevantes do meu sistema, para caps lock, parecem com:

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Observe keycode (66) e keysym (0xffe5).

    Você também pode, agora, obter dados para outra chave - uma que você realmente não usa e que, no contexto em que você deseja usar o botão caps lock, não faz nada. Então, se você quiser que o caps lock ative a caixa de pesquisa Unity (como o super usualmente usa), talvez use ', por exemplo. Na minha máquina:

    keycode 49 (keysym 0x60, grave)
    
  2. Vincule a função da nova chave ao botão Caps Lock, usando xmodmap. Tenho certeza que você quer usar um comando como:

    xmodmap -e "keycode 66=0x60"
    

    Agora, se você pressionar o botão caps lock físico em uma caixa de texto, o caractere grave (') será exibido. Mas se você mapear uma tecla de atalho para ela, ela fará outra coisa. Se você quiser usá-lo em uma caixa de texto, talvez substitua caps lock por left shift, ou f10, ou qualquer outra coisa que pareça não interferir com o comando que você deseja usar.

  3. Teste para ter certeza de que o comando que eu dei a você funciona do jeito que você quer.

  4. Vá para os aplicativos de inicialização e adicione esse comando aos seus aplicativos de inicialização. Desta forma, a chave irá alternar corretamente toda vez que você iniciar.

  5. Dance.

(gritar para a empresa) Mudar Keybindings (hardware para software)

Além disso, para mais ajuda sobre o xmodmap:

link

link

    
por Daniel 04.08.2011 / 02:42
3

Ubuntu 16.04

setxkbmap -option <OPTION> da resposta de Wernight pareceu funcionar imediatamente para mim.

No entanto, ele iria embora na reinicialização. Para resolver isso, adicionei aos meus aplicativos de inicialização

  1. Pesquise e execute Startup Applications > > Clique em Adicionar
  2. Coloque em /usr/bin/setxkbmap -option <OPTION> como o comando (Nota: o caminho completo é importante)

Substitua <OPTION> por algo como caps:escape (eu uso para vi)

Plano de fundo

Acabei de atualizar de 15,10 para 16,04 e tudo o que eu usei para mapear isso antes de parar de funcionar.

    
por Anthony Astige 04.06.2016 / 01:58
1

enquanto claro que a opção xmodmap funcionaria eu queria encontrar uma opção que usa a GUI. Isso está disponível para mim (usando o Ubuntu 15.10):

  • instalar o gnome-tweak-tool
  • vá para "digitar"
  • em "Comportamento da tecla Caps Lock", escolha "A opção Caps lock está desativada"
por MichielB 19.11.2015 / 14:28
1

A opção que eu achei melhor para mim (em qualquer wm / de compatível com X) é adicionar

Option "XkbOptions" "caps:swapescape"

dentro do

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

bloqueie em /etc/X11/xorg.conf.d/00-keyboard.conf (crie se necessário).

    
por Roman Riesen 01.10.2018 / 22:26
-1

A solução mais robusta é comprar um teclado que permite o remapeamento de chaves no firmware, ou seja, um teclado programável e profissional.

Estes geralmente custam cerca de 200 dólares e também têm chaves mecânicas de alto grau. Eles são caros, mas são a única maneira de evitar ter que lutar com isso a cada nova máquina em que você se senta, e cada vez que os desenvolvedores fizerem alterações na infraestrutura do sistema operacional tão fundamentais quanto o mapa do teclado.

    
por Andrew Wagner 05.05.2014 / 14:23