【问题标题】:Detecting key combinations using pyhook使用 pyhook 检测组合键
【发布时间】:2020-01-21 23:47:24
【问题描述】:

我目前正在使用 pyhook 通过钩子管理器的 KeyDown 事件来捕获密钥。这使我可以捕获键盘上按下的所有单个键。

但是,我还没有找到捕获组合键的方法。比如CtrlAlt5都同时按下的事件,或者[]同时按下的事件等等。

有没有办法用不涉及额外模块的 pyhook 做到这一点?例如,我发现 pyhk 似乎可以完成这项工作,但希望尽可能少的依赖项。

(这个问题是this one更通用的版本不是重复),接受的答案似乎只处理像@ 这样的虚拟键修饰符987654329@.)

【问题讨论】:

  • 这个问题是您链接的问题的更通用版本 - 请参阅问题的最后一段。
  • 并非所有键盘都能处理所有可能的多键组合。

标签: python keyboard pyhook


【解决方案1】:

我知道这已经很老了,但是我使用窗口键释放事件来做这样的事情:

def _cb_event(self,widget,event,data=None):
    keyval = event.keyval
    keyname = gtk.gdk.keyval_name(keyval)
    mod = gtk.accelerator_get_label(keyval,event.state)
    keys=mod.upper()
    if keys=='SHIFT+F12':
        etc....

我没有为此使用 pyhook。

【讨论】:

    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2010-11-09
    • 1970-01-01
    • 2012-01-22
    相关资源
    最近更新 更多