我正在 OS X 中编写一个程序,它接收来自鼠标和触摸板的点击事件。当用户点击某处时,操作系统会将设备 ID(只是一个 int)和光标位置发送给我的回调函数。我想知道点击事件是来自鼠标还是触摸板。那么,如何从设备 ID 中知道设备的名称呢?
谢谢!
(我很抱歉我的英语不好。)
我正在 OS X 中编写一个程序,它接收来自鼠标和触摸板的点击事件。当用户点击某处时,操作系统会将设备 ID(只是一个 int)和光标位置发送给我的回调函数。我想知道点击事件是来自鼠标还是触摸板。那么,如何从设备 ID 中知道设备的名称呢?
谢谢!
(我很抱歉我的英语不好。)
您可以查看IOKit Registry。
作为起点:HID Explorer 示例代码
要检查您正在搜索的 ID 是否存在于 IOKit 注册表中,您可以 grep ioreg 命令行实用程序的输出:
ioreg |grep 'Track'
连接到 I/O 注册表中的服务平面,然后使用 IORegistryEntrySearchCFProperty() 和 kIORegistryIterateRecursively() 来搜索与您拥有的设备 ID 匹配的设备 ID。然后,您应该能够找到注册表中列出的设备的其他属性。
IORegistry Explorer 将帮助您了解注册表的布局。