Eu quero implementar a funcionalidade mais simples possível - remapear a chave a
para t
. No meu rc.lua
tenho as seguintes linhas:
function myremapp_ress()
root.fake_input('key_press', "t")
end
function myremap_release()
root.fake_input('key_release', "t")
end
-- {{{ Key bindings
globalkeys = gears.table.join(
awful.key({ }, "a", myremap_press, myremap_release),
O que não é bifurcação, porque, ao chegar, é necessário parar keygrabber
para poder executar fake_input
. Se eu mudar para isso:
function myremapp_ress()
keygrabber.stop()
root.fake_input('key_press', "t")
end
Agora posso introduzir t em vez de a, mas myremap_release
agora não está funcionando e t
é inserido como for, até que outra palavra-chave não seja adicionada. Eu poderia pará-lo sozinho, mas quando você pressiona a tecla, você só tem primeiro pressione a tecla como resultado:
function myremapp_ress()
keygrabber.stop()
root.fake_input('key_press', "t")
root.fake_input('key_release', "t")
end
Eu tentei isso:
function myremapp_ress()
keygrabber.stop()
root.fake_input('key_press', "t")
keygrabber.run()
end
mas simplesmente retorna erro que eu deveria fornecer param para o keygrabber.run (o que é estranho, já que da documentação ambas as funções recebem o mesmo argumento).
Então, minha pergunta é como fazer essa coisa simples? Existe alguma maneira de simplesmente pause keygrabber
? Existe algum sinalizador keygrabber.active
que foi verificado no loop do keygrabber? Como posso reiniciar o keygrabber depois que eu parei para executar fake_input
?