Provided by:
manpages-fr-extra_20101103_all 
NOM
xmodmap - Modifier les tables de correspondance des touches et des
boutons du pointeur sous X
SYNOPSIS
xmodmap [-options ...] [nom_de_fichier]
DESCRIPTION
Le programme xmodmap est utilise pour editer et afficher la table des
modificateurs du clavier et la table de correspondance utilisees par
les applications clientes pour convertir les keycodes (evenements
clavier) en keysyms (symboles utilises par les applications clientes).
Il est habituellement lance par le script de demarrage de session de
l'utilisateur afin d'accorder le clavier a ses propres gouts.
OPTIONS
Les options suivantes peuvent etre utilisees avec xmodmap :
-display display
Cette option specifie l'hote et le display a utiliser.
-help Cette option indique qu'une breve description des parametres de
la ligne de commande doit etre affichee sur la sortie d'erreur
standard. Cela se produit egalement des qu'un parametre
incorrect est passe a xmodmap.
-grammar
Cette option indique qu'un message d'aide decrivant la
grammaire des expressions utilisees dans les fichiers et avec
l'option -e doit etre affichee sur la sortie d'erreur standard.
-verbose
Cette option (mode verbeux) indique que xmodmap doit afficher
les informations de journalisation pendant qu'il analyse ses
entrees.
-quiet Cette option desactive le mode verbeux. C'est le mode par
defaut.
-n Cette option indique que xmodmap ne doit pas changer les
correspondances mais doit juste afficher ce qu'il doit faire ;
de la meme maniere que make(1) quand on lui passe cette option.
-e expression
Cette option indique une expression a executer. En repetant -e,
on peut specifier plusieurs expressions depuis la ligne de
commande.
-pm Cette option indique que la table des modificateurs doit etre
affichee sur la sortie standard. Il s'agit du mode d'operation
par defaut si aucune option ne le change.
-pk Cette option indique que la table des correspondances en cours
doit etre affichee sur la sortie standard.
-pke Cette option indique que la table des correspondances en cours
doit etre affichee sur la sortie standard sous la forme
d'expressions pouvant etre passees en parametre a xmodmap.
-pp Cette option indique que la table du pointeur courante doit
etre affichee sur la sortie standard.
- Un tiret seul signifie que l'entree standard doit etre utilisee
comme fichier d'entree.
nom_de_fichier indique un fichier contenant les expressions devant etre
executees par xmodmap. Ce fichier est en general conserve dans le
repertoire principal de l'utilisateur sous un nom tel que .xmodmaprc.
GRAMMAIRE DES EXPRESSIONS
Le programme xmodmap lit une liste d'expressions et les analyse toutes
avant de tenter d'executer l'une d'entre elles. Cela permet de se
referer a des keysyms qui ont ete redefinis d'une facon plus naturelle
sans avoir a se preoccuper des conflits de noms.
keycode NOMBRE = NOM_KEYSYM ...
La liste des keysyms est assignee au keycode indique (qui peut
etre specifie en decimal, hexadecimal ou octal et peut etre
determine grace au programme xev). On peut attacher jusqu'a 8
keysyms a une touche, mais les 4 derniers ne sont utilisees par
aucune implementation majeur de serveurs X. Le premier keysym
est utilise quand aucune touche de modificateur n'est pressee
en meme temps que la touche, le second quand la touche
majuscule (Shift) est pressee, le troisieme en combinaison avec
la touche Mode_switch et le quatrieme en combinaison avec les
touches majuscule et Mode_switch.
keycode any = NOM_KEYSYM ...
Si aucune touche existante ne possede cette liste de keysyms,
une touche libre sur le clavier est selectionnee et les keysyms
lui sont assignes. La liste des keysyms peut etre specifiee en
decimal, hexadecimal ou octal.
keysym NOM_KEYSYM = NOM_KEYSYM ...
Le NOM_KEYSYM de gauche est traduit en keycodes utilises pour
effectuer l'ensemble des expressions keycode correspondantes.
La liste des noms des keysyms peut etre trouvee dans le fichier
d'en-tete : <X11/keysymdef.h> (sans le prefix XK_) ou dans la
base de donnee des keysyms /usr/share/X11 /XKeysymDB. Notez
que si le meme keysym est lie a plusieurs touches, l'expression
est executee pour chaque keycode correspondant.
clear NOM_MODIFICATEUR
Efface toutes les entrees dans la table de modificateurs pour
le modificateur donne, ou les noms pris en charge sont : Shift,
Lock, Control, Mod1, Mod2, Mod3, Mod4 et Mod5 (la casse n'a pas
d'importance dans le nom des modificateurs bien qu'elle en ait
pour tous les autres noms). Par exemple, << clear Lock >>
effacera toutes les touches qui etaient liees au modificateur
de verrouillage en majuscule.
add NOM_MODIFICATEUR = NOM_KEYSYM ...
Ajoute toutes les touches contenant les keysyms donnes a la
table de modificateurs indiquee. Les noms des keysyms sont
evalues apres la lecture de toutes les expressions d'entree
pour rendre plus facile l'ecriture d'expressions d'echange de
touches (voir la section EXEMPLES).
remove NOM_MODIFICATEUR = NOM_KEYSYM ...
Cela supprime toutes les touches contenant les keysyms donnes
de la table du modificateur indique. Contrairement a add, les
noms des keysyms sont evalues au moment ou la ligne est lue.
Cela permet de supprimer des touches d'un modificateur sans
avoir a se soucier de leur re-assignement.
pointer = default
Cela repositionne la table du pointeur aux reglages par defaut
(le bouton 1 genere un code 1, le bouton 2 genere un 2, etc.).
pointer = NOMBRE ...
Configure la table du pointeur de telle maniere qu'elle
contienne les codes boutons indiques. La liste commence
toujours avec le premier bouton physique.
Les lignes qui commencent par un point d'exclamation (!) sont des
commentaires.
Si vous voulez changer le lien d'une touche de modificateur, vous devez
l'enlever de la table du modificateur appropriee.
EXEMPLES
De nombreux pointeurs (souris) sont concus pour que le premier bouton
soit presse avec l'index de la main droite. Les gauchers trouvent
generalement qu'il est plus confortable d'intervertir les codes de
boutons generes de maniere a ce que le premier bouton soit presse avec
l'index de la main gauche. Cela peut etre fait sur une souris a 3
boutons de cette maniere :
% xmodmap -e "pointer = 3 2 1"
Beaucoup d'applications supportent la notion de touche << Meta >>
(equivalente a la touche Control, sauf que la touche Meta reste
enfoncee contrairement a la touche Control). Cependant certains
serveurs n'ont pas par defaut de keysym Meta dans la table de
correspondance des touches et celui-ci doit donc etre ajoute
manuellement. La commande suivante attache Meta a la touche
Multi-langage (parfois indiquee par Compose). Cela tire avantage du
fait que les applications qui ont besoin d'une touche Meta necessitent
simplement d'avoir le keycode et ne requierent pas que le keysym soit
dans la premiere colonne de la table de correspondance des touches.
Cela signifie que les applications qui cherchent une touche Multi_key
(y compris la table de modificateur par defaut) n'y verront aucun
changement.
% xmodmap -e "keysym Multi_key = Multi_key Meta_L"
De la meme maniere, certain claviers ont une touche Alt, mais pas de
touche Meta. Dans ce cas, la commande suivante peut etre utile :
% xmodmap -e "keysym Alt_L = Meta_L Alt_L"
Une des plus simples, mais pratique, utilisations de xmodmap est de
changer la touche << Suppr.E >> (ou << delete >>) pour generer un
keysym different. Cela implique generalement d'echanger Backspace avec
Delete pour plus de confort d'utilisation. Si la ressource ttyModes
dans xterm est positionnee convenablement, toutes les fenetres des
emulateurs de terminaux utiliseront la meme touche pour effacer les
caracteres :
% xmodmap -e "keysym BackSpace = Delete"
% echo "XTerm*ttyModes: erase ^?" | xrdb -merge
Certains claviers ne generent pas automatiquement les caracteres
<< plus petit que < >> et << plus grand que > >> quand le point et la
virgule sont decales. On peut remedier a cela avec xmodmap en
re-affectant les touches point et virgule avec le script suivant :
!
! Changer shift- en < et shift-. en >
!
keysym comma = comma less
keysym period = period greater
L'une des plus irritantes differences ente les claviers est la position
des touches Control et CapsLock. Une utilisation habituelle de xmodmap
est d'echanger ces deux touches :
!
! Echanger Caps_Lock et Control_L
!
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
L'exemple peut etre execute une nouvelle fois pour retablir les
assignations precedentes des touches.
La commande keycode est utile pour assigner le meme keysym a plusieurs
keycodes. Bien que non portable, cette methode rend possible l'ecriture
de scripts qui peuvent reinitialiser le clavier a un etat connu. Le
script suivant definit la touche backspace pour generer Delete (comme
vu precedemment), efface tous les liens avec caps lock, fait de la
touche CapsLock une touche Control, fait que F5 genere Escape, et fait
que Break/Reset soit le verrouillage majuscule.
!
! sur HP, les keycodes suivants sont etiquetes :
!
! 101 Backspace
! 55 Caps
! 14 Ctrl
! 15 Break/Reset
! 86 Stop
! 89 F5
!
keycode 101 = Delete
keycode 55 = Control_R
clear Lock
add Control = Control_R
keycode 89 = Escape
keycode 15 = Caps_Lock
add Lock = Caps_Lock
ENVIRONNEMENT
DISPLAY pour avoir l'hote par defaut et le numero du display.
VOIR AUSSI
X(7x), xev(1), la documentation Xlib sur les touches et les evenements
du pointeur
BOGUES
Chaque fois qu'une expression keycode est evaluee, le serveur genere un
evenement MappingNotify sur chaque client. Cela peut causer quelques
crash. Tous les changements devraient etre groupes et executes
ensembles. Les clients qui recoivent une entree clavier et ignorent les
evenements MappingNotify ne serons pas prevenus des changement
effectues aux correspondances clavier.
Xmodmap devrait generer les expressions << add >> et << remove >>
automatiquement quand un keycode deja lie a un modificateur est change.
Il devrait y avoir un moyen pour que l'expression remove accepte les
keycodes aussi bien que les keysyms pour les fois ou vous cassez
vraiment les correspondances.
AUTEUR
Jim Fulton (MIT X Consortium) re-ecrit a partir d'une precedente
version de David Rosenthal (Sun Microsystems).
TRADUCTION
Cette page de manuel a ete traduite par Cyril Guilloud
<guilloud@lautre.net> en 2002.
La version presente dans Debian est dorenavant maintenue par les
membres de la liste <debian-l10n-french AT lists DOT debian DOT org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue
sur le paquet manpages-fr-extra.