Date: Sun, 15 Jul 2001 21:34:43 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: matt AT conte DOT com Message-Id: <9003-Sun15Jul2001213443+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp AT delorie DOT com In-reply-to: <000a01c10d47$14145340$e33e1d18@nycap.rr.com> (matt@conte.com) Subject: Re: '9x and raise in interrupt service routines References: <001d01c10d33$d7e6b9c0$e33e1d18 AT nycap DOT rr DOT com> <3405-Sun15Jul2001183438+0300-eliz AT is DOT elta DOT co DOT il> <000a01c10d47$14145340$e33e1d18 AT nycap DOT rr DOT com> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: "Matthew Conte" > Date: Sun, 15 Jul 2001 11:59:05 -0400 > > > Why don't you simply chain to the previous keyboard handler? That > > would do what you want, and do it safely, because the previous handler > > is the one installed by the startup code, which generates SIGINT in > > any normal DJGPP application. > > yes, that does work. unfortunately, all keypresses get passed through > to the default handler, and i get that annoying "keyboard buffer > overflow" noise out of the pc-speaker. any way to disable this, yet > still allow CTRL-C/CTRL-BREAK to pass through? You have all the cards: just chain to the default handler only when Ctrl-C or Ctrl-BREAK was pressed. You can detect that using the same code as the default handler does (see the file src/libc/go32/exceptn.S in the djlsr203.zip archive). In a nutshell, it looks at the keyscan code and the shift byte in the BIOS area.