web-dev-qa-db-fra.com

Comment remapper les touches avec les modificateurs shift et alt en utilisant xmodmap?

Je veux mettre avoir le comportement suivant pour la clé avec le code 94:

1) par défaut c'est '<'

2) avec shift c'est '>'

3) avec alt c'est '|'

J'ai seulement réussi à obtenir le comportement par défaut et le décalage en utilisant la commande (les noms proviennent de xev):

xmodmap -e "keycode 94 = less greater"

J'ai essayé trois choses à tout le comportement:

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"

Les deux premiers ajoutent l’effet d’avoir '<' par défaut et '|' avec décalage. Je ne suis pas tout à fait sûr de ce que le troisième a fait.

J'ai également eu le même comportement que dans 1) et 2) (shift est pertinent, alt ne fait rien) de commande:

xmodmap -e "keycode 94 mod1 = less bar"

Mon information est principalement basée cette réponse (en particulier la section bonus).

Comment mapper une clé unique pour avoir une valeur par défaut, un décalage et un comportement différents en fonction du ou des modificateurs?

8
user1335014

Je viens de le découvrir, de manière heuristique! Regardez ce qui suit:

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

C'est fondamentalement

  1. a: normal a
  2. A: shift + a
  3. á: altgr + a
  4. Á: shift + altgr + a
  5. æ: [une combinaison de modificateurs] + a
  6. Æ: shift + [une combinaison de modificateurs] + a
  7. æ: ???

Il suffit donc de reconfigurer la clé avec les représentations souhaitées. Par exemple, j'ai réaffecté period + altgr à interpunct (un peu plus que convenable):

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