From 3adc415471c8b53ef024cde0846c206372cbf04e Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Sun, 20 Sep 2009 23:09:59 -0400 Subject: Hack to make newlines on the serial port work --- console.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'console.c') diff --git a/console.c b/console.c index 0613a47..f7a6590 100644 --- a/console.c +++ b/console.c @@ -205,6 +205,9 @@ consoleintr(int (*getc)(void)) break; default: if(c != 0 && input.e-input.r < INPUT_BUF){ + // The serial port produces 0x13, not 0x10 + if(c == '\r') + c = '\n'; input.buf[input.e++ % INPUT_BUF] = c; consputc(c); if(c == '\n' || c == C('D') || input.e == input.r+INPUT_BUF){ -- cgit v1.2.3 From 29d8c2eebbce0274a50558bffc94099083a2cb16 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Wed, 30 Sep 2009 22:32:50 -0400 Subject: Handle backspace on serial input and output better. Better solutions are welcome. --- console.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'console.c') diff --git a/console.c b/console.c index f7a6590..16d0e7a 100644 --- 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); -- cgit v1.2.3