Tentei alterar a tecla mod da tecla Windows para Pause, Scroll Lock e Escape.
Para todas as chaves tentei alterar a entrada no rc.lua
arquivo de configuração; Tentei usar o xmodmap para limpar bloqueios eadd mod4 = ...
No entanto, parece que não importa o que eu faça, as teclas ficam "pegajosas" (às vezes de uma forma estranha e inconsistente), ou seja, se eu as pressionar quando o computador agir como se estivessem constantemente pressionadas.
Existe uma maneira razoável de mudar esse comportamento?
Responder1
Eu tenho um arquivo com estas duas linhas em minha casa:
clear lock
keysym Caps_Lock = Super_L
Ele é chamado do meurc.luaassim:
awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
Responder2
Muito tarde, mas para referência de outros:
O problema parece ser que o xmodmap não está identificando nenhuma das chaves listadas como teclas modificadoras. AwesomeWM, portanto, não permite que elas sejam usadas como teclas modificadoras.
Você pode tentar adicionar a chave que deseja usar como Mod3 (que não parece ser usada para nada na maioria dos sistemas que vi), então seu rc.lua pode listar o modkey como "Mod3".
Adicionar como tecla modificadora
Você pode ver suas teclas modificadoras com xmodmap
. Por padrão, você provavelmente obterá algo assim:
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), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Com xev
você pode ver o nome de qualquer tecla pressionada enquanto ela está em execução e, para Scroll Lock, a minha aparece como:
KeyPress event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Você notará que o nome do keysym é Scroll_Lock
.
Para adicionar ao Mod3, você precisa criar ou adicionar ao ~/.Xmodmap
. Adicionar esta linha define Mod3 como apenas a tecla Scroll_Lock:
add Mod3 = Scroll_Lock
Para testar suas alterações e ver quaisquer erros em seu arquivo .Xmodmap, execute
xmodmap ~/.Xmodmap
Atualizando rc.lua
Como você já percebeu claramente, no topo do seu arquivo rc.lua (que geralmente está em ~/.config/awesome/rc.lua
), há uma modkey = "Mod4"
linha. Mude isso para modkey = "Mod3"
.
Avisos
A tecla Esc é usada para vários mapeamentos de teclas pelo AwesomeWM. Sugiro tentar Scroll Lock ou Pause, pois é menos provável que haja conflitos extensos. Na verdade, AwesomeWM parece assumir que Esc está reservado para cancelar a operação atual.
Scroll Lock parece ser tratado magicamente como uma chave de bloqueio, assim como Caps Lock. A diferença é que o comportamento de bloqueio do Caps Lock é relativamente trivial para desabilitar, enquanto o Scroll Lock não pode ter esse comportamento desabilitado, até onde eu sei.
Eu sugiro tentar isso com uma tecla como a tecla Numpad 0, ou algo que normalmente não é projetado para ser uma chave de bloqueio de estado, confirme se funciona e tente mudar para a tecla desejada.
Responder3
Eu sei que estou 3 anos atrasado, mas se isso ajudar alguém, troque
modkey = "Mod4"
com
modkey = "Mod1"