>From: "john huttley" <[EMAIL PROTECTED]>
>Date: Wed, 27 Oct 1999 21:09:47 +1300

>Concerning keyboard mapping,
>The PC keyboard sends a scancode when a key is pressed and the
>same code+128 when the key is released. This is mapped to the ascii

In rough approximation. It was on PC 83-key KB, and on PC/AT
84-key KB. Actually KB-s have over 100 keys, and they still
use same scancodes, with few exceptions. There is very little
new functionality (Windows keys) added, but there are several
keys which duplicate functionality of the others (additional
keypad between main keyboard and numeric keypad). They send
sequences which are recognized by PC not aware about these
new keys, but can be distinguished by newer ones. And these
sequences are much more complicated than your description.

And these scancodes we know, the rule (same code +128), are
not codes which KB-s send. It is yet another topic, but it
is irrelevant as far as we don't try to connect PC keyboard
to other machine and recognize what it sends. If I recall
correctly, break sends F0 followed by make code. On PC there
is a keyboard interface which converts codes...

> The catch is that when you first connect to a system the
> user must present a username and password,
> in ascii, and then enter a recognisable command at the shell prompt.
> Scancodes wont be acceptable there.
> Or will they?

I suppose it may depend on getty...
But a terminal might allow turning off the scancode mode for
few keypresses - is it switched by a command, or by hardware
switch? Can it be changed while terminal is powered up?

> Another possibility is to use wyse60 emulation and throw it in
> and out of PC-TERM mode using control codes. The old ms Word for
> SCO does this.  The catch with this is that sooner or later it will
> get out of sync and also how would you change VC's in that mode?

Maybe the proper way would be to make terminal sending scancodes
as escape sequences (like Esc nnn <terminator>, where nnn is the
scancode), which would be converted to normal characters unless
the application sets raw mode - then it would get them.
This feature should be controlled on terminal, so only when it
is switched on by user and application sets raw mode they can be
read to allow application get every scancode.

Jerzy

Reply via email to