Você terá que definir uma nova opção.
Primeiro, crie um novo arquivo de símbolo, por ex. /usr/share/X11/xkb/symbols/bksp com o seguinte conteúdo:
partial alphanumeric_keys
xkb_symbols "bksp_escape" {
key <BKSP> { [ Escape ] };
};
Em seguida, crie a nova opção assim:
bksp:bksp_escape = +bksp(bksp_escape)
(onde bksp é o nome do arquivo de símbolo e bksp_escape é o nome do grupo que foi definido nesse arquivo) e adicione-o à lista de opções no conjunto de regras que você está usando - assumindo evdev - coloque-o em /usr/share/X11/xkb/rules/evdev em ! option = symbols :
! option = symbols
bksp:bksp_escape = +bksp(bksp_escape)
...........
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
Adicione-o também a /usr/share/X11/xkb/rules/evdev.lst (com uma breve descrição) em ! option (por exemplo, antes de ctrl ):
! option
........
bksp Backspace key behavior
bksp:bksp_escape Backspace as Escape
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
Você pode executar como usuário comum:
setxkbmap -layout us -option bksp:bksp_escape
para ativar a opção e fazer com que o BKSP se comporte como ESC .
Você também pode verificar se:
setxkbmap -query
relatórios:
rules: evdev
model: pc104
layout: us
options: bksp:bksp_escape
e se
setxkbmap -print
saídas:
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)" };
};
No Gnome 3, você pode tornar a opção permanente via dconf (ou gsettings no terminal), por exemplo. adicione 'bksp:bksp_escape' à chave org > gnome > área de trabalho > entrada-fontes > xkb-opções (note que em dconf os valores são separados por vírgula + espaço) .
Por fim, observe que evdev e evdev.lst serão sobrescritos em atualizações futuras (mas não em seu arquivo de símbolo bksp personalizado), portanto, será necessário editá-los novamente toda vez que o pacote que os possui for atualizado (no archlinux é xkeyboard-config ). É mais fácil escrever um script que faça isso, por exemplo,
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 você estiver satisfeito com o resultado, use sed -i (ou -i.bak se você quiser fazer cópias de segurança) para realmente editar esses arquivos no local .