Como remapear chave com shift e alt modifier usando xmodmap?


9

Quero colocar o seguinte comportamento para a chave com o código 94:

1) por padrão, é '<'

2) com shift é '>'

3) com alt é '|'

Eu só consegui obter o comportamento padrão e mudar usando o comando (os nomes são de xev):

xmodmap -e "keycode 94 = less greater"

Eu tentei três coisas para todo o comportamento:

1)

xmodmap -e "keycode 94 mod1 = less greater bar"

2)

xmodmap -e "keycode 94 shift mod1 = less greater bar"

3)

xmodmap -e "keycode 94 = less greater"
xmodmap -e "add mod1 = less bar"

Os dois primeiros adicionam o efeito de ter '<' por padrão e '|' com turno. Não tenho muita certeza do que o terceiro fez.

Eu também tive o mesmo comportamento que em 1) e 2) (shift é relevante, alt não faz nada) do comando:

xmodmap -e "keycode 94 mod1 = less bar"

Minhas informações são baseadas principalmente nesta resposta (especialmente na seção de bônus).

Como mapear uma única chave para ter um padrão diferente, mudança e comportamento com base nos modificadores?


1
Talvez askubuntu.com/a/423245/16395 possa ajudá-lo. Observe que isso xmodmapnão é mais recomendado no Ubuntu. Você deve usar o sistema xkbd mais poderoso (mas muito mais complexo) ... Você pode encontrar links na resposta vinculada aqui
Rmano

Se ajudou, faça o favor. Você deve votar novamente todas as respostas e perguntas que julgar úteis - esta é a única maneira de ter um site útil para os iniciantes.
Rmano 27/02

1
Infelizmente, não posso votar novamente (tenho reputação 11, mas 15 são necessários).
user1335014

Respostas:


6

Acabei de descobrir, heuristicamente! Veja o seguinte:

xmodmap -e "keycode 38 = a A aacute Aacute ae AE ae"

É basicamente

  1. a: normal a
  2. A: shift + a
  3. á: altgr + a
  4. Á: shift + altgr + a
  5. æ: [alguma combinação de modificadores] + a
  6. Æ: shift + [alguma combinação de modificadores] + a
  7. e: ???

Portanto, basta reconfigurar a chave com as representações desejadas. Por exemplo, redesignei period + altgr para interpuntar (embora um pouco conveniente):

xmodmap -e "keycode 60 = period greater 0x00b7 0x00b7 0x00b7 0x00b7"    

velho, mas como você escolhe / descobre qual modificador ativa 5. e 6.? eu não posso fazê-los gatilho
fogx
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.