在MacOS应用程序中侦听全局键盘快捷键

时间:2017-05-23 22:39:27

标签: swift3 keyboard-shortcuts macos-sierra

我创建了一个小型的Swift应用程序,它位于菜单栏中(时钟之上)。我想让应用程序在后台监听键盘快捷键,然后让它调用Web API来获取一些信息。除了全局键盘快捷键部分外,我的一切都在工作。

经过一番搜索后,我遇到了NSEvent.addGlobalMonitorForEvents。这看起来很有希望。我能够让我的应用程序接收所有按键并过滤掉除了我正在寻找的所有内容之外的所有内容。经过Apple文档的一些实验和确认后,我发现这个机制实际上没有“处理”事件;按键仍然被发送到前台应用程序,在这种情况下是不受欢迎的。

是否有更好/正确的方法让我的应用程序响应全局键盘快捷键?理想情况下,这可以在不使用任何第三方API或应用程序的情况下实现,尽管它不是一个交易破坏者。

0 个答案:

没有答案