使用pyhook检测组合键

时间:2013-08-13 19:47:53

标签: python keyboard pyhook

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

但是,我无法找到捕获组合键的方法。例如,CtrlAlt5同时被按下的事件,或[]同时被按下的事件,等等上。

有没有办法用pyhook做这个,不涉及额外的模块?例如,我发现pyhk似乎可以完成这项任务,但宁愿尽可能少的依赖。

(此问题是this one更通用的版本不重复),其接受的答案似乎只涉及虚拟键修饰符比如Ctrl。)

1 个答案:

答案 0 :(得分:0)

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

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。