Odpowiedź Daniela wskazała mi właściwą drogę, ale chciałbym ją rozwinąć.
Działa dla mnie na Linux Mint 17.2 i Ubuntu 16.04.
Próbowałem wszystkich zwrotów, o których mogłem nadal myśleć xmodmap, ale wszystkie zawodzą, gdy system przechodzi w tryb uśpienia. To samo dotyczy nawet skryptów uruchamiania aplikacji, które są używane setxkbmapw przypadkach, gdy * demon ustawień (dla mnie jest to xfce4) działa później niż skrypt --- i tak naprawdę nie można wpływać na kolejność.
To, co w końcu wymyśliłem, zawiera następujące składniki:
1) Napisz minimalny plik mapowania klawiatury dla /usr/share/X11/xkb/symbols. Nazwijmy plik mylayoutMoże to być tak proste, jak
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic to tylko nazwa, spotkamy się później.
name[Group1]Podobnie jest tylko nazwa wydaje, ale to nie odgrywają żadnej roli później.
include "us"zawiera zwykłą klawiaturę amerykańską. Właściwie usto inny plik w tym samym katalogu. Dostosowujemy układ klawiatury. Wybierz inny w razie potrzeby. Uwaga: brak średnika do zakończenia tego wiersza.
keyLinia jest adaptacja klawiaturze, bardziej może obserwować. <AE03>Można znaleźć w plikach poniżej /usr/share/X11/xkb/keycodes. Skorzystaj z xevprogramu, aby dowiedzieć się, że klawisz „3” ma kod 12 i w pliku kodów Xfree86jest mapowany <AE03>.
- Wreszcie kolejna
includedyrektywa aktywująca inną opcję klawiatury, w tym przypadku chcę mieć prawy klawisz Alt, który będzie klawiszem zmiany poziomu 3, tj. Klawiszem, który daje dostęp do sterlingznaku, który zdefiniowałem powyżej. level3to po prostu nazwa pliku w tym samym folderze z ralt_switchjedną jego częścią. Rozejrzyj się i wybierz, co musisz uwzględnić.
2) Ja nie nie umieścić mylayoutw folderze systemowym. Zamiast tego utworzyłem tylko miękkie łącze z folderu systemowego do folderu, który mi się podoba, aby natychmiast zobaczyć, że nie jest to oprogramowanie podstawowe.
3) Ponadto nie naprawiłem evdev.xml, ponownie, aby zapobiec problemom z aktualizacją. Ale byłoby to konieczne, aby znaleźć mylayout w edytorze konfiguracji klawiatury (w przypadku Xfce4 xfce4-keyboard-settings). Zamiast tego użyłem xfce4-settings-editori zmieniłem keyboard-layout->XkbLayoutna mylayout(nazwa pliku) i XkbVariantna basic(patrz wyżej). Następnie mylayout/basicwyświetla się również w edytorze ustawień klawiatury. Wpis evdev.xmlwydaje się być niezbędny, aby móc wybrać układ.
W ten sposób ustawienia klawiatury przetrwają teraz w trybie uśpienia i uruchomią się ponownie.
Więcej informacji można znaleźć tutaj: http://www.charvolant.org/~doug/xkb/html/node5.html .
Inne podejście do rozwiązania problemu z trybem uśpienia (sam nie próbowałem) można znaleźć tutaj: https://www.vinc17.net/unix/xkb.en.html .
AKTUALIZACJA: pracowałem z Mint 18.3 w tym samym momencie zmieniłem ustawienia w edytorze ustawień xfce4, jak opisano powyżej.
AKTUALIZACJA: Z 18.04, gdm3 jako menedżer wyświetlania i XFCE4 jako menedżer okien, wygląda na to, że ~ / .Xmodmap jest ponownie odczytywany i ustawienia wydają się przetrwać zawieszenie. (Rzadko używam zawieszenia i nigdy nie jestem pewien, w którym trybie jest naprawdę laptop).