Path: utzoo!mnetor!uunet!portal!atari!apratt From: apratt@atari.UUCP (Allan Pratt) Newsgroups: comp.sys.atari.st Subject: Re: st keyboard buffering Message-ID: <1059@atari.UUCP> Date: 9 May 88 17:51:29 GMT References: <480@philmds.UUCP> Organization: Atari Corp., Sunnyvale CA Lines: 24 From article <480@philmds.UUCP>, by leo@philmds.UUCP (Leo de Wit): >>> if (*(int *)(iop->ibuf + i) == CONTROLC) { > if (((*(int *)(iop->ibuf + i)) & 0xFF0000) == CONTROLC) > the ascii bindings may be changed by an xbios call, it's safer to use just > the scancode. But thanks for the correction, anyway! It is NOT safer to use the scan code, becuase the scan code for the ninth letter from the right of the next-to-bottom row of the keyboard is constant, while the position of the letter 'C' is not. INTERNATIONALIZE your programs. Don't make people hit ^B if that happens to be the key there. (I don't know if the letter C does, in fact, float...) Also note that European keyboards have a key (called the ISO key) between 'Z' and left-shift... The left-shift key is extra wide to cover this up on USA keyboards. That's why I didn't call the USA 'C' "the fourth key from the left." Use ASCII codes: check for ((value & 0x000000FFL) == 3). If your document says "^C," check this way. If your document says "^(ninth from right)" you should use the scan code. ============================================ Opinions expressed above do not necessarily -- Allan Pratt, Atari Corp. reflect those of Atari Corp. or anyone else. ...ames!atari!apratt