Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version nyu B notes v1.5 12/10/84; site acf4.UUCP Path: utzoo!linus!philabs!cmcl2!acf4!tsc2597 From: tsc2597@acf4.UUCP (Sam Chin) Newsgroups: net.micro.pc Subject: Re: Questions on Interrupts and DOS Message-ID: <1050030@acf4.UUCP> Date: Wed, 8-May-85 18:11:00 EDT Article-I.D.: acf4.1050030 Posted: Wed May 8 18:11:00 1985 Date-Received: Fri, 10-May-85 09:05:22 EDT References: <79@tekig5.UUCP> Organization: New York University Lines: 21 <> >In addition, all the function keys, the unshifted keypad keys, and alt-key >combinations return an ascii value of 0. Their interpretation depends >exclusively upon the "extended" code returned in the ah register (in place >of their scan code). Thus, the only way to handle programs that have >special bells and whistles bound to specific PC keys is to create a >translate table that will take the output of your Dos 7/6 calls and >construct an IBM { scan code | extended code }, ascii value result. I'm not sure if the extended code is returned in the ah register but the standard way to read an extended code is to issue the read (function 1,6,7 or 8) again if the first result is 0. ie. if (0 == (c = getchar())) extended_code = getchar(); This is documented in the DOS 2.0 reference manual Appendix D-17 bottom note. Sam Chin allegra!cmcl2!acf4!tsc2597 tsc2597.acf4@nyu