键盘快捷键在macOS的菜单栏应用程序中不起作用

问题描述

我创建了一个仅在菜单栏中运行的macOS应用程序。

My Menubar Application

在Xcode中,我为某些NSMenuItem添加一个快捷键,该快捷键在检查器中具有 Key Equivalent 属性

在这种情况下是Shift + F4和Shift + F5

Xcode Screenshot

快捷键有效,但仅在打开菜单时有效。我猜这是因为,其余时间该应用程序都在后台

即使菜单未打开,如何使快捷方式工作?

隐藏时允许-复选框不起作用。我认为它是指项目本身,可以标记隐藏

任何想法和建议将不胜感激。

解决方法

您似乎正在使用NSStatusItem。

操作系统将无法处理的按键事件传递给前端应用程序,该程序会将其与主菜单和当前窗口中的任何等效按键进行比较。它们不会与状态栏中的项目进行比较,并且由于状态栏实际上是另一个应用程序,因此您的应用程序位于前台并不重要。打开菜单后,它就是焦点所在的窗口。这就是为什么它在这种情况下起作用的原因。

我正在从另一个https://labs.thisdot.co/blog/intro-to-performance-analytics-with-firebase那里回答。请参阅该帖子以获取更多详细信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...