Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ kernel/arch/amd64/src/amd64.c	(revision 3014e2b2dbd2a91eca5a7cd089b6f4e0352ffda0)
@@ -44,5 +44,6 @@
 #include <genarch/drivers/ega/ega.h>
 #include <arch/drivers/vesa.h>
-#include <genarch/kbd/i8042.h>
+#include <genarch/drivers/i8042/i8042.h>
+#include <genarch/kbrd/kbrd.h>
 #include <arch/drivers/i8254.h>
 #include <arch/drivers/i8259.h>
@@ -190,6 +191,13 @@
 {
 	devno_t devno = device_assign_devno();
-	/* keyboard controller */
-	(void) i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD);
+
+        /*
+	 * Initialize the keyboard module and conect it to stdin. Then
+	 * initialize the i8042 controller and connect it to kbrdin. Enable
+	 * keyboard interrupts.
+         */
+	kbrd_init(stdin);
+	(void) i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD, &kbrdin);
+	trap_virtual_enable_irqs(1 << IRQ_KBD);
 
 	/*
