Utilisation de setxkbmap pour un remappage simple (similaire à xmodmap)

13

J'ai rencontré des problèmes après avoir remappé le clavier avec xmodmap: les paramètres sont réinitialisés de manière aléatoire après 2 à 20 minutes après l'application. Googlé mais sans aide: quelque chose les réinitialise, mais toutes les mentions s'appliquent à xfce, alors que je suis sous Ubuntu 14.04 avec l'unité.

J'ai vu des phrases comme «utiliser xkb, oublier xmodmap», mais je ne sais toujours pas comment faire. C'est classifié ou très compliqué, car la quantité d'informations à ce sujet est beaucoup plus petite que pour la méthode xmodmap.

Voici ma liste de personnalisations:

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

où les codes clés sont des touches correspondantes sur le pavé numérique, avec numlock = off (en gros, je remplace KP_Del par Delete, KP_Home par Home, etc. - ne demandez pas pourquoi))

Quelqu'un peut-il aider à trouver un moyen de le faire en utilisant xkb - au moins une des lignes? Et où trouver les "noms" des clés pour les autres afin que je puisse faire le reste par exemple?

Den Drobiazko
la source
5
Oui. Eu exactement le même problème. Voir ici: rlog.rgtti.com/2014/05/01/… et askubuntu.com/questions/422650/… . Si vous pouvez trouver comment utiliser xkbsans réécrire les fichiers système, écrivez une réponse ici ... vous serez récompensé par des millions de votes positifs.
Rmano
Wow - enfin un guide de remappage xkb qui rend les choses plus claires ... Mais je ne vois rien à propos du remappage des flèches Home, Delete et Up- & Down. Il s'agit toujours de lettres grecques ou espagnoles. Jusqu'à présent, je suis allé dans l'autre sens - en essayant d'empêcher le système de remplacer mes paramètres Xmodmap (recette n ° 3 à partir d'ici: programmingiroiro.blogspot.com/2013/03/… )
Den Drobiazko
1
Mauvaise idée - aucun changement de disposition disponible après cela (
Den Drobiazko

Réponses:

4

Vous pouvez suivre l'idée générale vue dans ma réponse sur un problème similaire ; si vous voulez toujours changer de mise en page (bien qu'il soit encore assez cassé ), vous devez définir une nouvelle disposition ou variante .

Notez que le modèle à copier et à modifier pour l'édition d'un clavier est un peu difficile à trouver. Dans mon clavier, par exemple, la géométrie est "pc105"; cela est défini dans /usr/share/X11/xkb/symbols/pc. Si vous l'examinez, cela comprend :

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

Le clavier est défini dans le fichier /usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

Pour le nom des symboles clés (keysims), le meilleur endroit pour regarder est dans le fichier /usr/include/X11/keysymdef.h; vous devrez peut-être avoir les packages de développement installés pour l'avoir (ou l'installer en l'installant x11proto-core-dev):

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

le nom de la clé est celui que vous avez supprimé la chaîne "XK_".

Rmano
la source