Cocoa 来自NSEvent/CGEvent的设备信息

Cocoa 来自NSEvent/CGEvent的设备信息,cocoa,nsevent,Cocoa,Nsevent,我的应用程序使用事件点击来捕获键盘事件,我想知道每个事件来自哪个设备(即哪个键盘)。是否有一种设备标识信息以及点击获得的CGEvent?我看过NSEvent的方法和各种CGEventField键,但它们似乎都不是设备独有的。有什么帮助吗?您可能想看看DDHidLib,它是Dave Dribin独立使用USB HID设备的优秀框架 (不仅仅是关于操纵杆,所以请阅读该博客文章的第一段) DDHidLib的一些功能在Leopard下不再工作,因为苹果公司在捕获HID设备方面存在一些安全问题,但如果你

我的应用程序使用事件点击来捕获键盘事件,我想知道每个事件来自哪个设备(即哪个键盘)。是否有一种设备标识信息以及点击获得的CGEvent?我看过NSEvent的方法和各种CGEventField键,但它们似乎都不是设备独有的。有什么帮助吗?

您可能想看看DDHidLib,它是Dave Dribin独立使用USB HID设备的优秀框架

(不仅仅是关于操纵杆,所以请阅读该博客文章的第一段)


DDHidLib的一些功能在Leopard下不再工作,因为苹果公司在捕获HID设备方面存在一些安全问题,但如果你幸运的话,它可能会提供你所需要的。

你可能想看看DDHidLib,Dave Dribin独立使用USB HID设备的优秀框架

(不仅仅是关于操纵杆,所以请阅读该博客文章的第一段)


DDHidLib的一些功能在Leopard下不再起作用,因为Apple在捕获HID设备方面存在一些安全问题,但如果你幸运的话,它可能会提供你所需要的。

DDHidLib很整洁,事实上我为Leopard较新的HID API的Delicious Library 2重写了部分功能,并将更改提交给原始作者——如果您编写他,您可以获得Leopard only示例代码

不幸的是,新的Leopard HID API能够在键盘事件经过时达到峰值,但不能截获它们,因此您无法构建自己的应用程序级设备处理程序,除非关键事件也可以发送到AppKit。(这就是为什么在Delicious Library 2中使用USB条形码扫描仪时会出现砰砰声的原因-我在扫描仪前达到峰值并读取条形码,但随后键入的内容仍会发送到最顶部的窗口,该窗口不需要它,并且会发出很多嘟嘟声。叹气。)


-Wil

DDHidLib很简洁,事实上,我为Leopard较新的HIDAPI的Delicious Library 2重写了其中的一部分,并将更改提交给了原始作者——如果您编写他,您可以获得Leopard only示例代码

不幸的是,新的Leopard HID API能够在键盘事件经过时达到峰值,但不能截获它们,因此您无法构建自己的应用程序级设备处理程序,除非关键事件也可以发送到AppKit。(这就是为什么在Delicious Library 2中使用USB条形码扫描仪时会出现砰砰声的原因-我在扫描仪前达到峰值并读取条形码,但随后键入的内容仍会发送到最顶部的窗口,该窗口不需要它,并且会发出很多嘟嘟声。叹气。)


-威尔

这太棒了!键盘在CGEvent到达tap之前发布一个HID事件,因此我可以关联数据。谢谢你的提示。这太棒了!键盘在CGEvent到达tap之前发布一个HID事件,因此我可以关联数据。谢谢你的提示。看来1.1版包含了一些来自DeliciousMonster的代码。不能够截获事件实际上是可以的-我可以使用点击截获事件,只需使用HID事件来了解键盘。1.1版似乎包含了一些来自Delicious Monster的代码。不能够截获事件实际上是可以的-我可以使用点击截获事件,只需使用HID事件来了解键盘。