Index: uspace/srv/hid/console/console.c
===================================================================
--- uspace/srv/hid/console/console.c	(revision 4f3f965940e579307e6112d4e795398b00737d2c)
+++ uspace/srv/hid/console/console.c	(revision f2f99aed0bc86b7a8fe3b5bb4754d25c62169247)
@@ -973,5 +973,5 @@
 	
 	/* Start fibril for checking on hot-plugged keyboards. */
-	check_new_devices_in_background(connect_keyboard, "keyboard");
+//	check_new_devices_in_background(connect_keyboard, "keyboard");
 	check_new_devices_in_background(connect_mouse, "mouse");
 	
Index: uspace/srv/hid/kbd/Makefile
===================================================================
--- uspace/srv/hid/kbd/Makefile	(revision 4f3f965940e579307e6112d4e795398b00737d2c)
+++ uspace/srv/hid/kbd/Makefile	(revision f2f99aed0bc86b7a8fe3b5bb4754d25c62169247)
@@ -62,4 +62,5 @@
 	ctl/apple.c \
 	ctl/gxe_fb.c \
+	ctl/kbdev.c \
 	ctl/pc.c \
 	ctl/stty.c \
Index: uspace/srv/hid/kbd/generic/kbd.c
===================================================================
--- uspace/srv/hid/kbd/generic/kbd.c	(revision 4f3f965940e579307e6112d4e795398b00737d2c)
+++ uspace/srv/hid/kbd/generic/kbd.c	(revision f2f99aed0bc86b7a8fe3b5bb4754d25c62169247)
@@ -239,6 +239,8 @@
 
 	/* Initialize port driver. */
-	if ((*kdev->port_ops->init)(kdev) != 0)
-		goto fail;
+	if (kdev->port_ops != NULL) {
+		if ((*kdev->port_ops->init)(kdev) != 0)
+			goto fail;
+	}
 
 	/* Initialize controller driver. */
@@ -307,6 +309,4 @@
 	kbd_add_dev(&ns16550_port, &sun_ctl);
 #endif
-	/* Silence warning on abs32le about kbd_add_dev() being unused */
-	(void) kbd_add_dev;
 }
 
@@ -319,5 +319,6 @@
 
 		/* Yield port */
-		(*kdev->port_ops->yield)();
+		if (kdev->port_ops != NULL)
+			(*kdev->port_ops->yield)();
 	}
 }
@@ -331,5 +332,6 @@
 
 		/* Reclaim port */
-		(*kdev->port_ops->reclaim)();
+		if (kdev->port_ops != NULL)
+			(*kdev->port_ops->reclaim)();
 	}
 }
@@ -355,4 +357,7 @@
 	/* Add legacy devices. */
 	kbd_add_legacy_devs();
+
+	/* Add kbdev device */
+	kbd_add_dev(NULL, &kbdev_ctl);
 
 	/* Initialize (reset) layout. */
Index: uspace/srv/hid/kbd/include/kbd_ctl.h
===================================================================
--- uspace/srv/hid/kbd/include/kbd_ctl.h	(revision 4f3f965940e579307e6112d4e795398b00737d2c)
+++ uspace/srv/hid/kbd/include/kbd_ctl.h	(revision f2f99aed0bc86b7a8fe3b5bb4754d25c62169247)
@@ -50,4 +50,5 @@
 extern kbd_ctl_ops_t apple_ctl;
 extern kbd_ctl_ops_t gxe_fb_ctl;
+extern kbd_ctl_ops_t kbdev_ctl;
 extern kbd_ctl_ops_t pc_ctl;
 extern kbd_ctl_ops_t stty_ctl;
