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
ilkerf@geocities.com
filker@newton.physics.metu.edu.tr
c068214@metu.edu.tr

---