Dovrai definire una nuova opzione.
Innanzitutto, crea un nuovo file di simboli, ad esempio /usr/share/X11/xkb/symbols/bksp
con il seguente contenuto:
partial alphanumeric_keys
xkb_symbols "bksp_escape" {
key <BKSP> { [ Escape ] };
};
Quindi crea la nuova opzione in questo modo:
bksp:bksp_escape = +bksp(bksp_escape)
(dove bksp
è il nome del file simbolo e bksp_escape
è il nome del gruppo che è stato definito in questo file) e aggiungerlo alla lista delle opzioni nelle regole SET si sta usando - assumendo evdev
- in modo da metterlo in /usr/share/X11/xkb/rules/evdev
sotto ! option = symbols
:
! option = symbols
bksp:bksp_escape = +bksp(bksp_escape)
...........
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
Aggiungilo anche a /usr/share/X11/xkb/rules/evdev.lst
(con una breve descrizione) sotto ! option
(ad es. Prima ctrl
):
! option
........
bksp Backspace key behavior
bksp:bksp_escape Backspace as Escape
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
È quindi possibile eseguire, come utente normale:
setxkbmap -layout us -option bksp:bksp_escape
per abilitare l'opzione e far BKSPcomportare come ESC.
Puoi anche verificare se:
setxkbmap -query
rapporti:
rules: evdev
model: pc104
layout: us
options: bksp:bksp_escape
e se
setxkbmap -print
uscite:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+bksp(bksp_escape)" };
xkb_geometry { include "pc(pc104)" };
};
In Gnome 3 puoi rendere permanente l'opzione tramite dconf
(o gsettings
nel terminale) ad es. Aggiungi 'bksp:bksp_escape'
alla chiave org> gnome> desktop> input-sources> xkb-options (nota che in dconf
valori sono separati da virgola + spazio).
Infine, nota che entrambi evdev
e evdev.lst
verranno sovrascritti su futuri aggiornamenti (ma non sul tuo bksp
file di simboli personalizzati ), quindi dovrai modificarli di nuovo ogni volta che il pacchetto che li possiede viene aggiornato (su archlinux è xkeyboard-config
). È più facile scrivere una sceneggiatura che lo faccia, ad es
sed '/! option[[:blank:]]*=[[:blank:]]*symbols/a\
bksp:bksp_escape = +bksp(bksp_escape)
' /usr/share/X11/xkb/rules/evdev
sed '/! option/a\
bksp Backspace key behavior\
bksp:bksp_escape Backspace as Escape
' /usr/share/X11/xkb/rules/evdev.lst
Se sei soddisfatto del risultato, usa sed -i
(o -i.bak
se vuoi fare copie di backup) per modificare effettivamente quei file sul posto .