[john] sent in his uncles Keybot project. The device accepts input (a parallel port in this case) and generates standard keyboard output. It allows a computer to create its keyboard input for itself or another machine. Personally, I go for serial consoles, but it’s a good study of our old friend the keyboard. (If legos are more your thing, you could do something like this.)
13 thoughts on “Keybot – Serial Controllable Keyboard Interface”
I remember back in the day, there was a product that you’d put over your electric typewriter and it would turn it in to a printer. It was like this except that instead of making electrical connections, it actually used 40-odd solenoids to depress the individual keys!
i made something like this awhile back but i used transistors instead of relays i used it to have a computer play css on the other comp ( it dident work out lol)
One might trade hardware complexity for firmware and use a microcontroller instead. It could interface directly with the PS/2 port and emulate a keyboard.
I agree. While this has a Rube Goldberg-esque charm, I think a more elegant solution would be to simply implement the (widely documented) PS/2 protocol on a microcontroller.
hmmm, this seems really interesting, as just a few months ago I was requested to rig a game to pause after 30 seconds, then restart. I thought about a micro sitting on the ps/2 line, but I wasn’t sure how hard that would be to create a passthrough.
I ended up just soldering to the keyboard’s controller, as it only needed to press 3 buttons – esc, right, enter.
I used some small reed-relays connected to the parallel port.
Maybe if my client wants it redone, i’ll look into using a microcontroller.
So, you definitely did this the hard way… The REALLY hard way.
If anyone else considers doing this, the easy way would be to buy one of any number of microcontroller demo boards that has both a USB and serial port.
And relays? Seriously? Come on, dude, you can do better than that. :)
Brings up the question:
Can you write a program that will type itself in and compile itself without reference to its source code files?
One little detail: the ‘snubber’ diodes connected to the relays on the schematic diagram are reversed. The Cathode should be connected to the positive side and the anode to the transistor/darlington. Nice work!
USE transistors dumb ass
@6: you probably want something like a quine:
“In computing, a quine is a program (a form of metaprogram) that produces its complete source code as its only output”
Nice implementation. I made something similar a while back using a USB PIC. The keystrokes are programmable through USB and stored in an external EEPROM. Delays can also be added to simulate real-time typing.
Cool. This reminds me of something similar, where a board with five switches rests at my feet. An arduino usb monitors and reports back to software the activities of the buttons, for doing various things – http://dmgaming.com/switchboard – it’s also nice bringing music controls outside the computer.
Windows XP has a feature called “serialkeys” which turns serial data into keystrokes, this is useful for using a microcontroller / external switches to play FPS games.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)