Index: kbd/arch/ia32/src/kbd.c
===================================================================
--- kbd/arch/ia32/src/kbd.c	(revision d3f2cad4e681c4b9b6a60f7769173df90c630006)
+++ kbd/arch/ia32/src/kbd.c	(revision e8d77a4d0bf07634938ef62870d2e5ea4a280f4d)
@@ -146,5 +146,5 @@
 static int sc_secondary_map[] = {
 	SPECIAL, /* 0x00 */
-	SPECIAL, /* 0x01 - Esc */
+	0x1b, /* 0x01 - Esc */
 	'!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+',
 	SPECIAL, /* 0x0e - Backspace */
@@ -258,4 +258,18 @@
 	int letter = 0;
 
+	static int esc_count=0;
+
+	
+	if ( key == SC_ESC ) {
+		esc_count++;
+		if ( esc_count == 3 ) {
+			__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE);
+		}	
+	} else {
+		esc_count=0;
+	}
+	
+	
+
 	switch (key) {
 		case SC_LSHIFT:
Index: kbd/arch/mips32/src/kbd.c
===================================================================
--- kbd/arch/mips32/src/kbd.c	(revision d3f2cad4e681c4b9b6a60f7769173df90c630006)
+++ kbd/arch/mips32/src/kbd.c	(revision e8d77a4d0bf07634938ef62870d2e5ea4a280f4d)
@@ -260,4 +260,8 @@
 	//return 1;
 	
+	
+	if ( scan_code == '\r' )
+		scan_code = '\n' ;
+	
 	buf|=((unsigned long) scan_code)<<(8*(count++));
 	
