来自 NSEvent/CGEvent 的设备信息

发布于 2024-07-07 18:40:29 字数 139 浏览 11 评论 0原文

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

My application uses an event tap to capture keyboard events, and I'd like to know which device (i.e. which keyboard) each event comes from. Is there an sort of device-identifying information along with the CGEvent that a tap gets? I've looked at NSEvent's methods, and the various CGEventField keys, but none of them seem to be device-unique. Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凶凌 2024-07-14 18:40:29

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

http://www.dribin.org/dave/blog /archives/2007/03/19/ddhidlib_10

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

由于某些安全问题,DDHIdLib 的某些功能在 Leopard 下不再起作用Apple 关于捕获 HID 设备,但如果您幸运的话,它可能会为您提供所需的东西。

You might want to take a look at DDHidLib, Dave Dribin's excellent framework to work with USB HID devices independently.

http://www.dribin.org/dave/blog/archives/2007/03/19/ddhidlib_10

(not just about joysticks, so read more than the first paragraph of that blog post)

Some of the functionality of DDHidLib no longer works under Leopard, due to some security concerns at Apple regarding capturing an HID device, but if you're lucky it might provide you with what you need.

勿忘初心 2024-07-14 18:40:29

DDHidLib 很简洁,事实上,我为 Leopard 较新的 HID API 的 Delicious Library 2 重写了部分内容,并将更改提交回原作者——如果你写给他,你可以获得仅限 Leopard 的示例代码。

不幸的是,新的 Leopard HID API 能够在键盘事件经过时达到峰值,但不能拦截它们,因此您无法构建自己的应用程序级设备处理程序,除非按键事件也将发生AppKit 也是如此。 (这就是为什么当你在 Delicious Library 2 中使用 USB 条码扫描仪时会发出嗡嗡声 - 我在扫描仪前读取条码,但输入内容仍然被发送到最上面的窗口,而该窗口不需要它,并且发出很多声叹息。)

-威尔

DDHidLib is neat, and in fact I rewrote parts of it for Delicious Library 2 for Leopard's newer HID APIs, and submitted the changes back to the original author -- if you write him you can get the Leopard-only sample code.

Unfortunately, the new Leopard HID APIs have the ability to peak at keyboard events as they pass by, but NOT to intercept them, so you can't build your own application-level device handler unless it's OK that the key events are also going to the AppKit, as well. (This is why there's a BONKING noise when you use a USB barcode scanner in Delicious Library 2 - I peak at the scanner and read the barcode, but then the typing is still sent to the topmost window, which doesn't want it, and beeps a lot. Sigh.)

-Wil

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文