Index: uspace/lib/usb/src/hidparser.c
===================================================================
--- uspace/lib/usb/src/hidparser.c	(revision 730466363cef42e6be17822a4aea8c7fbcc1651e)
+++ uspace/lib/usb/src/hidparser.c	(revision 94c0dcbd441499cf014aa13e917026fc4a274c19)
@@ -175,5 +175,5 @@
 		if(report_item->usages_count > 0 && ((report_item->usage_minimum == 0) && (report_item->usage_maximum == 0))) {
 			uint32_t usage;
-			if(report_item->type == USB_HID_REPORT_TYPE_INPUT) {
+			if(report_item->type != USB_HID_REPORT_TYPE_INPUT) {
 				if(i < report_item->usages_count){
 					usage = report_item->usages[i];
@@ -193,7 +193,7 @@
 
 						
-			if((usage & 0xFF00) != 0){
+			if((usage & 0xFFFF0000) != 0){
 				field->usage_page = (usage >> 16);					
-				field->usage = (usage & 0xFF);
+				field->usage = (usage & 0xFFFF);
 			}
 			else {
