Changes in uspace/lib/usbhid/src/hiddescriptor.c [5a6cc679:b7fd2a0] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhid/src/hiddescriptor.c
r5a6cc679 rb7fd2a0 176 176 177 177 if(report_item->usages_count > 0){ 178 usages = malloc(sizeof( uint32_t) * report_item->usages_count);178 usages = malloc(sizeof(int32_t) * report_item->usages_count); 179 179 memcpy(usages, report_item->usages, sizeof(int32_t) * 180 180 report_item->usages_count); … … 247 247 field->size = report_item->size; 248 248 249 field->offset = report_item->offset + (i * report_item->size); 249 if(report_item->type == USB_HID_REPORT_TYPE_INPUT) { 250 int offset = report_item->offset + report_item->size * i; 251 int field_offset = (offset/8)*8 + (offset/8 + 1) * 8 - 252 offset - report_item->size; 253 if(field_offset < 0) { 254 field->offset = 0; 255 } 256 else { 257 field->offset = field_offset; 258 } 259 } 260 else { 261 field->offset = report_item->offset + (i * report_item->size); 262 } 263 250 264 251 265 if(report->use_report_ids != 0) { … … 882 896 { 883 897 if(list == NULL || list_empty(list)) { 884 usb_log_debug("\tempty ");898 usb_log_debug("\tempty\n"); 885 899 return; 886 900 } … … 888 902 list_foreach(*list, ritems_link, usb_hid_report_field_t, 889 903 report_item) { 890 usb_log_debug("\t\tOFFSET: % u", report_item->offset);891 usb_log_debug("\t\tSIZE: %zu ", report_item->size);892 usb_log_debug("\t\tLOGMIN: %d ",904 usb_log_debug("\t\tOFFSET: %X\n", report_item->offset); 905 usb_log_debug("\t\tSIZE: %zu\n", report_item->size); 906 usb_log_debug("\t\tLOGMIN: %d\n", 893 907 report_item->logical_minimum); 894 usb_log_debug("\t\tLOGMAX: %d ",908 usb_log_debug("\t\tLOGMAX: %d\n", 895 909 report_item->logical_maximum); 896 usb_log_debug("\t\tPHYMIN: %d ",910 usb_log_debug("\t\tPHYMIN: %d\n", 897 911 report_item->physical_minimum); 898 usb_log_debug("\t\tPHYMAX: %d ",912 usb_log_debug("\t\tPHYMAX: %d\n", 899 913 report_item->physical_maximum); 900 usb_log_debug("\t\ttUSAGEMIN: %X ",914 usb_log_debug("\t\ttUSAGEMIN: %X\n", 901 915 report_item->usage_minimum); 902 usb_log_debug("\t\tUSAGEMAX: %X ",916 usb_log_debug("\t\tUSAGEMAX: %X\n", 903 917 report_item->usage_maximum); 904 usb_log_debug("\t\tUSAGES COUNT: %zu ",918 usb_log_debug("\t\tUSAGES COUNT: %zu\n", 905 919 report_item->usages_count); 906 920 907 usb_log_debug("\t\tVALUE: %X ", report_item->value);908 usb_log_debug("\t\ttUSAGE: %X ", report_item->usage);909 usb_log_debug("\t\tUSAGE PAGE: %X ", report_item->usage_page);921 usb_log_debug("\t\tVALUE: %X\n", report_item->value); 922 usb_log_debug("\t\ttUSAGE: %X\n", report_item->usage); 923 usb_log_debug("\t\tUSAGE PAGE: %X\n", report_item->usage_page); 910 924 911 925 usb_hid_print_usage_path(report_item->collection_path); 926 927 usb_log_debug("\n"); 912 928 } 913 929 } … … 927 943 list_foreach(report->reports, reports_link, 928 944 usb_hid_report_description_t, report_des) { 929 usb_log_debug("Report ID: %d ", report_des->report_id);930 usb_log_debug("\tType: %d ", report_des->type);931 usb_log_debug("\tLength: %zu ", report_des->bit_length);932 usb_log_debug("\tB Size: %zu ",945 usb_log_debug("Report ID: %d\n", report_des->report_id); 946 usb_log_debug("\tType: %d\n", report_des->type); 947 usb_log_debug("\tLength: %zu\n", report_des->bit_length); 948 usb_log_debug("\tB Size: %zu\n", 933 949 usb_hid_report_byte_size(report, 934 950 report_des->report_id, 935 951 report_des->type)); 936 usb_log_debug("\tItems: %zu ", report_des->item_length);952 usb_log_debug("\tItems: %zu\n", report_des->item_length); 937 953 938 954 usb_hid_descriptor_print_list(&report_des->report_items);
Note:
See TracChangeset
for help on using the changeset viewer.