Index: uspace/lib/usb/src/hidparser.c
===================================================================
--- uspace/lib/usb/src/hidparser.c	(revision e0ba26baffd607ec49b265ed69bf2ca065e113c0)
+++ uspace/lib/usb/src/hidparser.c	(revision a09128cbdc117aa1c1d8c76b2386e2286ec0ef82)
@@ -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];
 	}
 
