Como revincular a chave em Awesome WM para outra chave?

3

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 ?

    
por sandric 16.12.2017 / 10:01

0 respostas