Subject: IKBD-Project
To: None <leo@wau.mis.ah.nl>
From: None <al@ssh.de>
List: port-atari
Date: 10/22/1997 18:50:04
Hi Leo!

> > After getting at about 3000 Lines of assembly it is time to
> > implement a kind of MF-2-Scancodemode!
> 
> Uhm, not being a keyboard expert, a stupid question arises ;-)
>     What is an  MF-2-Scancodemode?

It is a standard set of Scancode-generation which is used for
modern PC-keyboards (101/102 keys).
If you want to use a Win95-keyboard in order to have some META-keys,
there is no problem.
If you press or release a key on your keyboard some data will be sendet
to the IKBD (MAB8031).
If the IKBD has found the scancode for the CAPSLOCK-Key he will toggle the state
of the Capslock-LED. The Keyboard has no functionality which manages the LEDs.
So, if I speak of a MF-2-scancodemode, I mean that you will get not a ASCII, ANSI
or ISO -code corresponding to the pressed key. You will get a data-packeage with
following info: 
1. state of NUM/CAPS/SHIFT-Left/SHIFT-Right/CTRL/ALT/ALT-GR/SCROLL-LOCK/WIN95-keys
2. the Scancode of the pressed/released key.
Here it is absolutely uninteresting what the key is labeled.
The Scancode is the FIXED position on the keyboard, not the function.
Every national keyboard has his own layout but not his own Scancodes.
I have some lists with translation-tables (Scancode->Key-function).
For example: the scancode for the german 'Z' is the same scancode for the
american 'Y', because both are between the 'T' and the 'U'.
I will make a basic language-set and a Program which generates the
EPROM-image. (Then you only have to 'burn' it.)

> > Another feature will be a hotkey for switching the modes.
> 
> Be _very_ careful what key you pick here because that key will be unavailable
> for other purposes forever!

That's right. I will implement a way to change the defaultkey and turn
all non-standard functions seperatly off.

> 
> > The $F6-Package has a Sub-header, which identifies the kind of
> > STATUS-Report. Here I will implement different sub-headers for
> > transfering the original MF-2-Scancodes (Break/Make).
> > This Scancodes include the WIN95-keyboards!
> 
> This all sounds good, but I like to see at least a transparent pass-through
> mode. This mode allows you to add keyboard tables you didn't think of (or
> that just did not fit into the prom). For NetBSD, I think this would be the
> correct mode to use.

That's the described MF-2-Scancodemode!

 
> > The 64k-EPROM has enough space for about 50-60 different 
> > translation-tables. It is also possible to use a smaller EPROM.
> 
> Personally, I would keep the number of built-in tables to a bare minimum
> and allow tables to be loaded on demand.

There will be a IKBD-EPROM generator where you can decide which tables have to
be used (and of course the quantity or default tables...).

> 
> When all my keys produce on the some on the screen as what is printed on
> the key-caps, I will be a very happy man ;-) That is a small step toward
> perfection ;-))

That is what I want to get finaly.
For example it would be handy to have translation-table where PGUP/PGDOWN
produce SHIFT-UP/DOWN instead of CTRL-UP/DOWN.

> > After this project I have time to help you testing the NetBSD/atari 
> > 1.3-kernel.
> 
> Somewhere around Xmas? ;-)
> 
> Leo.

Hmm, I will do my best!


-- 
MfG Andre' Lange <al@ssh.de>
"...bin das Baby, Du musst mich lieb haben..."