Changes in uspace/lib/usbhid/src/hiddescriptor.c [e0a5d4c:b7fd2a0] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhid/src/hiddescriptor.c
re0a5d4c rb7fd2a0 1 1 /* 2 2 * Copyright (c) 2011 Matej Klonfar 3 * Copyright (c) 2018 Ondrej Hlavaty4 3 * All rights reserved. 5 4 * … … 177 176 178 177 if(report_item->usages_count > 0){ 179 usages = malloc(sizeof( uint32_t) * report_item->usages_count);178 usages = malloc(sizeof(int32_t) * report_item->usages_count); 180 179 memcpy(usages, report_item->usages, sizeof(int32_t) * 181 180 report_item->usages_count); … … 248 247 field->size = report_item->size; 249 248 250 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 251 264 252 265 if(report->use_report_ids != 0) { … … 883 896 { 884 897 if(list == NULL || list_empty(list)) { 885 usb_log_debug("\tempty ");898 usb_log_debug("\tempty\n"); 886 899 return; 887 900 } … … 889 902 list_foreach(*list, ritems_link, usb_hid_report_field_t, 890 903 report_item) { 891 usb_log_debug("\t\tOFFSET: % u", report_item->offset);892 usb_log_debug("\t\tSIZE: %zu ", report_item->size);893 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", 894 907 report_item->logical_minimum); 895 usb_log_debug("\t\tLOGMAX: %d ",908 usb_log_debug("\t\tLOGMAX: %d\n", 896 909 report_item->logical_maximum); 897 usb_log_debug("\t\tPHYMIN: %d ",910 usb_log_debug("\t\tPHYMIN: %d\n", 898 911 report_item->physical_minimum); 899 usb_log_debug("\t\tPHYMAX: %d ",912 usb_log_debug("\t\tPHYMAX: %d\n", 900 913 report_item->physical_maximum); 901 usb_log_debug("\t\ttUSAGEMIN: %X ",914 usb_log_debug("\t\ttUSAGEMIN: %X\n", 902 915 report_item->usage_minimum); 903 usb_log_debug("\t\tUSAGEMAX: %X ",916 usb_log_debug("\t\tUSAGEMAX: %X\n", 904 917 report_item->usage_maximum); 905 usb_log_debug("\t\tUSAGES COUNT: %zu ",918 usb_log_debug("\t\tUSAGES COUNT: %zu\n", 906 919 report_item->usages_count); 907 920 908 usb_log_debug("\t\tVALUE: %X ", report_item->value);909 usb_log_debug("\t\ttUSAGE: %X ", report_item->usage);910 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); 911 924 912 925 usb_hid_print_usage_path(report_item->collection_path); 926 927 usb_log_debug("\n"); 913 928 } 914 929 } … … 928 943 list_foreach(report->reports, reports_link, 929 944 usb_hid_report_description_t, report_des) { 930 usb_log_debug("Report ID: %d ", report_des->report_id);931 usb_log_debug("\tType: %d ", report_des->type);932 usb_log_debug("\tLength: %zu ", report_des->bit_length);933 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", 934 949 usb_hid_report_byte_size(report, 935 950 report_des->report_id, 936 951 report_des->type)); 937 usb_log_debug("\tItems: %zu ", report_des->item_length);952 usb_log_debug("\tItems: %zu\n", report_des->item_length); 938 953 939 954 usb_hid_descriptor_print_list(&report_des->report_items);
Note:
See TracChangeset
for help on using the changeset viewer.