Index: uspace/lib/usb/src/hidparser.c
===================================================================
--- uspace/lib/usb/src/hidparser.c	(revision 2f60e57de62931ac2568d3cc4757af6a827a6565)
+++ uspace/lib/usb/src/hidparser.c	(revision 6336b6ed30c5d3025044acbae3db2d8893acd20c)
@@ -35,4 +35,5 @@
 #include <usb/classes/hidparser.h>
 #include <errno.h>
+#include <stdio.h>
 
 /** Parse HID report descriptor.
@@ -120,11 +121,11 @@
 	item.logical_max = 255;
 
-	if(size != 8){
-		return -1;
+	if (size != 8) {
+		return ERANGE;
 	}
 
 	uint8_t keys[6];
-	for(i=item.offset; i<item.count; i++) {
-		keys[i-2] = data[i];
+	for (i = 0; i < item.count; i++) {
+		keys[i] = data[i + item.offset];
 	}
 
