Changes in / [dc4c19e:82e8861] in mainline
- Location:
- uspace/drv/usbhid
- Files:
-
- 2 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/Makefile
rdc4c19e r82e8861 44 44 kbd/kbdrepeat.c \ 45 45 generic/hiddev.c \ 46 mouse/mousedev.c \47 46 $(STOLEN_LAYOUT_SOURCES) 48 47 -
uspace/drv/usbhid/generic/hiddev.c
rdc4c19e r82e8861 57 57 size_t buffer_size, void *arg) 58 58 { 59 usb_log_debug("usb_hid_polling_callback(%p, %p, %zu, %p)\n", 60 dev, buffer, buffer_size, arg); 59 usb_log_debug("usb_hid_polling_callback()\n"); 61 60 usb_debug_str_buffer(buffer, buffer_size, 0); 62 61 return true; -
uspace/drv/usbhid/generic/hiddev.h
rdc4c19e r82e8861 34 34 */ 35 35 36 #ifndef USB_HIDD DEV_H_37 #define USB_HIDD DEV_H_36 #ifndef USB_HIDD_H_ 37 #define USB_HIDD_H_ 38 38 39 39 #include <usb/devdrv.h> … … 47 47 size_t buffer_size, void *arg); 48 48 49 #endif // USB_HIDD DEV_H_49 #endif // USB_HIDD_H_ 50 50 51 51 /** -
uspace/drv/usbhid/kbd/kbddev.c
rdc4c19e r82e8861 238 238 * @param icall Call data. 239 239 */ 240 staticvoid default_connection_handler(ddf_fun_t *fun,240 void default_connection_handler(ddf_fun_t *fun, 241 241 ipc_callid_t icallid, ipc_call_t *icall) 242 242 { -
uspace/drv/usbhid/kbd/kbddev.h
rdc4c19e r82e8861 65 65 */ 66 66 typedef struct usb_kbd_t { 67 /** Structure holding generic USB device information. */ 68 //usbhid_dev_t *hid_dev; 69 //usb_device_t *usb_dev; 70 67 71 /** Currently pressed keys (not translated to key codes). */ 68 72 uint8_t *keys; … … 87 91 fibril_mutex_t *repeat_mtx; 88 92 93 /** Report descriptor. */ 94 //uint8_t *report_desc; 95 96 /** Report descriptor size. */ 97 //size_t report_desc_size; 98 89 99 uint8_t *output_buffer; 90 100 … … 96 106 97 107 int32_t *led_data; 108 109 /** HID Report parser. */ 110 //usb_hid_report_parser_t *parser; 98 111 99 112 /** State of the structure (for checking before use). … … 108 121 /*----------------------------------------------------------------------------*/ 109 122 123 //enum { 124 // USB_KBD_POLL_EP_NO = 0, 125 // USB_HID_POLL_EP_NO = 1, 126 // USB_KBD_POLL_EP_COUNT = 2 127 //}; 128 129 //usb_endpoint_description_t *usb_kbd_endpoints[USB_KBD_POLL_EP_COUNT + 1]; 130 131 //ddf_dev_ops_t keyboard_ops; 132 110 133 usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description; 111 134 … … 115 138 /*----------------------------------------------------------------------------*/ 116 139 140 //usb_kbd_t *usb_kbd_new(void); 141 117 142 int usb_kbd_init(struct usb_hid_dev_t *hid_dev); 118 143 119 144 bool usb_kbd_polling_callback(usb_device_t *dev, uint8_t *buffer, 120 145 size_t buffer_size, void *arg); 146 147 //void usb_kbd_polling_ended_callback(usb_device_t *dev, bool reason, 148 // void *arg); 121 149 122 150 int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev); … … 129 157 int type, unsigned int key); 130 158 159 131 160 void usb_kbd_deinit(struct usb_hid_dev_t *hid_dev); 132 161 -
uspace/drv/usbhid/usbhid.c
rdc4c19e r82e8861 47 47 #include "kbd/kbddev.h" 48 48 #include "generic/hiddev.h" 49 #include "mouse/mousedev.h" 50 51 /*----------------------------------------------------------------------------*/ 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 }; 52 61 53 62 /* Array of endpoints expected on the device, NULL terminated. */ … … 59 68 }; 60 69 70 static const char *HID_MOUSE_FUN_NAME = "mouse"; 71 static const char *HID_MOUSE_CLASS_NAME = "mouse"; 72 61 73 /*----------------------------------------------------------------------------*/ 62 74 … … 84 96 /*----------------------------------------------------------------------------*/ 85 97 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 86 107 static int usb_hid_check_pipes(usb_hid_dev_t *hid_dev, usb_device_t *dev) 87 108 { … … 104 125 105 126 // set the polling callback 106 hid_dev->poll_callback = usb_ mouse_polling_callback;127 hid_dev->poll_callback = usb_dummy_polling_callback; 107 128 108 129 } else if (dev->pipes[USB_HID_GENERIC_POLL_EP_NO].present) { … … 140 161 hid_dev->parser); 141 162 142 if (rc != EOK || hid_dev->device_type == USB_HID_PROTOCOL_MOUSE) {163 if (rc != EOK) { 143 164 usb_log_warning("Could not process report descriptor.\n"); 144 165 145 166 if (hid_dev->device_type == USB_HID_PROTOCOL_KEYBOARD) { 146 167 usb_log_warning("Falling back to boot protocol.\n"); 168 147 169 rc = usb_kbd_set_boot_protocol(hid_dev); 170 148 171 } else if (hid_dev->device_type == USB_HID_PROTOCOL_MOUSE) { 149 usb_log_warning(" Falling back to boot protocol.\n");150 rc = usb_mouse_set_boot_protocol(hid_dev);172 usb_log_warning("No boot protocol for mouse yet.\n"); 173 rc = ENOTSUP; 151 174 } 152 175 } … … 199 222 break; 200 223 case USB_HID_PROTOCOL_MOUSE: 201 rc = usb_mouse_init(hid_dev);202 if (rc != EOK) {203 usb_log_warning("Failed to initialize Mouse structure."204 "\n");205 }206 224 break; 207 225 default: 226 // usbhid_req_set_idle(&hid_dev->usb_dev->ctrl_pipe, 227 // hid_dev->usb_dev->interface_no, 0); 208 228 break; 209 229 } … … 271 291 break; 272 292 case USB_HID_PROTOCOL_MOUSE: 273 usb_mouse_deinit(*hid_dev);274 293 break; 275 294 default: -
uspace/drv/usbhid/usbhid.ma
rdc4c19e r82e8861 1 1 100 usb&interface&class=HID&subclass=0x01&protocol=0x01 2 100 0usb&interface&class=HID&subclass=0x01&protocol=0x022 100 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.