我正在使用Swift 4开发一个Mac应用程序,它只作为代理程序运行(它只在托盘中有一个菜单)。我对Swift来说是全新的。
我希望它能够响应键盘快捷键,但基本快捷键(见图片)仅在应用具有焦点时才会起作用(在我的情况下,单击菜单时)。
所以我需要的是我的应用程序响应系统范围的键盘快捷键。
我试过了:
有人做过吗?
答案 0 :(得分:5)
所以我最终得到它与HotKey一起工作:
效果很好!
答案 1 :(得分:2)
我制作了一个 Swift package,让这一切变得非常简单:
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) {
// …
}
}
}
即使你已经解决了你的问题,我认为这对其他有同样问题的人来说可能会有用。
我还建议让用户选择自己的键盘快捷键,而不是对其进行硬编码。我的包带有一个控件,用户可以在其中设置他们喜欢的快捷方式。