Com Hyper_R
no lugar de Hyper_L
, é assim:
conteúdo de ~/.config/xkb/keycodes/my-keycodes
:
xkb_keycodes "xcape-special" {
<HYPR> = 65;
<SPCE> = 207;
};
Nota: 207
é o código-chave padrão para a tecla (virtual) Hyper_R
na tabela de códigos de tecla carregada na minha máquina.
conteúdo de ~/.config/xkb/symbols/my-symbols
:
xkb_symbols "xcape-special" {
key <HYPR> { [ Hyper_R ] };
modifier_map Control { <HYPR> };
};
trecho de ~/.xinitrc
:
XKB_DIR="$HOME/.config/xkb"
XKB_SYMBOL_FILE="my-symbols"
XKB_KEYCODE_FILE="my-keycodes"
setxkbmap -layout "us+$XKB_SYMBOL_FILE(xcape-special)" \
-keycodes "evdev+$XKB_KEYCODE_FILE(xcape-special)" \
-option "" -print \
| xkbcomp -I"$XKB_DIR" - "${DISPLAY%%.*}" >/dev/null 2>&1
xcape -e "Hyper_R=space"
Esta não é a única maneira de configurar xkb
. A configuração provavelmente poderia ser carregada de um único arquivo com uma única chamada xkbcomp
. Subdirs de ~/.config/xkb/
simplesmente seguem a estrutura de /usr/share/X11/xkb/
. A parte ... -print | xkbcomp ...
é um pouco complicada, mas flexível. No momento, não consigo testar uma configuração mais simples.