Я работаю над приложением OS X, которое поддерживает игровые контроллеры. Он должен поддерживать контроллеры как из IOKit HID, так и из GameController.framework. Проблема, с которой я столкнулся, заключается в том, что большинство контроллеров, совместимых с MFi GameController.framework, также являются скрытыми устройствами. Таким образом, контроллеры MFi появляются в списке контроллеров дважды, как GCController, так и IOHIDDevice. Есть ли способ установить связь между ними, чтобы игнорировать HID-устройство?
Объекты GCController имеют закрытое свойство deviceRef
, которое указывает на базовое скрытое устройство, что позволяет распознавать и игнорировать устройство на уровне HID. Проблема в том, что deviceRef
является частной собственностью, поэтому я не могу использовать его в приложении App Store.
Идеальным решением был бы способ определить, что IOHIDDeviceRef является устройством MFi, поэтому я могу полностью пропустить его на своем уровне HID.
ioreg
или IOJones). Если нет, то создание частного устройства deviceRef кажется ошибкой, поэтому я бы отправил радар с запросом на надежный общедоступный способ сопоставления HID-устройства с GCController. - person pmdj   schedule 04.11.2015