.de EX \"Begin example .ne 5 .if n .sp 1 .if t .sp .5 .nf .in +.5i .. .\" Copyright (c) 1987, 2010, Oracle and/or its affiliates. All rights reserved. .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice (including the next .\" paragraph) shall be included in all copies or substantial portions of the .\" Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .\" Copyright 1988, 1989, 1990, 1998 The Open Group .\" Permission to use, copy, modify, distribute, and sell this software and its .\" documentation for any purpose is hereby granted without fee, provided that .\" the above copyright notice appear in all copies and that both that .\" copyright notice and this permission notice appear in supporting .\" documentation. .\" The above copyright notice and this permission notice shall be included .\" in all copies or substantial portions of the Software. .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. .\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR .\" OTHER DEALINGS IN THE SOFTWARE. .\" Except as contained in this notice, the name of The Open Group shall .\" not be used in advertising or otherwise to promote the sale, use or .\" other dealings in this Software without prior written authorization .\" from The Open Group. .de EE .fi .in -.5i .if n .sp 1 .if t .sp .5 .. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH XMODMAP 1 "xmodmap 1.0.9" "X Version 11" .SH NOM xmodmap \- Modifier les tables de correspondance des touches et des boutons du pointeur sous X .SH SYNOPSIS \fBxmodmap\fP [\-options ...] [nom_de_fichier] .SH DESCRIPTION .PP Le programme \fIxmodmap\fP est utilisé pour éditer et afficher la \fItable des modificateurs\fP du clavier et la \fItable de correspondance\fP utilisées par les applications clientes pour convertir les \fIkeycodes\fP (événements clavier) en \fIkeysyms\fP (symboles utilisés par les applications clientes). Il est habituellement lancé par le script de démarrage de session de l'utilisateur afin d'accorder le clavier à ses propres goûts. .SH OPTIONS .PP Les options suivantes peuvent être utilisées avec \fIxmodmap\fP\ : .TP 8 \fB\-display \fP\fIaffichage\fP Cette option indique l'hôte et l’affichage à utiliser. .TP 8 \fB\-help\fP Cette option indique qu'une brève description des paramètres de la ligne de commande doit être affichée sur la sortie d'erreur standard. Cela se produit également dès qu'un paramètre incorrect est passé à \fIxmodmap\fP. .TP 8 \fB\-grammar\fP Cette option indique qu'un message d'aide décrivant la grammaire des expressions utilisées dans les fichiers et avec l'option \-e doit être affichée sur la sortie d'erreur standard. .TP 8 \fB\-version\fP Cette option indique que \fIxmodmap\fP doit afficher les informations de version et quitter. .TP 8 \fB\-verbose\fP Cette option (mode prolixe) indique que \fIxmodmap\fP doit afficher les informations de journalisation pendant qu'il analyse ses entrées. .TP 8 \fB\-quiet\fP Cette option désactive le mode prolixe. C'est le mode par défaut. .TP 8 \fB\-n\fP Cette option indique que \fIxmodmap\fP ne doit pas changer les correspondances mais doit juste afficher ce qu'il doit faire\ ; de la même manière que \fImake(1)\fP quand on lui passe cette option. .TP 8 \fB\-e \fP\fIexpression\fP Cette option indique une expression à exécuter. Plusieurs expressions peuvent être indiquées en ligne de commande. .TP 8 \fB\-pm\fP Cette option indique que la table des modificateurs doit être affichée sur la sortie standard. Il s'agit du mode d'opération par défaut si aucune option ne le change. .TP 8 \fB\-pk\fP Cette option indique que la table des correspondances doit être affichée sur la sortie standard. .TP 8 \fB\-pke\fP Cette option indique que la table des correspondances doit être affichée sur la sortie standard sous la forme d'expressions pouvant être passées en paramètre à \fIxmodmap\fP. .TP 8 \fB\-pp\fP Cette option indique que la table du pointeur doit être affichée sur la sortie standard. .TP 8 \fB\-\fP Un tiret seul signifie que l'entrée standard doit être utilisée comme fichier d'entrée. .PP \fInom_de_fichier\fP indique un fichier contenant les expressions devant être exécutées par \fIxmodmap\fP. Ce fichier est en général conservé dans le répertoire principal de l'utilisateur sous un nom tel que \fI.xmodmaprc\fP. .SH "GRAMMAIRE DES EXPRESSIONS" .PP Le programme \fIxmodmap\fP lit une liste d'expressions et les analyse toutes avant de tenter d'exécuter l'une d'entre elles. Cela permet de se référer à des keysyms qui ont été redéfinis d'une façon plus naturelle sans avoir à se préoccuper des conflits de noms. .PP La liste des noms des keysyms peut être trouvée dans le fichier d'en\-tête\ : \fI\fP (sans le prefix \fIXK_\fP) ou dans la base de donnée des keysyms \fI/usr/share/X11/XKeysymDB\fP. Les keysyms correspondants à des caractères Unicode peuvent être indiqués de «\ U0020\ » à «\ U007E\ » et de «\ U00A0\ » à «\ U10FFFF\ » pour tous les caractères Unicode possibles. .TP 8 \fBkeycode \fP\fINOMBRE\fP\fB = \fP\fINOM_KEYSYM ...\fP La liste des keysyms est assignée au keycode indiqué (qui peut être indiqué en décimal, hexadécimal ou octal et peut être déterminé grâce au programme \fIxev\fP). Jusqu'à 8\ keysyms peuvent être attachés à une touche, mais les 4\ derniers ne sont utilisés par aucune implémentation majeure de serveur X. Le premier keysym est utilisé quand aucune touche de modificateur n'est pressée en même temps que la touche, le second quand la touche majuscule (Shift) est pressée, le troisième en combinaison avec la touche Mode_switch (Alt Gr) et le quatrième en combinaison avec les touches majuscule et Mode_switch. .TP 8 \fBkeycode any = \fP\fINOM_KEYSYM ...\fP Si aucune touche existante ne possède cette liste de keysyms, une touche libre sur le clavier est sélectionnée et les keysyms lui sont assignés. La liste des keysyms peut être indiquée en décimal, hexadécimal ou octal. .TP 8 \fBkeysym \fP\fINOM_KEYSYM\fP\fB = \fP\fINOM_KEYSYM ...\fP Le \fINOM_KEYSYM\fP de gauche est traduit en keycodes utilisés pour effectuer l'ensemble des expressions \fBkeycode\fP correspondantes. Remarquez que si le même keysym est lié à plusieurs touches, l'expression est exécutée pour chaque keycode correspondant. .TP 8 \fBclear \fP\fINOM_MODIFICATEUR\fP Effacer toutes les entrées dans la table de modificateurs pour le modificateur donné, où les noms pris en charge sont\ : \fBShift\fP, \fBLock\fP, \fBControl\fP, \fBMod1\fP, \fBMod2\fP, \fBMod3\fP, \fBMod4\fP et \fBMod5\fP (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 étaient liées au modificateur de verrouillage en majuscule. .TP 8 \fBadd \fP\fINOM_MODIFICATEUR\fP\fB = \fP\fINOM_KEYSYM ...\fP Ajouter toutes les touches contenant les keysyms donnés à la table de modificateurs indiquée. Les noms des keysyms sont évalués après la lecture de toutes les expressions d'entrée pour rendre plus facile l'écriture d'expressions d'échange de touches (voir la section EXEMPLES). .TP 8 \fBremove \fP\fINOM_MODIFICATEUR\fP\fB = \fP\fINOM_KEYSYM ...\fP Supprimer toutes les touches contenant les keysyms donnés de la table du modificateur indiqué. Contrairement à \fBadd\fP, les noms des keysyms sont évalués au moment où la ligne est lue. Cela permet de supprimer des touches d'un modificateur sans avoir à se soucier de leur ré\-assignement. .TP 8 \fBpointer = default\fP Repositionner la table du pointeur aux réglages par défaut (le bouton\ 1 génère un code\ 1, le bouton\ 2 génère un 2,\ etc.). .TP 8 \fBpointer = \fP\fINOMBRE ...\fP Configurer la table du pointeur de telle manière qu'elle contienne les codes boutons indiqués. La liste commence toujours avec le premier bouton physique. La configuration d'un code bouton à 0 désactive les événements de ce bouton. .PP Les lignes qui commencent par un point d'exclamation (!) sont des commentaires. .PP Si vous voulez changer le lien d'une touche de modificateur, vous devez l'enlever de la table du modificateur appropriée. .SH EXEMPLES .PP De nombreux pointeurs (souris) sont conçus pour que le premier bouton soit pressé avec l'index de la main droite. Les gauchers trouvent généralement qu'il est plus confortable d'intervertir les codes de boutons générés de manière à ce que le premier bouton soit pressé avec l'index de la main gauche. Cela peut être fait sur une souris à 3 boutons de cette manière\ : .EX % xmodmap \-e "pointer = 3 2 1" .EE .PP Beaucoup d'applications supportent la notion de touche «\ Meta\ » (équivalente à la touche Control, sauf que la touche Meta reste enfoncée contrairement à la touche Control). Cependant, certains serveurs n'ont pas par défaut de keysym Meta dans la table de correspondance des touches et celui\-ci doit donc être ajouté manuellement. La commande suivante attache Meta à la touche Multi\-langage (parfois indiquée par Compose). Cela tire avantage du fait que les applications qui ont besoin d'une touche Meta nécessitent simplement d'avoir le keycode et ne requièrent pas que le keysym soit dans la première 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 défaut) n'y verront aucun changement. .EX % xmodmap \-e "keysym Multi_key = Multi_key Meta_L" .EE .PP De la même manière, certain claviers ont une touche Alt, mais pas de touche Meta. Dans ce cas, la commande suivante peut être utile\ : .EX % xmodmap \-e "keysym Alt_L = Meta_L Alt_L" .EE .PP Une des plus simples, mais pratique, utilisations de \fIxmodmap\fP est de changer la touche «\ Suppr.E\ » (ou «\ delete\ ») pour générer un keysym différent. Cela implique généralement d'échanger Backspace avec Delete pour plus de confort d'utilisation. Si la ressource \fIttyModes\fP dans \fIxterm\fP est positionnée convenablement, toutes les fenêtres des émulateurs de terminaux utiliseront la même touche pour effacer les caractères\ : .EX % xmodmap \-e "keysym BackSpace = Delete" % echo "XTerm*ttyModes: erase ^?" | xrdb \-merge .EE .PP Certains claviers ne génèrent pas automatiquement les caractères «\ plus petit que <\ » et «\ plus grand que >\ » quand le point et la virgule sont décalés. On peut remédier à cela avec \fIxmodmap\fP en ré\-affectant les touches point et virgule avec le script suivant\ : .EX ! ! Changer shift\- en < et shift\-. en > ! keysym comma = comma less keysym period = period greater .EE .PP L'une des plus irritantes différences entre les claviers est la position des touches Control et CapsLock. Une utilisation habituelle de \fIxmodmap\fP est d'échanger ces deux touches\ : .EX ! ! Échanger 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 .EE .PP L'exemple peut être exécuté une nouvelle fois pour rétablir les assignations précédentes des touches. .PP La commande \fIkeycode\fP est utile pour assigner le même keysym à plusieurs keycodes. Bien que non portable, cette méthode rend possible l'écriture de scripts qui peuvent réinitialiser le clavier à un état connu. Le script suivant définit la touche backspace pour générer Delete (comme vu précédemment), efface tous les liens avec caps lock, fait de la touche CapsLock une touche Control, fait que F5 génère Escape, et fait que Break/Reset soit le verrouillage majuscule. .EX ! ! sur HP, les keycodes suivants sont étiquetés\ : ! ! 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 .EE .SH ENVIRONNEMENT .PP .TP 8 \fBDISPLAY\fP pour avoir l'hôte par défaut et le numéro d’affichage. .SH "VOIR AUSSI" \fBxev\fP(1), \fBsetxkbmap\fP(1), \fBXStringToKeysym\fP(3), \fBX\fP(7), la documentation \fIXlib\fP sur les touches et les événements du pointeur .SH BOGUES .PP Chaque fois qu'une expression \fBkeycode\fP est évaluée, le serveur génère un événement \fIMappingNotify\fP sur chaque client. Cela peut causer quelque emballement. Tous les changements devraient être groupés et exécutés ensemble. Les clients qui reçoivent une entrée clavier et ignorent les événements \fIMappingNotify\fP ne seront pas prévenus des changements effectués aux correspondances clavier. .PP \fIXmodmap\fP devrait générer les expressions «\ add\ » et «\ remove\ » automatiquement quand un keycode déjà lié à un modificateur est changé. .PP Il devrait y avoir un moyen pour que l'expression \fIremove\fP accepte les keycodes aussi bien que les keysyms pour les fois où vous cassez vraiment les correspondances. .SH AUTEUR Jim Fulton (MIT X Consortium) ré\-écrit à partir d'une précédente version de David Rosenthal (Sun Microsystems). .SH TRADUCTION Cette page de manuel a été traduite par Cyril Guilloud en 2002. La version présente dans Debian est dorénavant maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages\-fr\-extra.