@ La réponse de Daniel m'a indiqué la bonne voie, mais j'aimerais m'étendre sur celle-ci.
Fonctionne pour moi sur Linux Mint 17.2 et Ubuntu 16.04.
J'ai essayé tous les tours que je pouvais penser à continuer à utiliser xmodmap, mais ils échouent tous lorsque le système passe en mode veille. Il en va de même pour les scripts d’application de démarrage utilisés setxkbmapdans les cas où le * settings-daemon (pour moi c’est xfce4) est exécuté plus tard que le script - et que l’ordre ne peut pas vraiment être influencé.
Ce que j'ai finalement trouvé contient les ingrédients suivants:
1) Écrivez un fichier de correspondance de clavier minimal pour /usr/share/X11/xkb/symbols. Permet d’appeler le fichier. mylayoutCela peut être aussi simple que
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic est juste un nom, nous le retrouverons plus tard.
- De
name[Group1]même, semble-t-il, mais il ne jouera aucun rôle plus tard.
include "us"comprend le clavier américain. En fait usest un autre fichier dans le même répertoire. C'est la disposition du clavier que nous adaptons. Choisissez-en un autre selon vos besoins. Remarque: pas de point-virgule pour terminer cette ligne.
- La
keyligne est une adaptation du clavier, d'autres peuvent suivre. Le <AE03>peut être trouvé dans les fichiers sous /usr/share/X11/xkb/keycodes. Utilisez le xevprogramme pour déterminer que la clé "3" a le code clé 12 et Xfree86qu'elle est mappée dans le fichier de codes clés <AE03>.
- Enfin, une autre
includedirective pour activer une autre option du clavier, dans ce cas, je souhaite que la touche Alt droite soit la touche Maj de niveau 3, c’est-à-dire la touche qui donne accès au sterlingsigne que j'ai défini ci-dessus. level3est juste un nom de fichier dans le même dossier avec ralt_switchune section de celui-ci. Regardez autour de vous et choisissez ce que vous devez inclure.
2) Je n'ai pas mis le mylayoutdans le dossier système. Au lieu de cela, je n’ai créé qu’un lien symbolique du dossier système vers un dossier de mon choix pour constater immédiatement qu’il ne s’agissait pas d’un logiciel standard.
3) De plus, je n'ai pas corrigé evdev.xml, encore une fois pour éviter les tracas de mise à jour. Mais cela serait nécessaire pour trouver mylayout dans l'éditeur de configuration du clavier (pour xfce4, c'est le cas xfce4-keyboard-settings). Au lieu de cela, j'ai utilisé xfce4-settings-editoret changé keyboard-layout->XkbLayouten mylayout(nom du fichier) et XkbVarianten basic(voir ci-dessus). Ensuite, mylayout/basics'affiche également dans l'éditeur de configuration du clavier. Une entrée dans evdev.xmlsemble être seulement nécessaire pour pouvoir sélectionner la mise en page.
De cette façon, les paramètres du clavier survivent maintenant au mode veille et redémarrent.
Plus de fond peut être trouvé ici: http://www.charvolant.org/~doug/xkb/html/node5.html .
Une autre approche pour résoudre le problème du mode veille (non testé par moi-même) peut être trouvée ici: https://www.vinc17.net/unix/xkb.en.html .
UPDATE: a travaillé avec Mint 18.3 au même moment où j'ai modifié les paramètres dans xfce4-settings-editor comme décrit ci-dessus.
UPDATE: Avec 18.04, gdm3 en tant que gestionnaire d'affichage et XFCE4 en tant que gestionnaire de fenêtres, il semble que ~ / .Xmodmap soit relu et les paramètres semblent survivre à une suspension. (J'utilise rarement suspendre et je ne suis jamais sûr du mode d'utilisation du portable alors).