Building a universal keyboard adapter

Tony Duell ard at p850ug1.demon.co.uk
Tue Feb 8 16:36:31 CST 2005


> Where I'm having the most trouble, and will probably have to come up
> with my own solution, is in the keyboard interface.   Serial keyboards
> aren't much problem.  I've already got ADB, Sun and SGI protocol
> converters.  The bigger problems are matrix keyboards (which ususally
> have undocumented connectors).  I'm thinking about using a BASIC stamp
> to do the actual conversion from AT scan codes to whatever matrix the
> keyboard represents, but that would require external serial support

I've been thinking about this too. In particular I've been thinking about 
making an interface between the PC/AT keybaord and the HP9915 (HP85 in a 
metal case, used for control applications), since the official keyboard 
for the 9915 is very hard to find.

You need to simulate the matrix, but I think you only need to have one 
'switch' closed at once, at least in the case of the 9915 (shift, 
control, etc are not in the matrix). That means you can use a couple of 
analogue multiplexers to connect one row line to one column line (by 
using analogue muxes, it doesn't matter which of the row or column line 
sets is the output and which is the input). If you need to be able to 
have multiple 'switches' closed at the same time, you need to make a 
crosspoint switch -- I seem to rememebr there is a 4*4 crosspoint switch 
in the 4000 series CMOS databook, but whether you can still get it is 
another matter...

I don't use the BASIC stamp, sicne AFAIK the development tools are PC 
only. I'd probably use something like an 8051 derivative or a PIC 
microcontroller. The PC/AT keyboard interface is pretty well docuemnted, 
you need to make a look-up table in the micorcontoller's ROM to turn 
keycodes into the signals to drive the muxes/crosspoint array.

-tony




More information about the cctalk mailing list