Eu uso um gerenciador de janelas lado a lado (xMonad no momento), e devido a isso eu preciso de uma chave que atua como a "chave de controle" para o gerenciamento de janelas. Sempre que uso um teclado com as teclas Windows / Super / Mod4, uso a tecla esquerda do Windows como essa tecla, enquanto a tecla direita do Windows atua como Compose / Multi_key.
No entanto, eu também tenho alguns ([muito] antigos) teclados que não possuem teclas do Windows (ou seja, não possuem winkey), e não tenho mais nenhuma chave que eu possa (confortavelmente) use como minha 'chave de controle WM'. No passado, porque xMonad permitia isso, eu usei Control + Alt como minha 'chave de controle WM (combinação)', mas como eu notei depois de algum tempo, isso interfere com (alguns) Emacs (comandos de movimento), então isso não é mais uma opção. Por isso, achei que poderia utilizar minha chave de escape da seguinte maneira:
AFAIK, segurar o Escape não faz nada normalmente, então achei que seria uma boa ideia fazer assim. Eu tentei alcançar isso usando xmodmap
:
clear Mod4
add Mod4 = Super_L Escape
O que eu esperava: Super_L ainda atua como Super, e Escape agora é um Super adicional. O próximo passo seria usar xcape
para recuperar (alguns) o antigo comportamento da tecla Escape.
O que recebi (a saída de xmodmap
):
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d), Hyper_L (0xcf)
mod3 Scroll_Lock (0x4e), Mode_switch (0xcb)
mod4 Escape (0x9), y (0x34), Super_L (0x85), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c)
O que eu não entendo:
y
é repentinamente definido como Mod4? xcape
ainda. Isso é um bug em xmodmap
ou estou usando xmodmap
incorretamente? Eu suspeito que seja o último, mas alguém poderia me ajudar com o que estou tentando fazer?
Mais informações (espero que não sejam irrelevantes):
xkb
, xdotool
etc. de
keymap / layout; veja a saída de localectl
abaixo) Antes de qualquer alteração, ou seja, minha situação atual, xmodmap
outputs:
xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d), Hyper_L (0xcf)
mod3 Scroll_Lock (0x4e), Mode_switch (0xcb)
mod4 Super_L (0x85), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c)
Meu atual .Xmodmap
é:
add Mod3 = Scroll_Lock
E localectl
diz:
System Locale: LANG=de_DE.UTF-8
LC_COLLATE=C
VC Keymap: de-latin1-nodeadkeys
X11 Layout: de,de
X11 Model: pc105
X11 Variant: nodeadkeys,neo
X11 Options: compose:rwin,grp:ctrls_toggle