【发布时间】:2011-10-03 04:55:14
【问题描述】:
我想在不使用 Cocoa 的情况下使用 c++ 在 OSX 上获得键盘输入,不推荐使用 Carbon UPP 处理程序,并且如果可能的话不使用 IOHID,因为这需要做很多额外的工作。 我已经使用石英事件水龙头实现了一个简单的鼠标类,它就像一个魅力,现在我想用它们来实现一个键盘类。无论如何作为 CGEventTapCreate 下的参考状态: http://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html
只有在下列情况之一为真时,您才能访问关键事件:
- 当前进程以 root 用户身份运行。
- 已启用对辅助设备的访问。在 Mac OS X v10.4 中,您可以 使用系统偏好设置、通用访问启用此功能 面板,键盘视图。
这是一个非常严重的限制,因为我还希望我的应用程序在没有任何奇怪设置的情况下工作。 有什么办法可以解决这个问题吗?如果没有,除了在 Carbon 中使用 Taps 有什么替代方法吗? 谢谢!
【问题讨论】:
标签: macos keyboard quartz-graphics macos-carbon