ATKEYB AT-KEYBOARD DRIVER FOR LUNIX
Version: 0.1
This new LUnix command 'atkeyb' is designed as a pipe-filter. Atkeyb
reads the keyboard by using the interface at the datasette port, and
directs the characters to its standard output. So, you can use it in a
very simple manner.
This version is not full-featured. You cannot select different keyboard
layouts, which changes country by country. You cannot choose the repeating
speed of the keys, and such. Actually this release of the atkeyb is to be
tested. Since LUnix is a multitasking environment, and keyboard operation
has to be atomic, I've faced kinds of timing problems. Also I cannot decide
how to map the cbm keyboard to the AT-keyboard, so you get this odd behaving
keyboard driver.
Altough this keyboard is somehow premature, it still has some good features
like non-shifted up and left cursor keys, stop keys (^c or break), scroll
lock key sends xoff and xon characters, (applications has to support this),
also you can terminate the atkeyb by pressing control-break. Alt keys mimic
the commodore key. You can get small letters while caps-lock active if you
press a shift key. But num-lock key has no effect, also if you have win95
keyboard your additional four keys are not mapped. Also another drawback
is that, I don't remember where some keys are. There are four scancode
tables to be used with different combinations, and I'm confused a little bit.
As a last note, I wanted to say that I wrote this document using atkeyb,
vdctty and ed on top of the LUnix kernel. The keyboard is a win95 type.
By the way if I can get enough time I'll rewrite this document to reflect
coding tricks of the atkeyb.
APPENDIX: BUILDING AT-KEYBOARD INTERFACE FOR C64:
===================================================
parts list
----------
. AT keyboard female connector. It has five ordered pin-holes.
. Datasette port connector. If you can't find, half of an user port conn is Ok.
. Some wire and a soldering iron...
front face views of the port and connector:
-------------------------------------------
Keyboard Connector:
-------------------
--v--
/ \
/ \
3 Io oI 1
\ o o /
5 \ o / 4
-----
2
Datasette Port:
---------------
A B C D E F
- -I- - - -
And the connections:
--------------------
A--4
B--5
D,E--1 clock line (D is used as an interrupt source)
F--2 data line
That's all for the hardware.
Ilker Ficicilar
filker@newton.physics.metu.edu.tr
c068214@orca.cc.metu.edu.tr
http://www.physics.metu.edu.tr/~filker/cbm.html
---