Index: uspace/lib/usb/src/hidparser.c
===================================================================
--- uspace/lib/usb/src/hidparser.c	(revision a66225f339a670fa920a5602817f6be2c91161db)
+++ uspace/lib/usb/src/hidparser.c	(revision 8e8289d41407be1762a11fcd67b5128e6c5e26ce)
@@ -40,8 +40,9 @@
  * @param parser Opaque HID report parser structure.
  * @param data Data describing the report.
+ * @param size Size of the descriptor in bytes.
  * @return Error code.
  */
 int usb_hid_parse_report_descriptor(usb_hid_report_parser_t *parser, 
-    const uint8_t *data)
+    const uint8_t *data, size_t size)
 {
 	return ENOTSUP;
@@ -54,4 +55,5 @@
  * @param parser Opaque HID report parser structure.
  * @param data Data for the report.
+ * @param size Size of the data in bytes.
  * @param callbacks Callbacks for report actions.
  * @param arg Custom argument (passed through to the callbacks).
@@ -59,8 +61,20 @@
  */
 int usb_hid_parse_report(const usb_hid_report_parser_t *parser,  
-    const uint8_t *data,
+    const uint8_t *data, size_t size,
     const usb_hid_report_in_callbacks_t *callbacks, void *arg)
 {
-	return ENOTSUP;
+	int i;
+	
+	// TODO: parse report
+	
+	uint16_t keys[6];
+	
+	for (i = 0; i < 6; ++i) {
+		keys[i] = data[i];
+	}
+	
+	callbacks->keyboard(keys, 6, arg);
+	
+	return EOK;
 }
 
Index: uspace/lib/usb/src/usbdrvreq.c
===================================================================
--- uspace/lib/usb/src/usbdrvreq.c	(revision a66225f339a670fa920a5602817f6be2c91161db)
+++ uspace/lib/usb/src/usbdrvreq.c	(revision 8e8289d41407be1762a11fcd67b5128e6c5e26ce)
@@ -162,5 +162,5 @@
 		.request = USB_DEVREQ_GET_DESCRIPTOR,
 		.index = 0,
-		.length = sizeof(usb_standard_device_descriptor_t)
+		.length = sizeof(usb_standard_configuration_descriptor_t)
 	};
 	setup_packet.value_high = USB_DESCTYPE_CONFIGURATION;
@@ -225,5 +225,5 @@
 		.request = USB_DEVREQ_GET_DESCRIPTOR,
 		.index = 0,
-		.length = sizeof(usb_standard_device_descriptor_t)
+		.length = buffer_size
 	};
 	setup_packet.value_high = USB_DESCTYPE_CONFIGURATION;
