Mapear um símbolo para uma chave específica

9

Eu tenho o seguinte problema: Eu uso a intlvariante do gblayout do teclado, ou seja, o que você obtém:

setxkbmap -layout gb -variant intl

Uso o gmail no Firefox e, por algum motivo, o atalho do gmail para mover entre as guias da caixa de entrada, acionado com a tecla ~, não funciona.

O problema vem de ter que pressionar ~e Spacedepois duas teclas para obter o símbolo (que é a variante intl, que me permite escrever ñ, a letra em espanhol).

Eu tentei o uslayout com a intlvariante e, nesse caso, o atalho funciona, porque o ~símbolo pode ser acionado com AltGr+ ~.

Então, o que eu quero é ter o mesmo comportamento com o gblayout. Ou, geralmente, para mapear ~para qualquer outra combinação (sem envolver mais de uma chave).

Alejandro DC
fonte

Respostas:

4

Você pode usar xmodmappara alterar o mapeamento da ~chave.

Por exemplo, no meu sistema (layout de estoque dos EUA), ele é configurado por padrão da seguinte maneira:

$ xev # then pressing Shift + ~
[..]
KeyRelease event, serial 36, synthetic NO, [..]
root 0xa3, [..]
state 0x11, keycode 49 (keysym 0x7e, asciitilde), same_screen YES,
XLookupString gives 1 bytes: (7e) "~"
XFilterEvent returns: False

Então eu posso verificar como keycode 49está exatamente configurado:

$ xmodmap -pke | grep 'keycode *49'
keycode  49 = grave asciitilde grave asciitilde

Você pode alimentar uma expressão como essa de volta ao xmodmap, por exemplo, com algo como isto:

$ xmodmap -e 'keycode  49 = grave asciitilde grave asciitilde'
maxschlepzig
fonte
Ótimo! Obrigado. Eu usei xmodmap -e 'keycode 51 = numbersign dead_tilde numbersign dead_tilde asciitilde asciitilde bar'desta maneira eu tenho ~com AltGr + ~ , e também com AltGr + Shift + ~ .
Alejandro DC