[clavier be] tilde en deux touches au lieu de trois

Un truc qui m’a agacé jusqu’à aujourd’hui est de devoir faire [AltGr] + [~] + [espace] pour produire un tilde. Il me semblait ne pas avoir eu ce problème sur mes serveurs sans X11 où un simple [AltGr] + [~] suffisait. Même chose pour le back-tick [`].

Deux solutions:

[ol]
[li]Méthode xmodmap
[ul]

[*]éditer le fichier /usr/share/xmodmap/xmodmap.be

[code]// changer les lignes
keycode 61 = equal plus dead_tilde
keycode 51 = mu sterling dead_grave

// par
keycode 61 = equal plus asciitilde
keycode 51 = mu sterling grave

[/code][/li][li]faire:

[/*:m]
[li]Méthode xorg/xkb (recommandée)
[ul]

[*]Solution courte mais non portable[list]

[*]On va simplement modifier la table des symboles et clés de touches telle que définie dans le fichier xorg /usr/share/X11/xkb/symbols/be

[code]// changer les lignes:

key { [ equal, plus, dead_tilde, dead_abovedot] };
key { [ mu, sterling, dead_grave, dead_breve] };

// par:

key { [ equal, plus, asciitilde, dead_abovedot] };
key { [ mu, sterling, grave, dead_breve ] }; [/code]
[/li]
[li]Relancer la session X.[/li][/ul]

Inconvénient de cette méthode: ce mapping sera le même pour tous les utilisateurs de la machine et, cette modification risque de devoir se faire après chaque mise à jour complète des paquets Xorg par apt(itude).

[/*:m]
[li]Solution plus portable - niveau utilisateur
[ul]

[*]Dans son répertoire $HOME, créer son fichier xkb perso:

Ceci va donner un fichier du genre:

xkb_keymap { xkb_keycodes { include "xfree86+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc(pc105)+be" }; xkb_geometry { include "pc(pc105)" }; };
[/li]
[li]Editer ce fichier pour modifier le comportement des touches [~] et [`]

xkb_keymap { xkb_keycodes { include "xfree86+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc(pc105)+be+compose(lwin)" key <AB10> { [ equal, plus, asciitilde, dead_abovedot] }; key <BKSL> { [ mu, sterling, grave, dead_breve ] }; }; xkb_geometry { include "pc(pc105)" }; };
En passant, j’ai activé la touche “compose” - compose(lwin) - (la touche “Windows”, aaargh!) qui, sur mon portable, n’est présente qu’à gauche. Celle-ci permet d’accéder facilement à certains caractères spé©iau¤. Voir liste des caractères “compose” ici: fr.wikipedia.org/wiki/Touche_compose

[/li]
[li]Compiler le nouveau mapping:

Si pas d’erreurs de compil, essayer les nouvelles touches.

[/li]
[li]Pour ne pas a avoir à recompiler à chaque session, faire un petit script du genre:

[code]#!/bin/sh

recompilation maison du mapping clavier

voir fichier ~/.Xkb

xkbcomp -w 0 -R/usr/share/X11/xkb/ $HOME/.Xkb $DISPLAY
[/code]
Et rajoutez-le aux scripts se lançant automatiquement démarrage de votre session. Par exemple pour Gnome: Système --> Sessions --> Programmes au démarrage --> Ajouter. N’oubiez pas de le rendre exécutable!

[/li]
[li]Relancer votre session X[/li][/ul][/:m][/list:u][/:m][/ol]

Voilà, c’est beaucoup plus long à décrire qu’à réaliser. Je recommande le méthode Xorg/xkb qui permet de faire de très belles choses. Je vais d’ailleurs m’attaquer à un autre problème qui m’énerve: les touches numériques sur mon portable. J’ai envie de les rendre accessibles sans “shift”. Comme sur les claviers US. Evidemment, faudra voir à l’usage pour les accents. Je posterai dans un nouveau fil la solution si elle me convient.

Excellent tuto complet:
wiki.mandriva.com/fr/Personnaliser_le_clavier

Edit: Supression car fusionné avec le post précédent.

perso, je n’ai jamais eu à faire un espacement supplémentaire :
~
= alt gr + é
par contre, pour
^
il faut, en effet, un espacement pour que l’accent apparaisse.

C’est normal, le fichier par défaut de Xorg pour les claviers fr définit asciitilde pour le ~. Pour une raison qui m’échappe, le fichier be le met à dead_tilde, comme pour l’accent circonflexe (dead_circumflex) ou le tréma (dead_diaeresis). Or, tant notre alphabet français (le même que le vôtre) que néerlandais ne comportent aucune lettre accentuée par le tilde. Pas de ã ou de ñ comme dans d’autres langues.

Huhu :mrgreen: pas mal l’astuce… mais faut avouez qu’il faut aller la chercher celle là :wink:

Maintenant je suis trop habitué au AltGr + ~ + [:space:] pour changer, mais joli travail que de dénicher une subtilité pareil :smiley:

Même chose pour le “back tick” [b][/b] ou accent grave qu'on utilise entre-autres pour protéger les noms de tables ou de colonne en SQL, ou dans les scripts bash/ksh. Sur nos claviers belges il faut faire [AltGr]+[]+[espace]. A nouveau je ne connais pas d’autres voyelles accentuées que ùàè - qui existent déjà comme touche unique - même dans l’alphabet néerlandais. Alors, mystère…

Ici, je pense que les claviers fr ont le même problème si j’en crois le contenu du fichier /usr/share/X11/xkb/symbols/fr (je n’ai pas de clavier fr pour vérifier - quelqu’un peut-il confirmer?).

Modif à faire dans le même fichier /usr/share/X11/xkb/symbols/be:

//remplacer key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] }; // par key <BKSL> { [ mu, sterling, grave, dead_breve ] };

En passant, pour voir la liste des symboles autorisés:

[code]#!/bin/sh

imprime la table des key symbols pour le mapping Xorg ou xmodmap

dumpkeys --long-info | awk ‘/^0x0000/, /^$/ {if(/^$/) exit; printf("%-22s %s\n", $2, $1);}’
[/code]

Un dernier truc, pour imprimer une image de votre clavier avec l’intitulé xmodmap ou xorg des touches:

Va produire une image postscript server-0_0.ps dans le répertoire courant. Il n’y a plus qu’à l’imprimer ou l’afficher dans n’importe quel lecteur ps. Ou faire:

wiki.mandriva.com/fr/Personnaliser_le_clavier

Tu devrais rassembler tout dans le premier post…

Bonne idée. Je ferai ça quand j’aurai bien compris la différence (compatibilité?) entre le classique xmodmap et le xkb de xorg. Le second semblant plus récent et plus souple que le premier.

Voilà, j’ai édité le premier post pour plus de clarté.

Bonne fête de Pâques à tous.

très bonnes astuces !