| Index: device/hid/hid_service_mac.cc
|
| diff --git a/device/hid/hid_service_mac.cc b/device/hid/hid_service_mac.cc
|
| index 3df7e592333e6b8ec9620d8f924456b951202572..86f072d210e797901c21791a36e9b4222758432b 100644
|
| --- a/device/hid/hid_service_mac.cc
|
| +++ b/device/hid/hid_service_mac.cc
|
| @@ -143,16 +143,33 @@ void HidServiceMac::PlatformAddDevice(IOHIDDeviceRef hid_device) {
|
| GetHidIntProperty(hid_device, CFSTR(kIOHIDVendorIDKey));
|
| device_info.product_id =
|
| GetHidIntProperty(hid_device, CFSTR(kIOHIDProductIDKey));
|
| - device_info.usage =
|
| - GetHidIntProperty(hid_device, CFSTR(kIOHIDPrimaryUsageKey));
|
| - device_info.usage_page =
|
| - GetHidIntProperty(hid_device, CFSTR(kIOHIDPrimaryUsagePageKey));
|
| device_info.input_report_size =
|
| GetHidIntProperty(hid_device, CFSTR(kIOHIDMaxInputReportSizeKey));
|
| device_info.output_report_size =
|
| GetHidIntProperty(hid_device, CFSTR(kIOHIDMaxOutputReportSizeKey));
|
| device_info.feature_report_size =
|
| GetHidIntProperty(hid_device, CFSTR(kIOHIDMaxFeatureReportSizeKey));
|
| + CFTypeRef deviceUsagePairsRaw = IOHIDDeviceGetProperty(hid_device,
|
| + CFSTR(kIOHIDDeviceUsagePairsKey));
|
| + CFArrayRef deviceUsagePairs = base::mac::CFCast<CFArrayRef>(
|
| + deviceUsagePairsRaw);
|
| + CFIndex deviceUsagePairsCount = CFArrayGetCount(deviceUsagePairs);
|
| + for (CFIndex i=0; i<deviceUsagePairsCount; i++) {
|
| + HidUsageAndPage usage_and_page;
|
| + CFDictionaryRef deviceUsagePair = base::mac::CFCast<CFDictionaryRef>(
|
| + CFArrayGetValueAtIndex(deviceUsagePairs, i));
|
| + CFNumberRef usage_page_raw = base::mac::CFCast<CFNumberRef>(
|
| + CFDictionaryGetValue(deviceUsagePair,
|
| + CFSTR(kIOHIDDeviceUsagePageKey)));
|
| + CFNumberGetValue(usage_page_raw,
|
| + kCFNumberSInt32Type,
|
| + &usage_and_page.usage_page);
|
| + CFNumberRef usage_raw = base::mac::CFCast<CFNumberRef>(
|
| + CFDictionaryGetValue(deviceUsagePair,
|
| + CFSTR(kIOHIDDeviceUsageKey)));
|
| + CFNumberGetValue(usage_raw, kCFNumberSInt32Type, &usage_and_page.usage);
|
| + device_info.usages.push_back(usage_and_page);
|
| + }
|
| device_info.product_name =
|
| GetHidStringProperty(hid_device, CFSTR(kIOHIDProductKey));
|
| device_info.serial_number =
|
|
|