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