Como remapear a tecla Super (esquerda) para controlar a chave

22

Alguém poderia me dizer como remapear minha tecla Super (esquerda) para a tecla Ctrl ?

Quero dizer que o Super (à esquerda) deve funcionar como a tecla Ctrl .

    
por Sandy 15.05.2012 / 07:11

4 respostas

22

Para fazer grandes alterações em seu teclado, incluindo remapeamento de caracteres e alteração de modificadores, você precisa usar o utilitário xmodmap - consulte man xmodmap . Existem algumas maneiras de executar as alterações:

  • na linha de comando

    xmodmap -e "your commands"
    
  • ou escreva os comandos em um arquivo como .xmodmaprc , depois execute-o em seus itens de login ou no seu .bashrc com

    xmodmap .xmodmaprc
    

    Se você nomear o arquivo ~/.xmodmap , ele será executado automaticamente no login.

Agora os comandos

O que você quer fazer é um processo de duas etapas. Primeiro, você desmapea o Super do seu modificador e mapeia-o para controlá-lo.

  1. Execute xmodmap -pm em uma janela de terminal para obter uma lista dos modificadores ligados. Na minha máquina (e presumivelmente sua) Super é referido como mod4 . Super_L e Super_R são chaves separadas que geram o mesmo modificador.

    Agora você pode remover o mapeamento do modificador. Execute o comando xmodmap (usando um dos métodos acima)

    remove mod4 = Super_L
    

    Agora, a chave física ainda é referida internamente como Super_L, mas não faz nada.

  2. Agora apenas remapeie. Execute o comando xmodmap:

    add control = Super_L
    

Se você quiser desfazer isso mais tarde, basta executar os mesmos comandos com os argumentos apropriados.

Não Super_R?

A saída do xmodmap -pm pode lhe dar várias chaves chamadas Super_L mas nenhuma chamada Super_R). Em caso afirmativo, agora você tem várias chaves extras atribuídas ao Controle, mas nenhuma atribuída a Super. Você terá que renomear uma chave. (NB: pode dar vários Super_L e pelo menos um Super_R. Tudo bem.)

Os nomes das chaves na tabela têm um número hexadecimal entre parênteses ao lado deles. Esse número é o código de tecla físico da tecla no teclado (pode variar de acordo com o modelo). Se você precisar alterar uma Super_L para Super_R, primeiro encontre o código-chave que deseja associar a Super_R (não tem certeza qual é a correta? Execute xev e toque na Super direita algumas vezes. Em algum lugar no labirinto de a saída é "keycode = 133" (com um número diferente)). Execute o comando xmodmap

keycode 133 = Super_R

para renomear a chave e, em seguida,

add mod4 = Super_R

para atribuí-lo ao Super.

    
por pconley 15.05.2012 / 19:27
13

Linha de comando:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Ou coloque ~/.Xmodmap para ativar na inicialização:

remove mod4 = Super_L
add control = Super_L
    
por Coc 26.10.2012 / 05:55
1

Tente com isso:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Coloque as linhas acima em ~/.Xmodmap e execute xmodmap ~/.Xmodmap .

    
por rendon 05.01.2013 / 03:08
1

No Ubuntu, você pode editar /etc/default/keyboard e definir:

XKBOPTIONS="altwin: ctrl_win"

Qual:

  

Ctrl é mapeado para as teclas Win (e as teclas Ctrl usuais)

Leia man 5 keyboard para mais informações. Você pode encontrar todas as combinações possíveis de opções no seu sistema:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win
    
por Mitar 22.11.2017 / 11:27