Changes in / [3b5d5b9d:22ded10] in mainline
- Location:
- uspace
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/kbd/kbddev.c
r3b5d5b9d r22ded10 1046 1046 free((*kbd_dev)->led_data); 1047 1047 } 1048 if ((*kbd_dev)->output_buffer != NULL) {1049 free((*kbd_dev)->output_buffer);1050 }1051 1048 if ((*kbd_dev)->led_path != NULL) { 1052 1049 usb_hid_report_path_free((*kbd_dev)->led_path); -
uspace/lib/usb/include/usb/classes/hidpath.h
r3b5d5b9d r22ded10 43 43 * Description of path of usage pages and usages in report descriptor 44 44 */ 45 /** Wanted usage path must be exactly the same as the searched one */ 45 46 #define USB_HID_PATH_COMPARE_STRICT 0 46 #define USB_HID_PATH_COMPARE_END 1 47 /** Wanted usage path must be the suffix in the searched one */ 48 #define USB_HID_PATH_COMPARE_END 1 49 /** */ 47 50 #define USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY 4 48 51 #define USB_HID_PATH_COMPARE_COLLECTION_ONLY 2 /* porovnava jenom cestu z Kolekci */ 52 /** Searched usage page must be prefix of the other one */ 53 #define USB_HID_PATH_COMPARE_BEGIN 8 54 /** Searched couple of usage page and usage can be anywhere in usage path */ 55 #define USB_HID_PATH_COMPARE_WHERE 16 56 /** 57 * TODO 58 * * porovnani zacatek - neni to to samy jako COLLECTION ONLY?? -- TEST 59 * * porovnani kdekoliv (jenom s delkou 1 at si to moc nekomplikujem) 60 */ 49 61 50 62 -
uspace/lib/usb/include/usb/classes/hidtypes.h
r3b5d5b9d r22ded10 165 165 /** */ 166 166 link_t link; 167 168 int in_delimiter; 167 169 } usb_hid_report_item_t; 168 170 -
uspace/lib/usb/src/hiddescriptor.c
r3b5d5b9d r22ded10 41 41 #include <assert.h> 42 42 43 44 #define OUTSIDE_DELIMITER_SET 0 45 #define START_DELIMITER_SET 1 46 #define INSIDE_DELIMITER_SET 2 47 43 48 /** The new report item flag. Used to determine when the item is completly 44 49 * configured and should be added to the report structure … … 267 272 return ENOMEM; 268 273 } 274 usb_hid_report_path_append_item(usage_path, 0, 0); 269 275 270 276 while(i<size){ … … 442 448 443 449 case USB_HID_REPORT_TAG_COLLECTION: 444 // TODO usage_path->flags = *data; 445 usb_hid_report_path_append_item(usage_path, report_item->usage_page, report_item->usages[report_item->usages_count-1]); 450 //TODO: usage_path->flags = *data; 451 452 usb_log_debug("APPENDED ITEM TO USAGE PATH (PAGE %d, USAGE %d\n", report_item->usage_page, report_item->usages[report_item->usages_count-1]); 453 usb_hid_print_usage_path(usage_path); 454 455 // set last item 456 usb_hid_report_set_last_item(usage_path, USB_HID_TAG_CLASS_GLOBAL, report_item->usage_page); 457 usb_hid_report_set_last_item(usage_path, USB_HID_TAG_CLASS_LOCAL, report_item->usages[report_item->usages_count-1]); 458 // append the new one which will be set by common 459 // usage/usage page 460 usb_hid_report_path_append_item(usage_path, report_item->usage_page, report_item->usages[report_item->usages_count-1]); 461 usb_hid_print_usage_path(usage_path); 462 446 463 usb_hid_report_reset_local_items (report_item); 447 464 return USB_HID_NO_ACTION; … … 579 596 break; 580 597 case USB_HID_REPORT_TAG_DELIMITER: 581 //report_item->delimiter = usb_hid_report_tag_data_uint32(data,item_size); 582 //TODO: 583 // DELIMITER STUFF 598 if (report_item->in_delimiter == OUTSIDE_DELIMITER_SET) { 599 report_item->in_delimiter = START_DELIMITER_SET; 600 } 601 else { 602 report_item->in_delimiter = OUTSIDE_DELIMITER_SET; 603 } 604 584 605 break; 585 606
Note:
See TracChangeset
for help on using the changeset viewer.