Usando um Dell Inspiron 15 7580 . Impressionante é a versão 4.3
Eu verifico o nome das minhas chaves usando xev
. Pressionar minhas teclas de volume retorna os resultados usuais.
KeyPress event, serial 36, synthetic NO, window 0x1200001,
root 0x169, subw 0x1200002, time 13968342, (38,56), root:(841,97),
state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1200001,
root 0x169, subw 0x1200002, time 13968484, (38,56), root:(841,97),
state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Então eu vinculo a chave ao AwesomeWM...
awful.key({ }, "XF86AudioLowerVolume",
awful.spawn("amixer set Master 5%-"), {})
Mas uma vez que eu atualizo o Awesome, a ligação não funciona E xev
retorna um resultado diferente
FocusOut event, serial 36, synthetic NO, window 0x1800001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x1800001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
As teclas de função funcionam novamente quando eu as desvinculo. Mas por que isso está ocorrendo? Não é nem minha tecla de volume quando eu a vinculo.
Eu descobri. Por algum motivo, tive que usar
awful.spawn
dentro de uma função anônima. Achei que já queawful.spawn
era uma função, eu não tinha que fazer isso. Mas você tem, infelizmente.EDIT Achei que eu explicaria.
Portanto, o
press
argumento parakey.new
(__call
metatabela paraawful.key
) requer afunction
como argumento.awful.spawn
é do tipofunction
, mas o que é retornado por ele não é uma função. Então, para momentos como esses, só se pode passar uma função como um argumento, em vez de chamar a função.Bom exemplo
Mau exemplo
Lembre-se de que você sempre pode verificar seus tipos em lua chamando
type
.