]> Devi Nivas Git - cs3210-lab0.git/commitdiff
Handle backspace on serial input and output better. Better solutions are welcome.
authorAustin Clements <amdragon@mit.edu>
Thu, 1 Oct 2009 02:32:50 +0000 (22:32 -0400)
committerAustin Clements <amdragon@mit.edu>
Thu, 1 Oct 2009 02:32:50 +0000 (22:32 -0400)
console.c

index f7a6590b653edade1fa8669df9a50b31be81255c..16d0e7a1b0e0c8dad1afa9bddd9847e64d08a8e0 100644 (file)
--- a/console.c
+++ b/console.c
@@ -163,7 +163,12 @@ consputc(int c)
       ;
   }
 
-  uartputc(c);
+  if (c == BACKSPACE) {
+    uartputc('\b');
+    uartputc(' ');
+    uartputc('\b');
+  } else
+    uartputc(c);
   cgaputc(c);
 }
 
@@ -198,6 +203,7 @@ consoleintr(int (*getc)(void))
       }
       break;
     case C('H'):  // Backspace
+    case '\x7f':
       if(input.e != input.w){
         input.e--;
         consputc(BACKSPACE);