diff options
Diffstat (limited to 'src/cmd/9term/9term.c')
-rw-r--r-- | src/cmd/9term/9term.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index 469aea46..51e733ab 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -879,6 +879,20 @@ key(Rune r) return; } + switch(r) { + case 0x03: /* ^C: send interrupt */ + case 0x7F: /* DEL: send interrupt */ + t.qh = t.q0 = t.q1 = t.nr; + show(t.q0); +{int x; x=tcgetpgrp(rcfd); +print("postnote %d pgrp %d\n", rcpid, x); + postnote(PNGROUP, x, "interrupt"); +if(x >= 2) killpg(x, 2); +} + // write(rcfd, "\x7F", 1); + return; + } + if(rawon() && t.q0==t.nr){ addraw(&r, 1); consread(); @@ -898,12 +912,6 @@ key(Rune r) snarf(); switch(r) { - case 0x03: /* ^C: send interrupt */ - case 0x7F: /* DEL: send interrupt */ - t.qh = t.q0 = t.q1 = t.nr; - show(t.q0); - write(rcfd, "\x7F", 1); - break; case 0x06: /* ^F: file name completion */ case Kins: /* Insert: file name completion */ rp = namecomplete(); |