我正在尝试在令人敬畏的wm中配置一个键盘事件,它应该像这样工作:
按下键“XF86AudioMute”后,用户有2秒钟按数字键(从0到9)以激活事件。 如果在此时间之后没有按下这些键(理想情况下,如果按下任何其他键也是如此),则会中止数字键的监听。此外,如果当然按下数字键。
任何人都知道如何在令人敬畏的配置文件中解决这个问题?
答案 0 :(得分:0)
很棒的有keygrabbers和计时器。当按下XF86AudioMute时,你将启动一个在两秒内触发的计时器和一个获取所有输入的keygrabber。
类似以下内容(请注意,您仍需要将键绑定设置为XF86AudioMute):
function do_stuff()
local t = timer({ timeout = 2 })
t:start()
local grabber
local function cleanup()
t:stop()
awful.keygrabber.stop(grabber)
end
t:connect_signal("timeout", cleanup)
grabber = function(mod, key, event)
if event == "release" then return end
if key = "1" then
naughty.notify({ text = "event 1 activated" })
end
cleanup()
end
awful.keygrabber.run(grabber)
end
编辑:顺便说一句,我从来没有测试过这段代码,也不知道它是否真的有效!