Como alterar a tecla CapsLock para produzir "a"?

22

Durante a digitação, geralmente pressiono a CapsLocktecla em vez da atecla. (Teclado QWERTZU) Isso é bastante irritante porque, no momento em que percebo que pressiono a tecla errada, terei que excluir vários caracteres / linhas de texto e reescrevê-los da forma correta.

Estou procurando uma maneira de evitar isso.

Eu encontrei a possibilidade de desativar a CapsLocktecla nas Opções de layout do teclado . Mas, no meu caso, isso significaria que, em vez de escrever um, aeu não escreveria nada.

Positivo -> não preciso reescrever uma linha inteira, mas apenas um caractere

Negativo -> Não é tão óbvio que eu pressione a tecla errada, pois um caractere ausente não é percebido como uma linha de texto em maiúscula.

Gostaria, portanto, preferem a possibilidade de mapear CapsLocka a. Assim, ao acertar CapsLockum apersonagem, seria escrito.

Positivo -> Se eu clicar em CapsLockvez de aobter a saída, eu realmente queria digitar.

Negativo -> Se eu acertar CapsLockem qualquer outro contexto, receberei um apersonagem. Como eu nunca uso intencionalmente a CapsLockchave, isso realmente não seria um problema. (Eu acho, ou faz?)

Minha pergunta:

  1. Então, como eu mudo para a?
  2. E existe algum caso em que isso possa ser perigoso / provocar comportamentos indesejados?
Cova
fonte
3
Como você conseguiu que CapsLock e A parecessem sofisticados e com botões?
djeikyb 27/01
O fluteflute editou minha pergunta para fazê-los parecer assim, mas eu também estaria interessado nisso.
Pit
7
Você escreve <kbd>a</kbd>(funciona apenas em perguntas e respostas, não em comentários)
8128 27/01

Respostas:

21

Especificamente, eu não sei como mudar CapsLockpara a, porque eu não me lembro o código. Vou encontrá-lo um pouco mais tarde. Mas de um modo geral, você pode usar xmodmap(e .Xmodmap) para alterar suas impressões de teclas. Na primeira vez em que o GNOME detectar seu .Xmodmaparquivo, ele perguntará se você deseja carregá-lo sempre e depois estará pronto.

Eu também acho que caps lock é bobagem. No entanto, a posição principal é útil. Eu gosto de mapear para a tecla Control. Eu uso muito o controle , e é cansativo para o meu mindinho estar constantemente descendo nessa posição embaraçosa. E, como descobri mais tarde, historicamente Controlé onde Caps Lockestá atualmente. De qualquer forma. Crie um arquivo em seu diretório pessoal chamado .Xmodmapcom as seguintes linhas:

remove Lock = Caps_Lock
keysym Caps_Lock = Control_L

Para que essas alterações entrem em vigor nesse instante, execute xmodmap ~/.Xmodmap.

Você pode encontrar códigos de chave por conta própria usando xev. Acontece que o código da chave aé 38 ou hex 0x61. Então, em vez disso, seu .Xmodmap pode ser:

remove Lock = Caps_Lock
keysym Caps_Lock = 0x61

Eu recomendo ler a página de manual, muitas coisas interessantes.

djeikyb
fonte
Preciso usar apenas o último nas linhas que você postou? Eu recebo o seguinte erro: xmodmap: /home/pit/.Xmodmap:1: bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes xmodmap: /home/pit/.Xmodmap:2: bad keysym target keysym 'Caps_Lock', no corresponding keycodes xmodmap: 2 errors encountered, aborting. Não vi nada na página de manual que explica esse comportamento. Eu também tentei executar o comando como sudo, mas ele não alterou os erros.
Pit
2
Até agora, eu ainda tinha a tecla CapsLock desativada no meu teste anterior nas Opções de layout do teclado. Depois de reativá-lo, ele funciona. Obrigado.
Pit
Apenas uma observação: usei este guia para obter caps lock para mapear para controlar, mas tive que inserir add Control = Caps_Lockentre as linhas remove e keysym para fazê-lo funcionar.
Bryan Chefe
2

Depois de analisar man xmodmap, verifica-se que há uma maneira idempotente de definir isso:

clear Lock
keysym Caps_Lock = Caps_Lock Control_L

Após reiniciar o X, você poderá executar xmodmap ~/.Xmodmaprepetidamente sem obter erros "bad keysym".

Atualização : Infelizmente, isso não parece ser portátil e idempotente .

l0b0
fonte