Changeset e9f0348 in mainline
- Timestamp:
- 2011-04-08T09:16:33Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c32a585a
- Parents:
- 74a1ba9
- Location:
- uspace/drv/usbhid
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/Makefile
r74a1ba9 re9f0348 44 44 kbd/kbdrepeat.c \ 45 45 generic/hiddev.c \ 46 mouse/mousedev.c \ 46 47 $(STOLEN_LAYOUT_SOURCES) 47 48 -
uspace/drv/usbhid/usbhid.c
r74a1ba9 re9f0348 47 47 #include "kbd/kbddev.h" 48 48 #include "generic/hiddev.h" 49 50 /*----------------------------------------------------------------------------*/ 51 52 /** Mouse polling endpoint description for boot protocol class. */ 53 static usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description = { 54 .transfer_type = USB_TRANSFER_INTERRUPT, 55 .direction = USB_DIRECTION_IN, 56 .interface_class = USB_CLASS_HID, 57 .interface_subclass = USB_HID_SUBCLASS_BOOT, 58 .interface_protocol = USB_HID_PROTOCOL_MOUSE, 59 .flags = 0 60 }; 49 #include "mouse/mousedev.h" 50 51 /*----------------------------------------------------------------------------*/ 61 52 62 53 /* Array of endpoints expected on the device, NULL terminated. */ … … 68 59 }; 69 60 70 static const char *HID_MOUSE_FUN_NAME = "mouse";71 static const char *HID_MOUSE_CLASS_NAME = "mouse";72 73 61 /*----------------------------------------------------------------------------*/ 74 62 … … 96 84 /*----------------------------------------------------------------------------*/ 97 85 98 static bool usb_dummy_polling_callback(usb_device_t *dev, uint8_t *buffer,99 size_t buffer_size, void *arg)100 {101 usb_log_debug("Dummy polling callback.\n");102 return false;103 }104 105 /*----------------------------------------------------------------------------*/106 107 86 static int usb_hid_check_pipes(usb_hid_dev_t *hid_dev, usb_device_t *dev) 108 87 { … … 125 104 126 105 // set the polling callback 127 hid_dev->poll_callback = usb_ dummy_polling_callback;106 hid_dev->poll_callback = usb_mouse_polling_callback; 128 107 129 108 } else if (dev->pipes[USB_HID_GENERIC_POLL_EP_NO].present) { … … 161 140 hid_dev->parser); 162 141 163 if (rc != EOK ) {142 if (rc != EOK || hid_dev->device_type == USB_HID_PROTOCOL_MOUSE) { 164 143 usb_log_warning("Could not process report descriptor.\n"); 165 144 166 145 if (hid_dev->device_type == USB_HID_PROTOCOL_KEYBOARD) { 167 146 usb_log_warning("Falling back to boot protocol.\n"); 168 169 147 rc = usb_kbd_set_boot_protocol(hid_dev); 170 171 148 } else if (hid_dev->device_type == USB_HID_PROTOCOL_MOUSE) { 172 usb_log_warning(" No boot protocol for mouse yet.\n");173 rc = ENOTSUP;149 usb_log_warning("Falling back to boot protocol.\n"); 150 rc = usb_mouse_set_boot_protocol(hid_dev); 174 151 } 175 152 } … … 222 199 break; 223 200 case USB_HID_PROTOCOL_MOUSE: 224 break; 225 default: 226 // usbhid_req_set_idle(&hid_dev->usb_dev->ctrl_pipe, 227 // hid_dev->usb_dev->interface_no, 0); 201 rc = usb_mouse_init(hid_dev); 202 if (rc != EOK) { 203 usb_log_warning("Failed to initialize Mouse structure." 204 "\n"); 205 } 206 break; 207 default: 228 208 break; 229 209 } … … 291 271 break; 292 272 case USB_HID_PROTOCOL_MOUSE: 273 usb_mouse_deinit(*hid_dev); 293 274 break; 294 275 default: -
uspace/drv/usbhid/usbhid.ma
r74a1ba9 re9f0348 1 1 100 usb&interface&class=HID&subclass=0x01&protocol=0x01 2 100 usb&interface&class=HID&subclass=0x01&protocol=0x022 1000 usb&interface&class=HID&subclass=0x01&protocol=0x02 3 3 100 usb&interface&class=HID
Note:
See TracChangeset
for help on using the changeset viewer.