如何将 Awesome WM 中的键重新绑定到其他键?

如何将 Awesome WM 中的键重新绑定到其他键?

我想实现最简单的功能 - 将密钥重新映射at.在我的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

现在我可以输入 t 而不是 a,但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 keygrabber?是否有一些keygrabber.active标志在 keygrabber 循环中被检查?停止运行 keygrabber 后如何重新启动它fake_input

相关内容