【问题标题】:listen for a keyboard event in a limited timeperiod在有限的时间段内监听键盘事件
【发布时间】:2016-01-02 22:19:35
【问题描述】:

我正在尝试在很棒的 wm 中配置一个键盘事件,它应该像这样工作:

按下“XF86AudioMute”键后,用户有 2 秒的时间按下数字键(从 0 到 9)以激活事件。 如果在此时间之后没有按下这些键(理想情况下,如果按下了任何其他键)监听数字键将被中止。当然,如果按下了数字键。

有人知道我可以如何在很棒的配置文件中解决这个问题吗?

【问题讨论】:

    标签: lua awesome-wm


    【解决方案1】:

    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
    

    编辑:顺便说一句,我从未测试过这段代码,也不知道它是否真的有效!

    【讨论】:

      猜你喜欢
      • 2011-07-25
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多