web-dev-qa-db-fra.com

Comment mapper Super + UpArrow à PageUp?

Je voudrais cartographier

  • Super + UpArrow à PageUp

  • Super + DownArrow à PageDown

  • Super + Left à Home

  • Super + Right à End

sur un clavier sans fil en aluminium Apple. Ceux qui connaissent le clavier remarqueraient qu'il le fait déjà avec le Fn clé par défaut; c’est bien, et je voudrais garder cela, mais pouvoir faire la même chose avec une combinaison de touches à une main aussi, d’où mon désir de Super cartographies.

Cela fait 3 heures que je cherche un moyen de le faire via xmodmap, mais rien n’a fonctionné.

12
guest442

J'ai essayé quelque chose de similaire en utilisant xmodmap et ses parents et je n'ai pas réussi. Essayez xbindkeys conjointement avec xdotool. C’est ce que j’ai mis dans ~/.xbindkeysrc pour relier les pavés numériques 1 et 2 à Ctrl-PageUp et Ctrl-PageDown:

"xdotool key ctrl+Prior" 
  Release + KP_End

"xdotool key ctrl+Next" 
  Release + KP_Down
4
loevborg

essayez d’éditer la définition de votre clavier/usr/share/X11/xkb/symboles/pc

(Cela modifiera globalement vos liaisons, si vous voulez quelque chose de plus fin, il y a encore du travail à faire, comme créer un keymap personnalisé ou une variante personnalisée)

comme vous pouvez le voir ici:

 touche {[[Prior]]}; 
 touche {[Suivant]}; 

comme vous pouvez le constater, la clé PGUP est liée à "Prior". Tandis que:

Touche 
 {[Gauche]}; 
 touche {[Bas]}; 

Les touches GAUCHE et BAS sont liées à "Gauche" et "Bas".

La partie entre crochets [ ] est une liste de symboles à générer. Vous pouvez en mettre plus d'un. Le premier est le symbole associé à la clé non modifiée, tandis que les autres positions correspondent aux symboles associés à la touche + modificateur.

Généralement, il est utilisé pour définir le comportement de la clé plus le modificateur "SHIFT":

 touche {[l, L]}; 
 touche {[point-virgule, deux points]}; 

Mais d'autres modificateurs peuvent également être spécifiés, par exemple dans la carte d'esperanto (epo):

 touche {[[jcircumflex, Jcircumflex, bracketft, braceleft]}; 
 touche {[hcircumflex, Hcircumflex, bracketright, braceright]}; 

vous pouvez taper un caractère [en tapant AltGr + key (la touche [du clavier américain), et {par Maj + AltGr + key.

Jusqu'ici tout va bien. La séquence que nous pouvons comprendre en regardant quelques exemples simples est la suivante:

plain shift altgr shift+altgr


Cependant, nous voulons pouvoir lier nos touches GAUCHE et DROITE aux modificateurs simples et CTRL + ALT. Comment y parvenir?

Je n'en ai aucune idée et je n'ai jamais essayé, mais je m'inspirerais de/usr/share/X11/xkb/symboles/pc:

 xkb_symbols "function" {
 touche {
 type = "CTRL + ALT", 
 symboles [Groupe1] = [F1, XF86_Switch_VT_1] 
 }; 

Peut-être que nous pouvons faire la même chose pour nos touches de direction. Essayons d'ajouter les lignes suivantes:

 clé {type = "CTRL + ALT", symboles [Groupe1] = [Gauche, Avant]}; 
 clé {type = "CTRL + ALT", symboles [Groupe1] = [Bas, Suivant                 ]       };

Juste en dessous des définitions originales de LEFT et DOWN, dans la partie inférieure du fichier 'pc'.

Et puis redémarrez le serveur X. Désolé, mais je ne peux pas fermer ma session maintenant pour la tester.

En passant, cela pourrait vous intéresser http://code.google.com/p/partiwm/wiki/xpra , afin que vous puissiez redémarrer la session X tout en préservant certaines applications lors des redémarrages.

4
ithkuil