我正在写一个程序在OS X中接收来自鼠标和触摸板的点击事件。当用户点击某处时,操作系统会发送设备ID(仅为int),并将光标的位置发送到我的回调函数。我想知道点击事件是来自鼠标还是触摸板。那么,如何从设备ID中知道设备的名称?如何从OS X的设备ID中知道设备的名称?
谢谢!
(我为我的英语不好对不起。)
我正在写一个程序在OS X中接收来自鼠标和触摸板的点击事件。当用户点击某处时,操作系统会发送设备ID(仅为int),并将光标的位置发送到我的回调函数。我想知道点击事件是来自鼠标还是触摸板。那么,如何从设备ID中知道设备的名称?如何从OS X的设备ID中知道设备的名称?
谢谢!
(我为我的英语不好对不起。)
你可以看看IOKit Registry。
为出发点:HID Explorer sample code
要检查是否由于IOKit注册表中存在您正在搜索的ID,您可以在名为ioreg命令行实用程序的输出用grep:
ioreg |grep 'Track'
连接到服务面在I/O注册表中,然后使用带有kIORegistryIterateRecursively()的IORegistryEntrySearchCFProperty()来搜索与您拥有的设备ID相匹配的设备ID。然后,您应该能够找到设备在注册表中列出的其他属性。
IORegistry Explorer将帮助您了解注册表的布局。
我已将“iokit”标签添加到您的问题中,因为答案很可能与它有关。 – 2009-11-06 05:16:28