Macos 在OSX中监听键盘按键

Macos 在OSX中监听键盘按键,macos,events,keyboard,Macos,Events,Keyboard,我正在尝试为OSX编写一个简单的启动程序。这意味着要编写一个后台进程来监听按键。在OSX中是如何做到这一点的?我是否可以在某处安装侦听器,或者是否可以轮询键盘的当前状态?如果要为应用程序创建全局键盘快捷键,请使用热键API。(尽管热键API是一个旧的Carbon/CoreServices API,但它可用于64位Cocoa应用程序,并且在10.8 Mountain Lion中仍然得到完全支持,没有被弃用。) 是一个很好的Cocoa包装器,用于Carbon热键API 要收听所有应用程序中的所有按键

我正在尝试为OSX编写一个简单的启动程序。这意味着要编写一个后台进程来监听按键。在OSX中是如何做到这一点的?我是否可以在某处安装侦听器,或者是否可以轮询键盘的当前状态?

如果要为应用程序创建全局键盘快捷键,请使用热键API。(尽管热键API是一个旧的Carbon/CoreServices API,但它可用于64位Cocoa应用程序,并且在10.8 Mountain Lion中仍然得到完全支持,没有被弃用。)

是一个很好的Cocoa包装器,用于Carbon热键API


要收听所有应用程序中的所有按键,请使用;但是,这不是实现launcher应用程序的正确方法。

热键API听起来与我需要的完全一样,但我在developer.apple.com上找不到任何相关文档。我想我会使用LaunchServices,然后根据触发的热键打开东西?使用DDHotKey,它非常简单。keycode和modifierFlags参数来自由按键关闭事件触发的NSEvent。您可以通过覆盖NSTextField的-performKeyEquivalent:来获取这些事件。另请参见Events.h,它定义了大多数关键代码。您可以使用[NSWorkspace openFile:]和[NSWorkspace openURL:]简单地启动应用程序、文档或URL。不需要使用LaunchServices。它需要是一个Cocoa应用程序。其Info.plist文件中的属性确定应用程序在Dock中是可见的还是隐藏的背景应用程序。