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, |
Ken Rockot(use gerrit already)
2014/04/15 17:53:38
nit: Please align arguments. In this case you can
|
+ CFSTR(kIOHIDDeviceUsagePairsKey)); |
+ CFArrayRef deviceUsagePairs = base::mac::CFCast<CFArrayRef>( |
+ deviceUsagePairsRaw); |
+ CFIndex deviceUsagePairsCount = CFArrayGetCount(deviceUsagePairs); |
+ for (CFIndex i=0; i<deviceUsagePairsCount; i++) { |
Ken Rockot(use gerrit already)
2014/04/15 17:53:38
nit: Please format this code. Missing whitespace (
|
+ 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 = |