【发布时间】:2016-01-02 22:19:35
【问题描述】:
我正在尝试在很棒的 wm 中配置一个键盘事件,它应该像这样工作:
按下“XF86AudioMute”键后,用户有 2 秒的时间按下数字键(从 0 到 9)以激活事件。 如果在此时间之后没有按下这些键(理想情况下,如果按下了任何其他键)监听数字键将被中止。当然,如果按下了数字键。
有人知道我可以如何在很棒的配置文件中解决这个问题吗?
【问题讨论】:
标签: lua awesome-wm
我正在尝试在很棒的 wm 中配置一个键盘事件,它应该像这样工作:
按下“XF86AudioMute”键后,用户有 2 秒的时间按下数字键(从 0 到 9)以激活事件。 如果在此时间之后没有按下这些键(理想情况下,如果按下了任何其他键)监听数字键将被中止。当然,如果按下了数字键。
有人知道我可以如何在很棒的配置文件中解决这个问题吗?
【问题讨论】:
标签: lua awesome-wm
Awesome 有键盘抓取器和计时器。当按下 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
编辑:顺便说一句,我从未测试过这段代码,也不知道它是否真的有效!
【讨论】: