Dovrai definire una nuova opzione.
Innanzitutto, crea un nuovo file di simboli, ad esempio /usr/share/X11/xkb/symbols/bkspcon 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/evdevsotto ! 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 gsettingsnel terminale) ad es. Aggiungi 'bksp:bksp_escape'alla chiave org> gnome> desktop> input-sources> xkb-options (nota che in dconfvalori sono separati da virgola + spazio).
Infine, nota che entrambi evdeve evdev.lstverranno sovrascritti su futuri aggiornamenti (ma non sul tuo bkspfile 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.bakse vuoi fare copie di backup) per modificare effettivamente quei file sul posto .