Mapear o alt da direita para a esquerda

4

Eu gostaria de ter minha tecla alt direita funcionando como controle à esquerda enquanto ainda deixei o trabalho de controle como controle à esquerda. Então eu editei meu arquivo evdev assim:

<LALT> = 64;
<LCTL> = 37; // original binding 37
<SPCE> = 65;
<RCTL> = 105;
<RALT> = 37; // original binding: 108

No entanto, isso não funciona, agora nenhuma tecla está funcionando como ctrl. Como posso fazer isso funcionar?

    
por lo tolmencre 24.03.2017 / 05:41

2 respostas

2

O arquivo de códigos de teclas que você alterou é um mapeamento de XKB que define os códigos de símbolos usados nos layouts XKB ( <FOO> ) pelos códigos de teclas emitidos pelo driver de teclado do kernel quando uma tecla é pressionada. Mudar os códigos não muda o código que a chave gera, ela muda o código que o layout do XKB acha que está lidando quando vê o símbolo alterado.

Supondo que você possa recuperar os arquivos XKB do sistema para seu estado original, a maneira de fazer o que você deseja é carregar uma opção que substituirá o layout padrão. Há uma opção existente ( ctrl:ralt_rctrl ) próxima do que você deseja:

  # definition in /usr/share/X11/xkb/rules/evdev
  ctrl:rctrl_ralt       =       +ctrl(rctrl_ralt)
  # similar rule for swapped option?
  ctrl:ralt_rctrl       =       +ctrl(ralt_rctrl)

Você pode carregar isso com setxkbmap :

$ setxkbmap -option ctrl:ralt_rctrl

Se isso acontecer, você poderá torná-lo permanente adicionando esse comando a .xprofile ou .xinitrc ou o script autorun do seu gerenciador de janelas. No GNOME, você pode precisar de outras etapas.

Se você ainda preferir que o Alt_R seja remapeado como Ctrl_L em vez de Ctrl_R, convém criar uma cláusula de substituição local. Use a opção existente como ponto de partida; está em /usr/share/X11/xkb/symbols/ctrl . Veja minha resposta de superusuário nas modificações do XKB e alguns recursos adicionais:

por 24.03.2017 / 23:10
0

O arquivo /usr/share/X11/xkb/keycodes/evdev não é um "arquivo evdev", é um dos muitos arquivos de origem para a tabela de conversão de teclado X (xkb). Não, não é carregado no login. Em vez disso, ele serve como um arquivo de origem para o compilador xkbcomp , e a saída do arquivo compilado é carregada quando o servidor X é iniciado. Todo o tópico é um pouco complexo, então não faça mudanças aleatoriamente e espere que as coisas funcionem. Além disso, a maneira usual de fazer seu próprio mapeamento de teclado é escrever novos arquivos e deixar os antigos no lugar. Veja, por exemplo, Um guia não confiável para a configuração do XKB para uma introdução.

Se você quiser fazer com que sua tecla alt correta funcione como chave de controle, a melhor maneira é deixar esses arquivos como estão, criar um arquivo ~/.Xmodmap com as duas linhas a seguir

remove mod4 = Alt_R
add control = Alt_R

teste se ele está olhando xmodmap -pk para o estado antigo, carregando-o com xmodmap ~/.Xmodmap , em seguida, execute novamente um xmodmap -pk e verifique se está correto.

O resultado disso é que a tecla alt correta ainda aparece sob o seu próprio código de acesso, mas é tratada como o modificador "control" para que você possa usá-la em combinação com outras chaves.

Alguns gerenciadores de exibição carregam ~/.Xmodmap por padrão no login, alguns dos novos gerenciadores de exibição perderam esse recurso e você terá que configurá-los para fazer isso.

    
por 24.03.2017 / 18:08