From 5b3a5232d11e87a5526bc3a195ffe9c1fcf8c76a Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Thu, 30 Mar 1995 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1995-03-30 --- pc/kbd.c | 10 +++++++++- port/devns16552.c | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pc/kbd.c b/pc/kbd.c index 93cea3622a130f9979b0ced18e74e26dcb6dd159..55f046fb04dcb2e5575cc29616fdbc5e408d2c10 100644 --- a/pc/kbd.c +++ b/pc/kbd.c @@ -375,6 +375,7 @@ kbdintr(Ureg *ur, void *arg) static int ctl; static int num; static int collecting, nk; + static int alt; static uchar kc[5]; int keyup; @@ -438,6 +439,9 @@ kbdintr(Ureg *ur, void *arg) */ if(keyup){ switch(c){ + case Latin: + alt = 0; + break; case Shift: mouseshifted = shift = 0; break; @@ -452,8 +456,11 @@ kbdintr(Ureg *ur, void *arg) * normal character */ if(!(c & Spec)){ - if(ctl) + if(ctl){ + if(alt && c == Del) + exit(0); c &= 0x1f; + } if(!collecting){ kbdputc(kbdq, c); return; @@ -482,6 +489,7 @@ kbdintr(Ureg *ur, void *arg) mouseshifted = shift = 1; return; case Latin: + alt = 1; collecting = 1; nk = 0; return; diff --git a/port/devns16552.c b/port/devns16552.c index 60eca811ea2f47dc3da098d0a638b12eb7e7abd7..f2d2e8aa85a738c647e47097b189a7afdd023d25 100644 --- a/port/devns16552.c +++ b/port/devns16552.c @@ -332,6 +332,11 @@ ns16552enable(Uart *p) p->cts = 1; p->blocked = 0; + /* + * set baud rate to the last used + */ + ns16552setbaud(p, p->baud); + lock(&uartalloc); for(l = &uartalloc.elist; *l; l = &(*l)->elist){ if(*l == p)