La risposta di Daniel mi ha indicato la strada giusta, ma vorrei estenderla.
Funziona per me su Linux Mint 17.2 e Ubuntu 16.04.
Ho provato tutti i colpi di scena che potevo pensare di continuare a utilizzare xmodmap
, ma tutti falliscono quando il sistema entra in modalità di sospensione. Lo stesso vale anche per gli script di avvio dell'applicazione che usano setxkbmap
nei casi in cui il * daemon-settings (per me è xfce4) viene eseguito dopo lo script --- e l'ordine non può essere realmente influenzato.
Quello che ho finalmente trovato ha i seguenti ingredienti:
1) Scrivi un file di mappatura della tastiera minimo per /usr/share/X11/xkb/symbols
. Consente di chiamare il file. mylayout
Può essere semplice come
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic
è solo un nome, lo incontreremo di nuovo più tardi.
- Il
name[Group1]
simile è solo un nome a quanto pare, ma non giocherà alcun ruolo in seguito.
include "us"
include la semplice tastiera americana. In realtà us
è un altro file nella stessa directory. Questo è il layout della tastiera che stiamo adattando. Scegli uno diverso, se necessario. Nota: nessun punto e virgola per terminare questa riga.
- La
key
linea è un adattamento della tastiera, più può seguire. Il <AE03>
può essere trovato nei file sotto /usr/share/X11/xkb/keycodes
. Utilizzare il xev
programma per capire che il tasto "3" ha il codice 12 e nel file codici chiave a Xfree86
cui è mappato <AE03>
.
- Finalmente un'altra
include
direttiva per attivare un'altra opzione della tastiera, in questo caso voglio avere il tasto Alt giusto per essere il tasto shift di livello 3, cioè il tasto che dà accesso al sterling
segno che ho definito sopra. level3
è solo un nome di file nella stessa cartella con ralt_switch
una sezione di esso. Dai un'occhiata in giro e scegli ciò che devi includere.
2) ho non messo la mylayout
nella cartella di sistema. Piuttosto ho creato solo un collegamento soft dalla cartella di sistema a una cartella di mio gradimento per vedere immediatamente che questo non è un software stock.
3) Inoltre non ho risolto evdev.xml
, di nuovo per evitare problemi di aggiornamento. Ma questo sarebbe necessario per trovare mylayout nell'editor di configurazione della tastiera (per xfce4 lo è xfce4-keyboard-settings
). Invece ho usato xfce4-settings-editor
e cambiato keyboard-layout->XkbLayout
in mylayout
(il nome del file) e XkbVariant
in basic
(vedi sopra). Successivamente, mylayout/basic
viene visualizzato anche nell'editor delle impostazioni della tastiera. Una voce in evdev.xml
sembra essere necessaria solo per poter selezionare il layout.
In questo modo, le impostazioni della tastiera ora sopravvivono alla modalità di sospensione e al riavvio.
Ulteriori informazioni sono disponibili qui: http://www.charvolant.org/~doug/xkb/html/node5.html .
Un altro approccio per risolvere il problema della modalità di sospensione (non provato da solo) è disponibile qui: https://www.vinc17.net/unix/xkb.en.html .
AGGIORNAMENTO: ho lavorato con Mint 18.3 nello stesso momento in cui ho modificato le impostazioni in xfce4-settings-editor come descritto sopra.
AGGIORNAMENTO: Con 18.04, gdm3 come display manager e XFCE4 come window manager, sembra che ~ / .Xmodmap venga letto di nuovo e le impostazioni sembrano sopravvivere a una sospensione. (Uso raramente suspend e non sono mai sicuro in quale modalità sia il laptop allora.)