Index: uspace/drv/uhci-hcd/main.c
===================================================================
--- uspace/drv/uhci-hcd/main.c	(revision dde8ca4aa0fdb0d8dd1274785cfc24b84af2b1e9)
+++ uspace/drv/uhci-hcd/main.c	(revision 7ac73a4b0be58a18822a76290c8e2578cbc50448)
@@ -158,5 +158,5 @@
 {
 	sleep(3);
-	usb_log_enable(USB_LOG_LEVEL_DEBUG, NAME);
+	usb_log_enable(USB_LOG_LEVEL_INFO, NAME);
 
 	return ddf_driver_main(&uhci_driver);
Index: uspace/drv/usbhid/kbddev.c
===================================================================
--- uspace/drv/usbhid/kbddev.c	(revision dde8ca4aa0fdb0d8dd1274785cfc24b84af2b1e9)
+++ uspace/drv/usbhid/kbddev.c	(revision 7ac73a4b0be58a18822a76290c8e2578cbc50448)
@@ -38,4 +38,5 @@
 #include <str_error.h>
 #include <fibril.h>
+#include <stdio.h>
 
 #include <io/keycode.h>
@@ -62,4 +63,5 @@
 static const size_t BOOTP_BUFFER_SIZE = 8;
 static const size_t BOOTP_BUFFER_OUT_SIZE = 1;
+static const uint8_t IDLE_RATE = 125;
 
 /** Keyboard polling endpoint description for boot protocol class. */
@@ -228,11 +230,5 @@
 
 	if (mod_mask != 0) {
-		usb_log_debug2("\n\nChanging mods and lock keys\n");
-		usb_log_debug2("\nmods before: 0x%x\n", kbd_dev->mods);
-		usb_log_debug2("\nLock keys before:0x%x\n\n", 
-		    kbd_dev->lock_keys);
-		
 		if (type == KEY_PRESS) {
-			usb_log_debug2("\nKey pressed.\n");
 			/*
 			 * Only change lock state on transition from released
@@ -247,12 +243,8 @@
  			usbhid_kbd_set_led(kbd_dev);
 		} else {
-			usb_log_debug2("\nKey released.\n");
 			kbd_dev->lock_keys = kbd_dev->lock_keys & ~mod_mask;
 		}
 	}
 
-	usb_log_debug2("\n\nmods after: 0x%x\n", kbd_dev->mods);
-	usb_log_debug2("\nLock keys after: 0x%x\n\n", kbd_dev->lock_keys);
-	
 	if (key == KC_CAPS_LOCK || key == KC_NUM_LOCK || key == KC_SCROLL_LOCK) {
 		// do not send anything to the console, this is our business
@@ -281,8 +273,4 @@
 	ev.key = key;
 	ev.mods = kbd_dev->mods;
-	
-	if (ev.mods & KM_NUM_LOCK) {
-		usb_log_debug("\n\nNum Lock turned on.\n\n");
-	}
 
 	ev.c = layout[active_layout]->parse_ev(&ev);
@@ -389,11 +377,21 @@
 		}
 	}
+//	// report all currently pressed keys
+//	for (i = 0; i < kbd_dev->keycode_count; ++i) {
+//		if (key_codes[i] != 0) {
+//			key = usbhid_parse_scancode(key_codes[i]);
+//			usb_log_debug2("\nKey pressed: %d (keycode: %d)\n", key,
+//			    key_codes[i]);
+//			usbhid_kbd_push_ev(kbd_dev, KEY_PRESS, key);
+//		}
+//	}
 	
 	memcpy(kbd_dev->keycodes, key_codes, kbd_dev->keycode_count);
 	
-	usb_log_debug2("\nNew stored keycodes: ");
+	char *kc = (char *)malloc(kbd_dev->keycode_count * 4 + 1);
 	for (i = 0; i < kbd_dev->keycode_count; ++i) {
-		usb_log_debug2("%d ", kbd_dev->keycodes[i]);
-	}
+		snprintf(kc + (i * 4), 5, "%4d", key_codes[i]);
+	}
+	usb_log_debug("New stored keycodes: %s\n", kc);
 }
 
@@ -410,14 +408,14 @@
 		return;
 	}
-
-	usb_log_debug2("Got keys from parser: ");
-	unsigned i;
-	for (i = 0; i < count; ++i) {
-		usb_log_debug2("%d ", key_codes[i]);
-	}
-	usb_log_debug2("\n");
 	
 	usbhid_kbd_t *kbd_dev = (usbhid_kbd_t *)arg;
 	assert(kbd_dev != NULL);
+
+	unsigned i;
+	char *kc = (char *)malloc(kbd_dev->keycode_count * 4 + 1);
+	for (i = 0; i < kbd_dev->keycode_count; ++i) {
+		snprintf(kc + (i * 4), 5, "%4d", key_codes[i]);
+	}
+	usb_log_debug("Got keys from parser: %s\n", kc);
 	
 	if (count != kbd_dev->keycode_count) {
@@ -446,5 +444,5 @@
 	//usb_hid_parse_report(kbd_dev->parser, buffer, actual_size, callbacks, 
 	//    NULL);
-	/*usb_log_debug2("Calling usb_hid_boot_keyboard_input_report() with size"
+	/*//usb_log_debug2("Calling usb_hid_boot_keyboard_input_report() with size"
 	    " %zu\n", actual_size);*/
 	//dump_buffer("bufffer: ", buffer, actual_size);
@@ -559,4 +557,5 @@
 	 * Set boot protocol.
 	 * Set LEDs according to initial setup.
+	 * Set Idle rate
 	 */
 	assert(kbd_dev->hid_dev != NULL);
@@ -565,4 +564,6 @@
 	
 	usbhid_kbd_set_led(kbd_dev);
+	
+	usbhid_req_set_idle(kbd_dev->hid_dev, IDLE_RATE);
 	
 	kbd_dev->initialized = 1;
Index: uspace/drv/usbhid/main.c
===================================================================
--- uspace/drv/usbhid/main.c	(revision dde8ca4aa0fdb0d8dd1274785cfc24b84af2b1e9)
+++ uspace/drv/usbhid/main.c	(revision 7ac73a4b0be58a18822a76290c8e2578cbc50448)
@@ -80,5 +80,5 @@
 int main(int argc, char *argv[])
 {
-	usb_log_enable(USB_LOG_LEVEL_INFO, NAME);
+	usb_log_enable(USB_LOG_LEVEL_DEBUG, NAME);
 	return ddf_driver_main(&kbd_driver);
 }
