我刚写了一个小程序,每隔几分钟就从flickr下载一张新墙纸。在
现在我想添加“喜欢”墙纸的功能,这样它会比不喜欢或不喜欢的墙纸更频繁。在
我想为这个函数指定一个全局键盘快捷键。在
例如:如果我按ctrl+7,它将在Python中执行某种“like”函数。在
是否有任何库用于此目的(例如,在JavaScript中,有一个库可以使用shortcut("ctrl-b", someFunction);
定义快捷方式)
否则,我该怎么做呢?我看过this similar SO question,但它很旧。在
我不知道有什么库是为扩展而设计的。然而,正如您的链接所述,pykeylogger的后端给出了一个如何实现的示例,但是对于您所需要的,它似乎有点过于复杂。在
pykeylogger使用pythonxlib模块捕捉X显示屏上的按键。有人已经创建了一个更简单的示例来演示如何在pastebin上进行此操作。以下是它的来源复制到这里的原样。在
您将不得不扩展处理程序以满足您的需要,而不仅仅是打印到屏幕上,然后将它变成一个单独的线程。在
另一个痛苦的选择是直接听键盘,而不依赖外部库或X会话。在linux中,所有东西都是一个文件和您的keyboard input will be in /dev/input,您可以在后台将其作为文件读取,例如
open('/dev/input/even2', 'rb')
。不建议这样做,因为它需要升级权限,弄清楚哪个设备是键盘,然后创建自己的键映射。只是想让你知道如果必要的话有什么可能。在编辑:还发现了Global keybinding on X using Python gtk3,它似乎有更多的例子优点。在
只不过是一个更干净的版本,而不是一个数字的解码版本:
输出如下:
^{pr2}$对于那些希望看到我最终使用的代码的人,我做了一个小的要点right here.
每台计算机的密钥码可能略有不同。另外,我快速构建的keylistener类并没有针对可能发生的各种问题提供保护。再说一次,这对我很有效。在
相关问题 更多 >
编程相关推荐