Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision 149d14e522aa5c449b696ad4420f3caa33ca9b8e)
+++ kernel/arch/amd64/src/amd64.c	(revision d797054cdc54aa797b379a8dad9eefeafc99acf6)
@@ -198,8 +198,13 @@
 	 * module and connect it to i8042. Enable keyboard interrupts.
 	 */
-	indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
-	if (kbrdin) {
-		kbrd_init(kbrdin);
-		trap_virtual_enable_irqs(1 << IRQ_KBD);
+	i8042_instance_t *i8042_instance = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
+	if (i8042_instance) {
+		kbrd_instance_t *kbrd_instance = kbrd_init();
+		if (kbrd_instance) {
+			indev_t *sink = stdin_wire();
+			indev_t *kbrd = kbrd_wire(kbrd_instance, sink);
+			i8042_wire(i8042_instance, kbrd);
+			trap_virtual_enable_irqs(1 << IRQ_KBD);
+		}
 	}
 	
