wiki:tutoriels:clavier_modifier
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| wiki:tutoriels:clavier_modifier [2025/02/08 21:21] – supprimée - modification externe (Date inconnue) 127.0.0.1 | wiki:tutoriels:clavier_modifier [2025/09/13 19:47] (Version actuelle) – [Fonctionnement des claviers] palas | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ~~NOCACHE~~ | ||
| + | ====== Modifier certaines touches de son clavier sous Linux ====== | ||
| + | Lien vers [[: | ||
| + | |||
| + | Certains claviers peuvent être mal reconnus, ou vous pouvez vouloir modifier la fonction de certaines touches (ajouter des caractères que vous utilisez souvent et qui ne figurent pas sur votre clavier), ou encore changer le " | ||
| + | |||
| + | ===== Fonctionnement des claviers ===== | ||
| + | |||
| + | **Keycode** --- Sur le clavier chaque touche est identifiée par son emplacement physique. Les keycodes sont numériques : de 8 à 255. Ils ne changent jamais. \\ | ||
| + | |||
| + | NB : Les lettres majuscules et les chiffres ont des keycodes identiques à ceux du code ASCII. | ||
| + | |||
| + | **Keysym** --- 8 actions peuvent être affectées à chaque touche (keycode), en fonction de la combinaison avec d' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Les résultats sont soit des caractères imprimables soit des actions, on trouve donc : | ||
| + | |||
| + | ^ Caractère | ||
| + | |0|0|::: | ||
| + | |1|1|::: | ||
| + | |…| …|::: | ||
| + | |a|a |::: | ||
| + | |b|b |::: | ||
| + | |…|…|::: | ||
| + | |A|A|::: | ||
| + | |B|A|::: | ||
| + | |…|…|::: | ||
| + | |à|a grave|::: | ||
| + | |À|A grave|::: | ||
| + | |& | ||
| + | |@|arobase|::: | ||
| + | |etc.||::: | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Touches modificatrices et Touches de fonctions ==== | ||
| + | |||
| + | ^ Touches modificatrices | ||
| + | |Contrôle gauche|Control_L|::: | ||
| + | |Contrôle droit|Control_R|::: | ||
| + | |Alternative gauche|Alt_L|::: | ||
| + | |Alternative droit|Alt_R|::: | ||
| + | |Majuscule gauche|Shift_L|::: | ||
| + | |Majuscule droit|Shift_R|::: | ||
| + | |Verr. majuscule|Caps_Lock|::: | ||
| + | |Verr. numérique|Num_Lock|::: | ||
| + | |Meta(windows) gauche|Meta_L|::: | ||
| + | |Meta(windows) droite|Meta_R|::: | ||
| + | |||
| + | On trouve sur certains claviers des touches multimédia et des touches de contrôle des périphériques (micro, haut-parleur...) en nombre très variable... | ||
| + | |||
| + | ^ Touches multimédia | ||
| + | |mail|XF86Mail|::: | ||
| + | |navigateur|XF86Explorer|::: | ||
| + | |son 0|XF86AudioMute|::: | ||
| + | |son -|XF86AudioLowerVolume|::: | ||
| + | |son +|XF86AudioRaiseVolume|::: | ||
| + | |play|XF86AudioPlay|::: | ||
| + | |pause|XF86AudioPause|::: | ||
| + | |eject|XF86Eject|::: | ||
| + | |etc.||::: | ||
| + | |||
| + | La **configuration d'un clavier** est l' | ||
| + | |||
| + | <WRAP center round box 60%> | ||
| + | Modifier son clavier, c'est modifier l' | ||
| + | </ | ||
| + | |||
| + | La gestion des touches du clavier et des systèmes de pointage (souris, trackpad, joystick) est assurée par le serveur graphique Xorg. | ||
| + | À la déconnexion de la session utilisateur graphique (ce qui est différent de l' | ||
| + | On verra qu'il y a heureusement moyen de les rendre permanentes. | ||
| + | |||
| + | ===== Identifier la touche à modifier ===== | ||
| + | |||
| + | Il y a de nombreux modèles de claviers et une longue liste de langues. Aussi identifier la touche à modifier n'est pas évident. | ||
| + | |||
| + | ==== Méthode xev ==== | ||
| + | |||
| + | **xev** (Xorg Events) est un utilitaire appartenant au serveur graphique Xorg, il sert à contrôler le clavier. \\ | ||
| + | Il est dans les dépôts de toutes les distributions et normalement installé de base (??).\\ | ||
| + | xev se lance depuis un terminal (console), il affiche des informations sur les actions de l' | ||
| + | Au lancement, xev affiche des informations sur l' | ||
| + | |||
| + | Presser/ | ||
| + | {{: | ||
| + | Exemple d' | ||
| + | |||
| + | Terminer xev en fermant la petite fenêtre blanche qui est apparue.\\ | ||
| + | On peut procéder ainsi pour n' | ||
| + | |||
| + | ==== Méthode xkeycaps ==== | ||
| + | |||
| + | **xkeycaps** --- cette application graphique affiche le clavier et les keycode et keysyms associés aux combinaisons de touches.\\ | ||
| + | Elle n'est pas disponible pour toutes les distributions (contrairement à xev). \\ | ||
| + | |||
| + | Commencer par sélectionner le modèle de clavier qui se rapproche le plus du votre (très peu de modèles sont listés). La vue miniature en bas de la fenêtre permet se faire une idée. \\ | ||
| + | Les portables ne sont pas pris en compte. \\ | ||
| + | **PC** est l' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Cliquer sur OK fait apparaitre une vue du clavier. | ||
| + | |||
| + | Presser une touche l' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Dans cet exemple, la touche [A] a été pressée. \\ | ||
| + | Le keycode à prendre en compte est la valeur décimale, ici **24**. \\ | ||
| + | La liste des keysyms associés est affichée. | ||
| + | |||
| + | Il est possible de cliquer avec la souris sur la touche pour laquelle on veut les informations, | ||
| + | |||
| + | En cas de difficulté, | ||
| + | Si rien ne va, revenez à la méthode xev, moins jolie, mais plus fiable. | ||
| + | ===== Voir les keysyms associés à une touche ===== | ||
| + | |||
| + | À chaque " | ||
| + | |||
| + | - Touche seule | ||
| + | - Shift + touche | ||
| + | - mode_switch + touche | ||
| + | - mode_switch + shift + touche | ||
| + | - AltGr + touche | ||
| + | - AltGr + shift + touche | ||
| + | - AltGr + mode_switch + touche | ||
| + | - AltGr + mode_switch + shift + touche | ||
| + | |||
| + | Note : mode_switch est un symbole qui selon la map et le clavier que vous utilisez est associé ou pas à une touche. | ||
| + | (à développer...) | ||
| + | |||
| + | -------- | ||
| + | 2 solutions pour voir la liste des keysyms : | ||
| + | * **xkeycaps**, | ||
| + | * **xmodmap**, | ||
| + | -------- | ||
| + | |||
| + | ==== xmodmap ==== | ||
| + | |||
| + | **xmodmap** est un utilitaire permettant de modifier les mappages des touches et des boutons du pointeur dans Xorg, à lancer dans la console. | ||
| + | L' | ||
| + | On peut envoyer cette liste dans un fichier (pour l' | ||
| + | |||
| + | xmodmap -pke > MONFICHIER.TXT | ||
| + | |||
| + | On peut n' | ||
| + | |||
| + | xmodmap -pke | grep " 24 = " | ||
| + | |||
| + | Ce qui donne : | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Ce résultat obtenu par xmodmap | ||
| + | |||
| + | ^ keycode | ||
| + | | |touche seule |shift + touche |mode_switch + touche |mode_switch + shift + touche |AltGr + touche |AltGr + shift + touche |AltGr + mode_switch + touche |AltGr + mode_switch + shift + touche| | ||
| + | |24|a|A|a|A|ae|AE|ae|AE|q|Q| | ||
| + | |||
| + | Note: il y a 2 keysyms qui ne devraient pas être là. | ||
| + | ===== Modifier les keysyms associés à une touche ===== | ||
| + | |||
| + | Supposons maintenant que je ne soit pas intéressé par avoir **æ** sur AltGr+a ni **Æ** sur Maj+AltGr+a, | ||
| + | |||
| + | Il faut déjà connaître les keysyms correspondants aux caractères désirés ! On peut trouver la liste de tous les Keysyms possibles ici : https:// | ||
| + | |||
| + | Les 2 keysyms qui m' | ||
| + | |||
| + | On va maintenant utiliser xmodmap pour modifier la liste des keysyms de la touche 24. On veut obtenir: | ||
| + | |||
| + | ^keycode^keysym^keysym^keysym^keysym^keysym^keysym^keysym^keysym^ | ||
| + | ^:::^touche seule^shift + touche^mode_switch + touche^mode_switch + shift + touche^AltGr + touche^AltGr + shift + touche^AltGr + mode_switch + touche^AltGr + mode_switch + shift + touche^ | ||
| + | |24|a|A|a|A|atilde|Atilde|atilde|Atilde| | | | | | ||
| + | |||
| + | Il faut utiliser xmodmap avec la syntaxe '' | ||
| + | |||
| + | Dans l' | ||
| + | |||
| + | '' | ||
| + | |||
| + | On peut ensuite vérifier que c'est bien pris en compte en refaisant à nouveau : '' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Si un des keysyms de la liste n'est pas valide (ci-dessous par exemple j'ai volontairement tapé " | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Il est possible d' | ||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | Par exemple pour affecter le symbole ☎ dont le code unicode est **U260E** à la lettre " | ||
| + | |||
| + | - trouver par xev ou xkeycaps le keycode de la lettre " | ||
| + | - récupérer avec xmodmap -pke les keysyms actuels: keycode | ||
| + | - modifier avec '' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Le pavé numérique** | ||
| + | |||
| + | Les touches du pavé numérique ont généralement moins de fonctions et donc moins de keysyms.\\ | ||
| + | |||
| + | Le keycode de la touche " | ||
| + | '' | ||
| + | |||
| + | KP_Decimal est le séparateur décimal américain " | ||
| + | On peut essayer de régler ce problème avec xmodmap. Cette touche n'est vraiment utilisée qu'en 2 modes: seule ou avec verrouillage | ||
| + | |||
| + | '' | ||
| + | |||
| + | Sur mon clavier ça marche, mais apparemment pas sur tous...\\ | ||
| + | Si vous êtes dans le cas où ça ne marche pas on va essayer une commande encore plus minimaliste. On supprime carrément la fonction " | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Rendre les modifications permanentes ===== | ||
| + | |||
| + | Toutes les modifications apportées par xmodmap ne sont valides que tant que le serveur Xorg est en fonctionnement. Si on quitte la session graphique soit temporairement (pour laisser un autre utilisateur se connecter) soit définitivement quand on arrête l' | ||
| + | |||
| + | Pour rendre les modifications permanentes, | ||
| + | |||
| + | Le shell par défaut de Linux est le **bash** et son fichier d' | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Si vous avez modifié votre shell par défaut c'est que vous êtes déjà d'un niveau avancé et vous saurez quel fichier modifier... | ||
| + | </ | ||
| + | |||
| + | Utilisez l' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Si vous avez beaucoup de modifications, | ||
| + | |||
| + | Mettez toutes les expressions, | ||
| + | |||
| + | **keycode 24 = a A a A atilde Atilde atilde Atilde\\ | ||
| + | keycode 28 = t T t T U260E U260E U260E U260E\\ | ||
| + | keycode 91 = KP_Delete comma KP_Delete comma** | ||
| + | |||
| + | |||
| + | dans un fichier que vous appelez par exemple **xmodmap.perso**, | ||
| + | Il suffit ensuite dans le fichier .bashrc d' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Si le fichier **xmodmap.perso** contient des erreurs, des messages seront affichés indiquant à quelles lignes se trouvent les erreurs. Par exemple :\\ | ||
| + | **xmodmap: | ||
| + | |||
| + | |||
| + | |||
| + | <ifauth @contrib> | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Keycode et keysym - https:// | ||
| + | |||
| + | ---- | ||
| + | Nombre de visiteurs : {{counter}} | ||
| + | ---- | ||
| + | </ | ||
