GNU/Linux >> Linux Esercitazione >  >> Linux

Sovrascrivere alcuni codici chiave con Xkb?

Voglio mescolare alcune chiavi in ​​giro con XKB. (Perché? Su un laptop in cui alcune chiavi si trovano in una posizione scomoda.) Attualmente utilizzo xmodmap:

keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home

Invece voglio usare XKB e assegnare nomi simbolici diversi per determinate chiavi fisiche, piuttosto che assegnare keysyms diversi a determinati codici chiave. (Ecco perché.) Voglio che il codice chiave 110 invii PGUP invece di HOME , codice chiave 115 per inviare DELE invece di END , ecc. Il resto della configurazione non deve essere influenzato (quindi PGUP è continuare a inviare il keysym Prior , ecc. e tutte le altre chiavi rimangono come sono).

Come posso modificare l'assegnazione di questi codici chiave specifici? Carico un file con xkbcomp somefile.xkb $DISPLAY , cosa devo inserire in somefile.xkb ?

Risposta accettata:

Crea un file contenente le modifiche al codice chiave e salvalo come (ad esempio) ~/.xkb/keycodes/local . (I keycodes la directory è codificata; la directory di base può essere qualcos'altro e anche il nome del file.) Questo conterrà nel tuo caso

xkb_keycodes {
  <PGUP> = 110;
  <PGDN> = 112;
  <DELE> = 115;
  <INS> = 117;
  <HOME> = 118;
  <END> = 119;
};

Per caricarlo, esegui

setxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY

Questo emette le tue impostazioni attuali, aggiunge +local al xkb_keycodes include istruzione e lo carica nel compilatore XKB, aggiungendo ~/.xkb al percorso di inclusione. (Se hai assegnato al file un nome diverso da ~/.xkb/keycodes/local , dovrai ovviamente cambiare +local e -I${HOME}/.xkb} .) In questo modo vengono conservate tutte le altre impostazioni.


Linux
  1. Traccia del kernel con trace-cmd

  2. 3 modi per eliminare tutti i file in una directory tranne uno o pochi file con estensioni

  3. Comando Nohup con esempi

  4. Utilizzando Notifica-Invia con Cron?

  5. Aggiunta con 'sed'?

15 Comando Linux ps con esempi

Comandi Nmap con esempi

Programmazione con cron &At

Comando della cronologia con esempi

Microservizi con Python3

Autorità di certificazione con OpenSSL