Come persistentemente rimappare le chiavi in ​​Ubuntu 16.04?

Questo sta funzionando per la sessione corrente:

[email protected]:~/Desktop$ xmodmap -e "keycode 166 = less" [email protected]:~/Desktop$ xmodmap -e "keycode 167 = greater" 

Quindi ho creato questo file di configurazione:

 [email protected]:~/Desktop$ cat ~/.Xmodmap keycode 166 = less keycode 167 = greater [email protected]:~/Desktop$ 

Ma non funziona dopo un riavvio. Come potrei forzare per impostare la rimappa dopo un riavvio?

Sto usando 16.04 per un po ‘e sembra usare sddm come desktop manager. Prima era LightDM e GDM. Entrambi i suoi predecessori sono documentati per caricare ~/.Xmodmap automaticamente ma non riesco a trovare nulla che affermi esplicitamente che sddm faccia.

Pertanto potrebbe essere consigliabile forzare il caricamento con un nuovo script. Devi solo eseguire xmodmap ~/.Xmodmap e puoi farlo in vari modi:

  • Aggiungendolo tramite gli strumenti di avvio grafici
  • Modifica di ~/.xinitrc per eseguirlo.
  • Aggiunta di una nuova configurazione di .desktop in ~/.config/autostart/

Ci sono probabilmente una dozzina di altri modi per gestirlo, essenzialmente facendo la stessa cosa.

Ho aggiunto un file /etc/X11/Xsession.d/80_xmodmap con questi contenuti:

 #!/bin/sh # Set custom keycodes # # This file is sourced by Xsession(5), not executed. # The "|| true" is to ensure that the Xsession script does not terminate on error USRMODMAP="$HOME/.Xmodmap" if [ -x /usr/bin/xmodmap ]; then if [ -f "$USRMODMAP" ]; then /usr/bin/xmodmap "$USRMODMAP" || true fi fi 

Funziona sempre.

apri le proprietà di gnome-session. aggiungi comando e nome. il file desktop verrà creato in ~ / .config / autostart.

remenber: usa il percorso assoluto , ad es. /home/xxx/.Xmodmap. mai usare ‘~’ come dir di casa.

Navigare verso

 /usr/share/X11/xkb/symbols 

Con i privilegi di sudo, in un editor, apri il layout che desideri modificare. Sostituisci i valori.

Dopo il riavvio, le modifiche verranno applicate.


Ecco un esempio che uso per rimappare la mia tastiera a causa di problemi hardware della tastiera.

esempio di rimapping tastiera

Poiché i file .modmap sono molto più facili da modificare rispetto a xkb, io uso .Xmodmap come file ‘sorgente’, quindi convertirlo in xkb (lo standard corrente) e auto-caricare all’avvio usando il metodo .bashrc.

Sono pochi e semplici passaggi pubblicati qui .

Funziona perfettamente e usa xkb a prova di futuro contro quando il supporto per .Xmodmap viene eliminato.

Dopo aver effettuato una ricerca su Google, sono stato in grado di risolvere il remapping dei miei tasti difettosi. Tutti i tasti difettosi sul mio Thinkpad T400 funzionano perfettamente dopo la rimapping. Inoltre, è permanente senza un carico aggiuntivo sul core della CPU.

  • Per prima cosa, trova il layout della tastiera o il codice chiave utilizzando il comando di sotto.

     xevv -event keyboard 
  • Ad esempio, sul mio keycode Thinkpad T400 trovato come segue:

     Keycode of "z" key is 52 Keycode of "x" key is 53 Keycode of "c" key is 54 Keycode of "v" key is 55 Keycode of "F6" key is 72 Keycode of "F10" key is 76 Keycode of "F11" key is 95 Keycode of "F12" key is 96 
  • Rimappare i tasti carattere “z” “x” “c” “v” assegnando i tasti funzione “F6” “F10” “F11” “F12”.

  • Modifica le linee come sotto (file di backup prima di apportare modifiche al rollback facilmente se le cose vanno male).

     sudo vi /usr/share/X11/xkb/keycodes/evdev 
  • Trova le linee e modifica il valore come di seguito:

      = 72;  = 76;  = 95;  = 96; 
  • Commenta queste linee o rimuovi le linee:

     //  = 72; //  = 76; //  = 95; //  = 96; 
  • Salva ed esci.

  • Rimappare le chiavi speciali.

  • Eseguire il backup del file prima di apportare modifiche al rollback se le cose vanno male.

     cd /usr/share/X11/xkb/symbols/ sudo vi pc 
  • Aggiungi o modifica le righe sottostanti nella funzione “modifica xkb_symbols” “{”

     key [SCLK] { [ Prior ] }; key [PAUS] { [ Next ] }; 
  • Salva ed esci.

  • Cancella cache.

     sudo rm -rf /var/lib/xkb/* 
  • Reboot.