Você terá que definir uma nova opção.
Primeiro, crie um novo arquivo de símbolo, por exemplo, /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 como esta:
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 neste arquivo) e adicioná-lo à lista de opções nas regras definidas que você está usando - supondo evdev
- para colocá-lo em /usr/share/X11/xkb/rules/evdev
sob ! 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, logo antes 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 um usuário comum:
setxkbmap -layout us -option bksp:bksp_escape
para ativar a opção e fazer com que BKSPse 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, adicionar 'bksp:bksp_escape'
à chave org> gnome> desktop> fontes de entrada> chave xkb-options (observe que nos dconf
valores são separados por vírgula + espaço).
Finalmente, nota que tanto evdev
e evdev.lst
será substituído em futuras atualizações (mas não o seu costume bksp
arquivo de símbolo), assim você vai ter que editar-los novamente cada vez que o pacote que as possui é atualizado (em 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 quiser fazer cópias de segurança) para editar esses arquivos no local .