Keybot – serial controllable keyboard interface


[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.)

Comments

  1. morcheeba says:

    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!

  2. Alex McCown says:

    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)

  3. Alex B says:

    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.

  4. ex-parrot says:

    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.

  5. tyler says:

    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.

  6. Luke says:

    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. :)

  7. Jozer says:

    Brings up the question:
    Can you write a program that will type itself in and compile itself without reference to its source code files?

  8. sqnewton says:

    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!

  9. Alex McCown says:

    USE transistors dumb ass

  10. kyle says:

    @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”

  11. azoore says:

    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.

    http://www.azoore.net/usbkbemu.html

  12. lain says:

    over-engineered.

  13. derek says:

    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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,534 other followers