Hello Ben & Adrian, Sorry I can't quote but here's my 2 cents worth. Ben is right, John Dybowski's two-part article is very thorough although part 2 tacks on a desccription of how to fake your PC into thinking it is getting keystrokes when in fact it is really reading a Dallas Semi. Touch Memory. A bit too convoluted. A shorter route might be the following (although I highly recommend reading Dybowski if you have access to back issues of CC Ink): (1) find just about any edition of Peter Norton's Programmer's Guide to the IBM PC and pull a xerox of Chapter Six, "Keyboard Basics" and, maybe Chapter Eleven, as well. These will demystify scan codes. Scan codes are nothing new. Every matrix scanned keyboard emits scan codes, which are translated into more civilized and useful codes like USASCII. It's just that IBM decided that you need two for each key: one for the downstroke and one for the upstroke, which most programs I've seen just throw away. A second and ultimately more useful source is Philips Semiconductor's application note AN434, which shows you how to kludge a simple electrical and software interface a la I2C with an additional line for data to/from the keyboard. (Don't let the I2C part scare you: it's basically just a synchronous serial link. Philips is just pushing I2C.) Electrically you need any two bidirectional pins on a PIC, two diodes, and two pull-ups, power, and ground. Something like this: PIC pin* ------>|---------- Keyboard Clock (pin 5)** PIC pin* ------>|---------- Keyboard Data (pin 3)** +5V ------------------ Keyboard Vcc (pin 2)** DC Rtn ------------------ Keyboard GND (pin 4)** * You need a 10K ohm pull-up on the PIC side of the diode ( --->|--- this thing). ** You can also control the keyboards RESET (pin 1), or leave it disconnected. The keyboard resets itself at power up. The pin numbers shown are from AN434. Alway double check. They are for the standard big old 5-pin connector. (The PS/2 has a 6th pin that's not used, I don't know if the pinout is the same.) Please take all this with a large grain of something medicinal as I left my glasses upstairs! Hope this helps. If you have trouble finding this stuff, give me a shout at deberl@localnet.com along with your mailing address. It's not at all hard to interface any of the matrix-only $10 keyboards with a from mux/demux. Don Lancaster shows how in his CMOS Cookbook. I prefer the way they did it in the Otrona Attache (a CP/M machine I wish was before my time). Actually, two 4051 counting up off of six pins of a PIC will do just fine (8 x 8 = 1 of 64 scan codes each time a key is pressed). You need an additional line to the pick for keypress, etc. Actually, this could be made even simpler - 2 lines from the PIC with a 3rd or 4th for SHIFT and CTRL if you want. Hope this helps. Nice lose my "lurker" status and finally contribute something to this SIG. Dennis Eberl Amherst, NY VOX: (716) 691-9232 FAX: (716) 564-1709 net: deberl@localnet.com