Syntaxe Xmodmap pour relier Maj + Bas vers le haut

Je voudrais relier quelques keys sur Linux via Xmodmap. Gauche et le slider sur mon ordinateur portable Acer (oui, je sais) ont cassé. Je voudrais mapper shift + vers le haut, et shift + droite vers la gauche. Luttant pour déterminer la syntaxe de ceci à partir des pages de manuel. Cette syntaxe est incorrecte, lève le mauvais modificateur, mais capture l'intention:

add Shift_L+Down = Up 

    Vous pouvez utiliser:

     keysym Down = Down Up 

    pour faire ça. La valeur keysym est une list ordonnée de touches à utiliser quand elle n'est pas modifiée, déplacée, commutée, décalée et commutée, touche AltGr +, touche AltGr + shift (toutes optionnelles). Ici, Down non modifié est lui-même, alors que Shift-Down est lié à Up , et nous ne définissons rien pour les modes commutés ou AltGr.

    Il y a un problème restant: la touche Shift est toujours pressée, donc Shift-Down sera traité par les applications de la même manière que Shift-Up . Cela peut ne pas être un problème pour vos cas d'utilisation, mais si vous utilisez quelque chose qui, par exemple, utilise des flèches décalées pour la sélection du text, vous aurez un problème. Dans ce cas, il existe une autre option:

     keysym Down = Down Down Up Up 

    Cela lie à la fois Down et Shift-Down comme Down , et Mode_switch-Down et Mode_switch-Shift-Down vers le haut . Il est peu probable que les applications écoutent la touche Mode_switch comme elles le font pour Shift , de sorte que vous n'obteniez pas le double comportement.

    Vous devez ensuite lier quelque chose au keysym Mode_switch . J'utilise:

     keycode 66 = Mode_switch 

    qui, sur mon keyboard, remplace Caps Lock , une key pour laquelle je n'ai pas l'utilité. Caps Lock + Down me donne maintenant Up pour toutes mes applications. Vous pourriez relier une de vos touches majuscules à la place si vous préférez, mais vous perdriez le comportement habituel du modificateur Shift .


    Il y a en fait plus de niveaux que vous pouvez lier si vous avez besoin, qui utilisent AltGr , et en fonction de votre layout, il peut y avoir un autre set de changements disponibles. XCompose peut également vous être utile.