我刚刚开始一个应用程序,将需要能够接收多媒体键(播放/暂停,跳过,以前的)按下。我正在寻找目标Mac、Linux(主要发行版)和Windows。我见过a solution for GNOME似乎能满足我的需要,但听起来很简单,从来没有任何东西可以在所有主要平台上获取这些密钥。我还需要能够在全局范围内获取密钥,因为应用程序将在后台运行,并且永远不会有焦点。在
目前,我与Python的关系并不紧密,但由于我希望能够针对多个平台,Python似乎是一个不错的选择。有没有人编写过可以做到这一点的跨平台库?我还没找到那份工作。在
PyQT看起来是一个潜在的可行的选择,但是some people已经暗示在OSX上全局密钥检测可能有问题。在
使用PyQt(或PySide),您可以使用
Qt::AA_CaptureMultimediaKeys
应用程序标志来启用多媒体密钥的跨平台捕获。原则上,使用该标志,当用户按下多媒体键(如Play(Qt::Key_MediaPlay
)、Stop(Qt::Key_MediaStop
)、Pause(Qt::Key_MediaPause
)等时,Qt程序应该能够接收键盘事件。在我不能说是否所有的密钥都能在所有平台上得到支持,但总体来说,Qt的目标是在不同的操作系统之间提供非常好的互操作性。我认为用一个简单的原型,你应该能够很快地回答这个问题(我没有访问MacOS环境的权限,所以我不能在那里测试,但是对于Windows&Linux,它应该可以工作)。有关如何使用Qt处理键盘事件的更多信息,请参阅QKeyEvent class的文档。在
几个月前我接管了python-mmkeys。实际上我从未尝试过编译它,但它被包含在一个项目的代码中。在
它依赖于PyGTK,但它在GNU/Linux、MacOX和Windows上可用。在
代码非常容易使用:
相关问题 更多 >
编程相关推荐