【问题标题】:how do I observe keyboard input event while the applicaion is not actived如何在应用程序未激活时观察键盘输入事件
【发布时间】:2011-04-02 13:58:51
【问题描述】:

如何在应用未激活时观察键盘输入事件。

【问题讨论】:

  • re Ghommeny:好主意。但我只想通过热键用户更改歌曲而不激活我的音乐应用程序。

标签: objective-c cocoa macos keyboard-events


【解决方案1】:

您需要使用Quartz Event Services 创建一个CGEventTap。用户必须有权打开辅助设备,这是有道理的,因为这是您这样做的唯一正当理由。

如果你想设置一个热键,Carbon Event Manager 中有一个 API 和一个名为 SGHotKeysLib 的 Cocoa 包装器。请注意,当前的 64 位 Mac OS X 仍支持 Carbon 事件管理器热键 API。

【讨论】:

  • Carbon ? jumpord 中是否有新的 api 集
  • Carbon 可以追溯到 10.0,如文档中所述。其中大部分已弃用和/或现在不可用,但有些部分不是,Carbon Event Manager 热键 API 是仍然可用和支持的部分之一。
  • 似乎是处理此类事件的唯一方法。
  • 我知道现在回答这个问题为时已晚,但现在我会选择 NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler: google ,你会开始的。
  • @PedroVieira:现在回答还为时不晚。
猜你喜欢
  • 1970-01-01
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
相关资源
最近更新 更多