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 .