Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!uunet!mcsun!unido!rwthinf!cip-s01!roeve From: roeve@cip-s01.informatik.rwth-aachen.de (Michael Roevenich) Newsgroups: comp.binaries.ibm.pc.d Subject: Re: ms_sh-1.6.4 question (^P for Previous) Message-ID: Date: 30 Jan 91 08:33:40 GMT References: <2034@odin.cs.hw.ac.uk> <40486@genrad.UUCP> Sender: news@rwthinf.UUCP Lines: 42 jpn@genrad.com (John P. Nelson) writes: >>>It seems to me that ms_sh tries to start echoing stuff to the printer >>>on a ^P, even if I use it for something else in the sh.ini file. Is >>>there a way to use ^P for Previous? Please don't suggest binding... >> >>I've found this problem too. Some bit of DOS (probably deep down in the >>BIOS) intercepts ^S, ^P & ^N which is a bit of a pain for us Emacs/tcsh >>addicts who keep turning the printer echo on when we hit ^P or ^N. >No, it isn't the BIOS doing ^P and ^S processing (I don't think ^N does >anything, does it?), it is the DOS CON: driver. There are two very simple >ways for a programmer to avoid this effect: #1: instead of asking DOS >for input characters, you can use the BIOS functions to read the keyboard >(Actually, certain DOS functions will bypass the ^P ^S processing, too). >#2, the special processing can be disabled by using the MSDOS "IOCTL" >function: IOCTL can be used to put the console into RAW mode, so it >won't do any special processing of input characters. >If someone's emacs or communications program is using the COOKED DOS >input functions to get keyboard data, then that program is BUGGY, and >should be FIXED. Unfortunately, you're not quite right. I wrote a keyboard driver some time ago and did some snooping in the way KEYB handles certain Controls. Some keypresses are directly handled by the INT9-driver, which means, they are transferred directly to the BIOS. These are PrtScr, Pause, some others (I can't remember at the moment all of them), and Ctrl-P, which initiates Printer-Echoing. I'm not sure at the moment whether the keyboard-driver passes the scan-Codes of those keys onto the INT16-handler or into the buffer... you might have to mangle with the INT9-driver itself to solve your emacs-problem. Greetings from FRG Michael Roevenich Internet: roeve@rwthi3.informatik.rwth-aachen.de UUCP: ...unido!rwthi3!roeve FIDO: 2:242/42.1 (Michael Roevenich)