Как узнать имя устройства по его идентификатору устройства в OS X?

Я пишу программу в OS X, которая получает события кликов от мыши и сенсорной панели. Когда пользователь щелкает где-либо, ОС отправляет идентификатор устройства, который является просто целым числом, и позицию курсора в мою функцию обратного вызова. Я хочу знать, исходит ли событие щелчка от мыши или сенсорной панели. Итак, как я могу узнать имя устройства по его идентификатору устройства?

Благодарю вас!

(Извините за мой плохой английский.)


person yangumi    schedule 06.11.2009    source источник
comment
Я добавил тег «iokit» к вашему вопросу, так как ответ, вероятно, как-то связан с этим.   -  person Peter Hosey    schedule 06.11.2009


Ответы (2)


Вы можете посмотреть Реестр IOKit.
В качестве отправной точки: Пример кода HID Explorer

Чтобы проверить, существует ли искомый идентификатор в реестре IOKit, вы можете выполнить grep вывод утилиты командной строки ioreg:

ioreg |grep 'Track'
person Thomas Zoechling    schedule 06.11.2009

Подключитесь к сервисной плоскости в реестре ввода-вывода, затем используйте IORegistryEntrySearchCFProperty() с kIORegistryIterateRecursively() для поиска идентификатора устройства, соответствующего тому, который у вас есть. После этого вы сможете найти другие свойства устройства, поскольку они перечислены в реестре.

IORegistry Explorer поможет вам понять структуру реестра.

person WhirlWind    schedule 31.03.2010