Ticket #6115: UsbHidDriver.diff
File UsbHidDriver.diff, 6.4 KB (added by , 14 years ago) |
---|
-
MouseDevice.cpp
40 40 if (!item->HasData()) 41 41 continue; 42 42 43 if (item->UsagePage() == HID_USAGE_PAGE_BUTTON43 if (item->UsagePage() == B_HID_USAGE_PAGE_BUTTON 44 44 && item->UsageID() - 1 < B_MAX_MOUSE_BUTTONS) 45 45 fButtons[buttonCount++] = item; 46 46 } 47 47 48 48 fButtons[buttonCount] = NULL; 49 49 50 fWheel = report->FindItem( HID_USAGE_PAGE_GENERIC_DESKTOP,51 HID_USAGE_ID_WHEEL);50 fWheel = report->FindItem(B_HID_USAGE_PAGE_GENERIC_DESKTOP, 51 B_HID_UID_GD_WHEEL); 52 52 53 53 TRACE("mouse device with %lu buttons and %swheel\n", buttonCount, 54 54 fWheel == NULL ? "no " : ""); … … 60 60 MouseDevice::AddHandler(HIDDevice *device, HIDReport *report) 61 61 { 62 62 // try to find at least an x and y axis 63 HIDReportItem *xAxis = report->FindItem( HID_USAGE_PAGE_GENERIC_DESKTOP,64 HID_USAGE_ID_X);63 HIDReportItem *xAxis = report->FindItem(B_HID_USAGE_PAGE_GENERIC_DESKTOP, 64 B_HID_UID_GD_X); 65 65 if (xAxis == NULL) 66 66 return NULL; 67 67 68 HIDReportItem *yAxis = report->FindItem( HID_USAGE_PAGE_GENERIC_DESKTOP,69 HID_USAGE_ID_Y);68 HIDReportItem *yAxis = report->FindItem(B_HID_USAGE_PAGE_GENERIC_DESKTOP, 69 B_HID_UID_GD_Y); 70 70 if (yAxis == NULL) 71 71 return NULL; 72 72 -
KeyboardDevice.cpp
73 73 if (!item->HasData()) 74 74 continue; 75 75 76 if (item->UsagePage() == HID_USAGE_PAGE_KEYBOARD77 || item->UsagePage() == HID_USAGE_PAGE_CONSUMER78 || item->UsagePage() == HID_USAGE_PAGE_BUTTON) {76 if (item->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD 77 || item->UsagePage() == B_HID_USAGE_PAGE_CONSUMER 78 || item->UsagePage() == B_HID_USAGE_PAGE_BUTTON) { 79 79 TRACE("keyboard item with usage %lx\n", item->UsageMinimum()); 80 80 81 81 if (item->Array()) { … … 83 83 if (fKeyCount < MAX_KEYS) 84 84 fKeys[fKeyCount++] = item; 85 85 } else { 86 if (item->UsagePage() == HID_USAGE_PAGE_KEYBOARD87 && item->UsageID() >= HID_USAGE_ID_LEFT_CONTROL88 && item->UsageID() <= HID_USAGE_ID_RIGHT_GUI) {86 if (item->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD 87 && item->UsageID() >= B_HID_UID_KB_LEFT_CONTROL 88 && item->UsageID() <= B_HID_UID_KB_RIGHT_GUI) { 89 89 // modifiers are generally implemented as bitmaps 90 90 if (fModifierCount < MAX_MODIFIERS) 91 91 fModifiers[fModifierCount++] = item; … … 118 118 119 119 // the led item array is identity mapped with what we get from 120 120 // the input_server for the set-leds command 121 if (item->UsagePage() == HID_USAGE_PAGE_LED) {121 if (item->UsagePage() == B_HID_USAGE_PAGE_LED) { 122 122 switch (item->UsageID()) { 123 case HID_USAGE_ID_LED_NUM_LOCK:123 case B_HID_UID_LED_NUM_LOCK: 124 124 fLEDs[0] = item; 125 125 break; 126 case HID_USAGE_ID_LED_CAPS_LOCK:126 case B_HID_UID_LED_CAPS_LOCK: 127 127 fLEDs[1] = item; 128 128 break; 129 case HID_USAGE_ID_LED_SCROLL_LOCK:129 case B_HID_UID_LED_SCROLL_LOCK: 130 130 fLEDs[2] = item; 131 131 break; 132 132 } … … 165 165 if (!item->HasData()) 166 166 continue; 167 167 168 if (item->UsagePage() == HID_USAGE_PAGE_KEYBOARD169 || (item->UsagePage() == HID_USAGE_PAGE_CONSUMER && item->Array())170 || (item->UsagePage() == HID_USAGE_PAGE_BUTTON && item->Array())) {168 if (item->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD 169 || (item->UsagePage() == B_HID_USAGE_PAGE_CONSUMER && item->Array()) 170 || (item->UsagePage() == B_HID_USAGE_PAGE_BUTTON && item->Array())) { 171 171 // found at least one item with a keyboard usage or with 172 172 // a consumer/button usage that is handled like a key 173 mayHaveOutput = item->UsagePage() == HID_USAGE_PAGE_KEYBOARD;173 mayHaveOutput = item->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD; 174 174 foundKeyboardUsage = true; 175 175 break; 176 176 } … … 190 190 191 191 for (uint32 j = 0; j < output->CountItems(); j++) { 192 192 HIDReportItem *item = output->ItemAt(j); 193 if (item->UsagePage() == HID_USAGE_PAGE_LED) {193 if (item->UsagePage() == B_HID_USAGE_PAGE_LED) { 194 194 foundOutputReport = true; 195 195 break; 196 196 } … … 405 405 406 406 if (modifier->Extract() == B_OK && modifier->Valid()) { 407 407 modifiers |= (modifier->Data() & 1) 408 << (modifier->UsageID() - HID_USAGE_ID_LEFT_CONTROL);408 << (modifier->UsageID() - B_HID_UID_KB_LEFT_CONTROL); 409 409 } 410 410 } 411 411 … … 591 591 bool phantomState = true; 592 592 for (size_t i = 0; i < fKeyCount; i++) { 593 593 if (fCurrentKeys[i] != 1 594 || fKeys[i]->UsagePage() != HID_USAGE_PAGE_KEYBOARD) {594 || fKeys[i]->UsagePage() != B_HID_USAGE_PAGE_KEYBOARD) { 595 595 phantomState = false; 596 596 break; 597 597 } … … 613 613 for (int32 twice = 0; twice < 2; twice++) { 614 614 for (size_t i = 0; i < fKeyCount; i++) { 615 615 if (current[i] == 0 || (current[i] == 1 616 && fKeys[i]->UsagePage() == HID_USAGE_PAGE_KEYBOARD))616 && fKeys[i]->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD)) 617 617 continue; 618 618 619 619 bool found = false; … … 629 629 630 630 // a change occured 631 631 uint32 key = 0; 632 if (fKeys[i]->UsagePage() == HID_USAGE_PAGE_KEYBOARD) {632 if (fKeys[i]->UsagePage() == B_HID_USAGE_PAGE_KEYBOARD) { 633 633 if (current[i] < kKeyTableSize) 634 634 key = kKeyTable[current[i]]; 635 635 -
HIDDevice.cpp
49 49 status_t result = gUSBModule->send_request(device, 50 50 USB_REQTYPE_INTERFACE_IN | USB_REQTYPE_STANDARD, 51 51 USB_REQUEST_GET_DESCRIPTOR, 52 USB_HID_DESCRIPTOR_HID << 8, interfaceIndex, descriptorLength,52 B_USB_HID_DESCRIPTOR_HID << 8, interfaceIndex, descriptorLength, 53 53 hidDescriptor, &descriptorLength); 54 54 55 55 TRACE("get hid descriptor: result: 0x%08lx; length: %lu\n", result, … … 70 70 result = gUSBModule->send_request(device, 71 71 USB_REQTYPE_INTERFACE_IN | USB_REQTYPE_STANDARD, 72 72 USB_REQUEST_GET_DESCRIPTOR, 73 USB_HID_DESCRIPTOR_REPORT << 8, interfaceIndex, descriptorLength,73 B_USB_HID_DESCRIPTOR_REPORT << 8, interfaceIndex, descriptorLength, 74 74 reportDescriptor, &descriptorLength); 75 75 76 76 TRACE("get report descriptor: result: 0x%08lx; length: %lu\n", result, … … 215 215 size_t actualLength; 216 216 return gUSBModule->send_request(fDevice, 217 217 USB_REQTYPE_INTERFACE_OUT | USB_REQTYPE_CLASS, 218 USB_REQUEST_HID_SET_REPORT, 0x200 | report->ID(), fInterfaceIndex,218 B_USB_REQUEST_HID_SET_REPORT, 0x200 | report->ID(), fInterfaceIndex, 219 219 report->ReportSize(), report->CurrentReport(), &actualLength); 220 220 } 221 221