Index: uspace/drv/usbkbd/main.c
===================================================================
--- uspace/drv/usbkbd/main.c	(revision 692f13e4f75dab05af609f6220c92abfd06ba037)
+++ uspace/drv/usbkbd/main.c	(revision 82122f3318b0329d89c50e24444e185cd1fe9adb)
@@ -40,5 +40,5 @@
 #define NAME "usbkbd"
 
-static const usb_endpoint_t CONTROL_EP = 0;
+#define GUESSED_POLL_ENDPOINT 1
 
 /*
@@ -130,5 +130,5 @@
 
 	// default endpoint
-	kbd_dev->default_ep = CONTROL_EP;
+	kbd_dev->poll_endpoint = GUESSED_POLL_ENDPOINT;
 	
 	/*
@@ -178,8 +178,9 @@
 	usb_target_t poll_target = {
 		.address = kbd_dev->address,
-		.endpoint = kbd_dev->default_ep
+		.endpoint = kbd_dev->poll_endpoint
 	};
 
 	while (true) {
+		async_usleep(1000 * 1000);
 		rc = usb_drv_async_interrupt_in(kbd_dev->device->parent_phone,
 		    poll_target, buffer, BUFFER_SIZE, &actual_size, &handle);
Index: uspace/drv/usbkbd/usbkbd.ma
===================================================================
--- uspace/drv/usbkbd/usbkbd.ma	(revision 692f13e4f75dab05af609f6220c92abfd06ba037)
+++ uspace/drv/usbkbd/usbkbd.ma	(revision 82122f3318b0329d89c50e24444e185cd1fe9adb)
@@ -1,2 +1,4 @@
 10 usb&class=hid
+10 usb&class=HID
+10 usb&interface&class=HID
 10 usb&hid
