@ 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 setxkbmap
dans 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. mylayout
Cela 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 us
est 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
key
ligne 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 xev
programme pour déterminer que la clé "3" a le code clé 12 et Xfree86
qu'elle est mappée dans le fichier de codes clés <AE03>
.
- Enfin, une autre
include
directive 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 sterling
signe que j'ai défini ci-dessus. level3
est juste un nom de fichier dans le même dossier avec ralt_switch
une section de celui-ci. Regardez autour de vous et choisissez ce que vous devez inclure.
2) Je n'ai pas mis le mylayout
dans 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-editor
et changé keyboard-layout->XkbLayout
en mylayout
(nom du fichier) et XkbVariant
en basic
(voir ci-dessus). Ensuite, mylayout/basic
s'affiche également dans l'éditeur de configuration du clavier. Une entrée dans evdev.xml
semble ê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).