Changes in uspace/drv/usbkbd/main.c [fbddf94:45019865] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbkbd/main.c
rfbddf94 r45019865 90 90 * Callbacks for parser 91 91 */ 92 static void usbkbd_process_keycodes(const uint 8_t *key_codes, size_t count,93 uint8_t modifiers,void *arg)92 static void usbkbd_process_keycodes(const uint16_t *key_codes, size_t count, 93 void *arg) 94 94 { 95 95 printf("Got keys: "); … … 130 130 assert(actual_size == length); 131 131 132 //dump_hid_class_descriptor(0, USB_DESCTYPE_HID_REPORT,133 //kbd_dev->conf->interfaces[i].report_desc, length);132 dump_hid_class_descriptor(0, USB_DESCTYPE_HID_REPORT, 133 kbd_dev->conf->interfaces[i].report_desc, length); 134 134 } 135 135 … … 189 189 } 190 190 191 //usbkbd_print_config(kbd_dev->conf); 192 193 /* 194 * TODO: 195 * 1) select one configuration (lets say the first) 196 * 2) how many interfaces?? how to select one?? 197 * ("The default setting for an interface is always alternate setting zero.") 198 * 3) find endpoint which is IN and INTERRUPT (parse), save its number 199 * as the endpoint for polling 200 */ 191 usbkbd_print_config(kbd_dev->conf); 201 192 202 193 return EOK; … … 217 208 // get phone to my HC and save it as my parent's phone 218 209 // TODO: maybe not a good idea if DDF will use parent_phone 219 int rc = kbd_dev->device->parent_phone = usb_drv_hc_connect_auto(dev, 0); 220 if (rc < 0) { 221 printf("Problem setting phone to HC.\n"); 222 free(kbd_dev); 223 return NULL; 224 } 225 226 rc = kbd_dev->address = usb_drv_get_my_address(dev->parent_phone, dev); 227 if (rc < 0) { 228 printf("Problem getting address of the device.\n"); 229 free(kbd_dev); 230 return NULL; 231 } 210 kbd_dev->device->parent_phone = usb_drv_hc_connect_auto(dev, 0); 211 212 kbd_dev->address = usb_drv_get_my_address(dev->parent_phone, 213 dev); 232 214 233 215 // doesn't matter now that we have no address … … 257 239 uint8_t *buffer, size_t actual_size) 258 240 { 241 /* 242 * here, the parser will be called, probably with some callbacks 243 * now only take last 6 bytes and process, i.e. send to kbd 244 */ 245 259 246 usb_hid_report_in_callbacks_t *callbacks = 260 247 (usb_hid_report_in_callbacks_t *)malloc( … … 262 249 callbacks->keyboard = usbkbd_process_keycodes; 263 250 264 //usb_hid_parse_report(kbd_dev->parser, buffer, actual_size, callbacks, 265 // NULL); 266 printf("Calling usb_hid_boot_keyboard_input_report()...\n)"); 267 usb_hid_boot_keyboard_input_report(buffer, actual_size, callbacks, NULL); 251 usb_hid_parse_report(kbd_dev->parser, buffer, actual_size, callbacks, 252 NULL); 268 253 } 269 254
Note:
See TracChangeset
for help on using the changeset viewer.