device_properties(device_id device_id, IOHIDDeviceRef device) { device_id_ = device_id; pqrs::osx::iokit_hid_device hid_device(device); vendor_id_ = hid_device.find_vendor_id(); product_id_ = hid_device.find_product_id(); location_id_ = hid_device.find_location_id(); manufacturer_ = hid_device.find_manufacturer(); product_ = hid_device.find_product(); serial_number_ = hid_device.find_serial_number(); transport_ = hid_device.find_transport(); is_keyboard_ = iokit_utility::is_keyboard(device); is_pointing_device_ = iokit_utility::is_pointing_device(device); if (product_ && is_keyboard_ && is_pointing_device_) { if ((*product_).find("Apple Internal ") != std::string::npos) { if (*is_keyboard_ == true && *is_pointing_device_ == false) { is_built_in_keyboard_ = true; } if (*is_keyboard_ == false && *is_pointing_device_ == true) { is_built_in_pointing_device_ = true; } } } is_karabiner_virtual_hid_device_ = iokit_utility::is_karabiner_virtual_hid_device(device); update_device_identifiers(); }
void dump_cs_device(usb_descriptor_t *desc, int interface) { switch (usbdev.class) { case UICLASS_HID: hid_device(desc, interface); break; default: dump_descriptor(desc, "\t\t"); } }