Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
25 janvier 2014

X X Window System           Utilitaires X


xmodmap

xmodmap

Utilitaire pour modifier les keymaps et mappages de bouton de pointeur dans X

OPTIONS

-display display Nom du serveur X à utiliser
-grammar Affiche la grammaire des expressions utilisé avec -e
-verbose Augmente les messages en sortie
-quiet N'affiche pas les logs
-n  Indique qui xmodmap ne devrait pas changer les mappings.
-e expression Expression à exécuter. Peut être spécifié plusieurs fois
-pm Affiche le modifier map courant
-pk Affiche la table keymap
-pke Affiche le table keymap sous la forme d'expressions qui peuvent être envoyés à xmodmap
-pp Affiche le pointer map
Utilise l'entrée standard comme fichier d'entrée

Grammaire des expressions

   xmodmap lit une liste d'expressions et tente de les exécuter. Celà permet de référer à des keysym qui ont été redéfinis de manière naturelle san s'occuper des conflits de nom. La liste des noms de keysym peut être trouvé dans le fichier ‹X11/keysymdef.h›, plus la base de keysym /usr/share/X11/XKeysymDB/. les keysyms qui matchent des caractères unicodes peuvent être spécifiés par "U0020" à "U°°7E" et "U00A0" à "U10FFFF"

keycode NUMBER = KEYSYMNAME ... La liste des keysyms est assigné au keycode indiqué (en décimal,hex, octal et peut être déterminé avec xev). Jusqu'à 8 keysyms peuvent être attachés à une touche, cependant les 4 derniers ne sont pas utilisés par la plupart des serveurs X. Le premier keysym est utilisé sans modificateur, Le second avec Shift, le troisième avec Mode_Switch, et le quatrième avec Mode_Switch est Shift.
keycode any = KEYSYMNAME ... Si aucune touche existante n'a la liste de keysym spécifiée, une touche spare sur le clavier est sélectionnée et les keysyms lui sont associé.
keysym KEYSYMNAME = KEYSYMNAME ... Le KEYSYMNAME à gauche est traduite en keycode correspondant utilisé pour faire le jeu d'expression keycode correspondant.
clear MODIFIERNAME Supprime toutes les entrées pour le modifier donné, où les noms valide sont: Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, et Mod5. ex: "clear Lock" supprime toutes les touches liées au modifieur shift lock.
add MODIFIERNAME = KEYSYMNAME ... Ajoute toutes les clés contenant les keysyms donnés au modifier map indiqué.
remove MODIFIERNAME = KEYSYMNAME ... Supprime toutes les clés contenant les keysyms donnés au modifier map indiqué.
pointer = default Définis le mappage du pointeur à ses valeurs par défaut.
pointer = NUMBER ... Définis le mappage du pointeur pour contenir les codes de bouton indiqué.

Exemples

Définis les boutons de la souris pour un gaucher:
xmodmap -e "pointer = 3 2 1"
De nombreuses applications supportent la notion de Meta keys (similaire aux touches Control excepté que Meta est maintenu enfoncé). Cependant, certains serveurs n'ont pas de keysym Meta dans la table de mappage par défaut. La commande suivante attache Meta à la touche Multi-language (parfois appelé le caractère Compose).
% xmodmap -e "keysym Multi_key = Multi_key Meta_L"
Similairement, certains clavier ont une touche ALT, mais pas de touche Meta. Dans ce cas
xmodmap -e "keysym Alt_L = Meta_L Alt_L"
Définir la touche "rubout" du clavier pour générer un keysym alternatif. Généralement implique d'échange Backspace avec Delete pour plus de confort. Is la ressource ttyModes est définie, tous les émulateur de terminal vont utiliser la même touche pour le caractère Erase.
% xmodmap -e "keysym BackSpace = Delete"
% echo "XTerm*ttyModes: erase ^?" | xrdb -merge
Certains claviers ne génèrent pas automatiquement les caractères supérieur à et inférieur à quand les touches comma et period sont shiftés. On peut y remédier avec
keysym comma = comma less
keysym period = period greater
Inverser les touches Shift Lock et Control
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
Assigner le même keysym à plusieurs keycodes. Définis BackSpace pour générer Delete, vide les liens caps lock existants, défini CapsLock en touche Control, définis F5 en Escape, et définis Break/Reset en Shift Lock
keycode 101 = Delete
keycode 55 = Control_R
clear Lock
add Control = Control_R
keycode 89 = Escape
keycode 15 = Caps_Lock
add Lock = Caps_Lock