首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mac托盘应用程序的全球键盘快捷键

Mac托盘应用程序的全球键盘快捷键
EN

Stack Overflow用户
提问于 2017-12-11 19:36:47
回答 2查看 1.8K关注 0票数 12

我正在开发一个使用Swift 4的Mac应用程序,它只作为代理运行(它在托盘中只有一个菜单)。我对斯威夫特完全陌生。

我想让它响应键盘快捷键,但基本的快捷键(见图)只有当应用程序有焦点时才能工作(在我的例子中,是在点击菜单时)。

因此,我需要的是我的应用程序回应全系统的键盘快捷键。

我试过:

  • HotKey,但它似乎与Swift 4不兼容,或者我可能不能使用Swift软件包管理器
  • 这个答案,但是Swift 4再次引发了一些我无法解决的错误

有人做过吗?

EN

回答 2

Stack Overflow用户

发布于 2017-12-11 21:55:16

因此,我最终让它与HotKey一起工作:

  • 使用Carthage作为包管理器而不是SPM
  • 并通过不使用HotKey的示例代码从他们的自述,这是不适用于我,但在他们的示例应用程序

效果很好!

票数 5
EN

Stack Overflow用户

发布于 2020-12-20 15:38:38

我做了一个Swift软件包,它让这件事变得很简单:

代码语言:javascript
复制
import KeyboardShortcuts

extension KeyboardShortcuts.Name {
    static let startFiveRounds = Self("startFiveRounds", default: .init(.t, modifiers: [.command, .option]))
}

@main
final class AppDelegate: NSObject, NSApplicationDelegate {
    func applicationDidFinishLaunching(_ notification: Notification) {
        KeyboardShortcuts.onKeyUp(for: .startFiveRounds) {
            // …
        }
    }
}

即使你已经解决了你的问题,我认为这对其他有同样问题的人是有用的。

我还建议让用户选择自己的键盘快捷方式,而不是硬编码。我的包附带了一个控件,用户可以在其中设置他们喜欢的快捷方式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47760135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档