Awesome WMのキーを他のキーにどのように再バインドしますか?

Awesome WMのキーを他のキーにどのように再バインドしますか?

最も簡単な機能を実装したいです。キーaをに再マップしますt。私のコードにはrc.lua次の行があります。

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),

keygrabber私が知っている限り、フォークをするには停止する必要があるため、フォークではありませんfake_input。これを次のように変更すると:

function myremapp_ress()
  keygrabber.stop()
  root.fake_input('key_press', "t")
end

これで、aの代わりにtを入力できますが、他のキーワードが追加されないまで前に入力するとmyremap_release機能しません。t直接防ぐことはできますが、キーを押し続けると、最初のキーを押すだけで結果が得られます。

function myremapp_ress()
  keygrabber.stop()
  root.fake_input('key_press', "t")
  root.fake_input('key_release', "t")
end

私は以前試しました:

function myremapp_ress()
  keygrabber.stop()
  root.fake_input('key_press', "t")
  keygrabber.run()
end

しかし、エラーだけを返すので、keygrabber.runに引数を指定する必要があります(文書によると、両方の関数は同じ引数を持つため奇妙です)。

それで、私の質問はこの簡単なことをどうするかです。もっと簡単にする方法はありますかpause keygrabberkeygrabber.activeKeygrabberループで確認されるフラグはありますか? Keygrabberを停止した後、どのように再起動しますかfake_input

ベストアンサー1

おすすめ記事