Problème: je souhaite modifier / redéfinir la disposition de mon clavier (pc105 se) de sorte que lorsque j'appuie sur certaines touches avec mod3 (super) et mod4 (hyper), un caractère différent est renvoyé.
Par exemple.
Le code clé 61 produit un «moins» (-) lorsqu'il est enfoncé normalement et un «soulignement» (_) lorsqu'il est enfoncé avec une touche Maj. Lorsque vous appuyez sur le premier groupe de modificateurs (AltGr), "dead_belowdot" et "dead_abovedot" sont générés (sans / avec décalage).
Ce que je veux, c'est une parenthèse gauche ou droite (sans / avec décalage) lorsque j'appuie sur la touche avec la touche Super (win) également enfoncée, ainsi qu'une barre oblique / barre oblique inverse pour la clé Hyper (configurée avec le verrouillage majuscule).
J'ai essayé d'ajouter un .Xmodmap
dans mon répertoire personnel et l'exécuter avec xmodmap ~/.Xmodmap
en utilisant la syntaxe suivante
keycode 61 = minus underscore a b c d e f g h i j k l m n o p
Cependant, cela entraînera c / d dans AltGr, alors que le verrouillage des victoires / majuscules ne donnera toujours que - / _
J'ai également essayé de modifier directement / usr / share / X11 / xkb / symboles / se et essayé les modifications suivantes:
key <BKSL> { [apostrophe, asterisk, acute, multiply], [a,b,c,d], [e,f,g,h], [i,j,k,l]};
Mais tout ce qui se passe, c’est '* ´ ×' * '* (respectivement pour normal, altgr, win et maj lock) J'ai aussi essayé
key <BKSL> { [apostrophe, asterisk, acute, multiply, a,b,c,d, e,f,g,h, i,j,k,l]};
Mais dès qu'il y a plus de quatre champs spécifiés, il semble que la clé soit totalement cassée et la clé revient au comportement par défaut pc105 (us?).
Comme je n'ai rien trouvé sur stackoverflow, super-utilisateur ou google sur la façon de gérer mon scénario, je pose la question ici.
C'est mon xmodmap -pm
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Hyper_L (0x42), Hyper_L (0xcf)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)