我正在寻找OS X中原始键盘事件的应用程序范围访问,使用Cocoa或Carbon框架(或任何底层API).我知道我可以覆盖NSApplication的sendEvent:获取原始键盘信息,但是对于元键(命令,控制,交替,移位等)不会显示为击键事件.我正在寻找类似于微软DirectInput框架的东西.
谢谢!
我认为DirectInput的等价物是HID Manager.HID代表"人机接口设备",HID管理器(有时称为HIDLib)是HID的低级API:键盘,鼠标和操纵杆.
Leopard有一个新的HID Manager API,记录在技术说明TN2187中." HID类设备接口指南 "中介绍了pre-Leopard API .我在旧的API DDHidLib周围编写了一个Objecive-C包装器,您可能会发现它很有用.豹API是很多更好.如果可以的话,我会直接使用它.
Core Graphics框架还具有一些有用的功能,作为远程操作系统的一部分.查找CGRemoteOperation.h,查看Quartz Events参考.
您可以使用Quartz Events系统安装特定于应用程序或系统范围的"事件点击",这使您可以在非常低的级别监视和注入键盘和鼠标事件.几年前,有一些特定应用程序事件的漏洞,但他们希望现在已经解决了.
我认为HID主要用于驱动程序开发,所以如果你只是为你的应用程序寻找工具,那么HID可能有点过分.