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 setxkbmap
w 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 mylayout
Moż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 us
to inny plik w tym samym katalogu. Dostosowujemy układ klawiatury. Wybierz inny w razie potrzeby. Uwaga: brak średnika do zakończenia tego wiersza.
key
Linia jest adaptacja klawiaturze, bardziej może obserwować. <AE03>
Można znaleźć w plikach poniżej /usr/share/X11/xkb/keycodes
. Skorzystaj z xev
programu, aby dowiedzieć się, że klawisz „3” ma kod 12 i w pliku kodów Xfree86
jest mapowany <AE03>
.
- Wreszcie kolejna
include
dyrektywa 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 sterling
znaku, który zdefiniowałem powyżej. level3
to po prostu nazwa pliku w tym samym folderze z ralt_switch
jedną jego częścią. Rozejrzyj się i wybierz, co musisz uwzględnić.
2) Ja nie nie umieścić mylayout
w 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-editor
i zmieniłem keyboard-layout->XkbLayout
na mylayout
(nazwa pliku) i XkbVariant
na basic
(patrz wyżej). Następnie mylayout/basic
wyświetla się również w edytorze ustawień klawiatury. Wpis evdev.xml
wydaje 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).