Instructables
Picture of Hacking a USB Keyboard
How to hack a USB keyboard or any keyboard for that matter. Send inputs into the computer without a pesky microcontroller.
 
Remove these adsRemove these ads by Signing Up

Step 1: Open up the keyboard

Picture of Open up the keyboard
Open up the case. You can use a screwdriver or an any ridiculous looking multi-purpose tool. Sometimes even after all the screws are removed the keyboard still won't open up. In this situation, don't worry, just forcefully pry the case apart with your screwdriver. It doesn't matter if you break the case. You don't really need it.
1-40 of 168Next »
ricardopalmieri made it!7 months ago

the main trick for was: fix all cables using hot-glue, sand a little bit the connectors on the board, and to solder, just keep the iron over the contacts and over the cable: just a quick touch with the solder metal and "voila"! after, i have fixed all the contacts with hot-glue, just to avoid mess. thank you by the tips!

1538765_10152462319348465_3985727308828795865_n.jpg
thomkrauss3 years ago
So another question...
Basically I'm using this hack to control an electronic drum set that I'm trying to make using the alphabet characters as triggers. The program I'm going to use seems to allow simultaneous hits.
My question: How do I wire it so that one button will trigger two different letters at the same time? My thinking is that if I wire two letters together, the board will be confused, this sending the wrong signal or no signal at all.
Can anyone explain what should happen? I'd like to address this before I try to build this and see that it doesn't work.
Thanks!
randofo (author)  thomkrauss3 years ago
Most keys cannot be pressed at the same time. There are a few exceptions though, which include 'shift', 'option' and 'control' (for example). You will need to experiment with the special function keys to get the ascii combinations that you need.
This is actually a limitation of those plastic sheets, if you wire directly to the controller you won't encounter this problem.
poita randofo3 years ago
Thank's dude that's an awesome instructable. I just found this site and haven't joined for full access yet so I copied andpasted it all into ms word.

I use a music playing program on my pc called 'HappyEO'. It let's me press mulitple keys at the same time to play chords etc.
On a related note. When I the program on some computers I get a delay when i press a key. I was using it on my 7 year old computer running XP and it was instant. When i installed it on my friends pc with windows 7 I got the delay from when I pressed a key to hearing the note. same on laptops running Vista and recently on a laptop runnin XP. Do you think it's something to do with the secrurity software that might be on the pc's?
Well I got lucky! I was able to tweak the free program that I'm going to use to produce the drum sounds. I was able to record the sound of the kick and crash together on a free audio recording program and then save as a wav file and map a keyboard character to that new recorded sound. I'll then just connect my button to that new letter.
Thanks for giving me the need to keep looking for an answer!
You can type multiple keys at one time, but it has limitations. Some key combinations will not work. If you are doing simple drum patterns it might work if you tested different combinations of keys. I have tried playing 3 note polyphony, and it works to a certain extent, so yes it can play polyphony, but it's tricky.
What you should do is download MAX/MSP, the demo version, and try programming it to play drums with your keyboard. Then when you have found the keys that work together, you can use those. Let me know if you need help. I can help you with the MAX/MSP, and I can help you with hacking the keyboard, done both. I'm still learning about the keyboard hack. Your drum project is fairly straightforward, and can be done with MAX/MSP.
baneat1 year ago
Very impressive modification.
cspoelstra3 years ago
Thanx man, I was wondering for a wile to make such a thing as a cheap replacement for a midi controller for my DJ setup.. How about the switches you can use, is there an resistance problem ?
I'm just curious. What kind of control did you need? Do you play chords, use arpeggiators, or use midi controller to enter notes, or are you talking about sending control messages? I'm not sure how a keyboard could help with that. I am using MAX/MSP in my project, and I'm entering chords and outputting MIDI from MAX/MSP.
Hey!

I was looking for something I could use besides my mixer and CDJ's thad can control effect of just navigation through the software I use on my laptop.
I've made a system pretty much the same as you described adding some momentarily buttons and some switches. (I'll send a picture whit the massage) It was originally mend to be used as some kind of prototype so if I liked it I could change the electronics...but I did quit some gigs whit it now and it seems to hold up so far :P
2012-01-25 19.03.58.jpg2012-01-25 19.04.08.jpg2012-03-23 16.19.27.jpg2012-04-25 11.55.47.jpgIMG_7642.JPGIMG_7644.JPGIMG_7652.JPG2012-04-26 01.37.26.jpg
i have a usb keyboard and have tried to solder wires on but the contacts are like half a millimeter apart i am using a 12 watt soldering iron and i am neat at soldering
Try this. Drill tiny holes in a piece of wood, or plastic. Or if you have access to a laser cutter cut holes in acrylic. That's how I did it. Let me know if you need help.
Try using just a little less solder. I've found that to be very useful.
Thank,s it worked very well and i went on to mod a wireless one and made a controller
what is the prime use for this?
There are many things you can do. You can make your own video game controller keyboard, or make an ergonomic keyboard. Experimentation with different ways of inputting keys. Or even make a musical instrument. My motivation was to make a musical instrument.
2
harmono2 years ago
I am in the process of hacking a keyboard. The key layout looks similar to the grid, so they might be fairly standardized. Unfortunately I need lost more variety, so I am going to have to make a grid that includes things like Page Up, Page Down.
I created a special jig from acrylic using a laser cutter. I needed something to hold the wires in place, because I wanted to solder them all at one time. That didn't work, so I'm going to try a different approach. I want to be able to repeat this multiple times. I used a grey computer ribbon cable and soldered the wires directly to the board. The gray ribbon cable then goes to a connector that connects to a veroboard. Then I soldered rainbow wire to the veroboard. That's where I am right now. I'm going to use VB.NET or MAX/MSP to help me map the keys, because I need to see how the circuit works. Tracing the connections only shows what is there by design, I want to know how it all works. If you are interested in perhaps more information, in the way of an instructable or other way, reply, or let me know.
tedino2 years ago
Hi!
That video u mentioned on http://a.parsons.edu/~randy/video/typewriter.mov is down due of Inactivity. Please send new video and url please.

This was good tutorial :) i wanna see that video and i wanna try making own version of Typewriter perhaps :) Need motivation and wanna see that video :)
/ted
BRILLIANT!! Thank you, you have no idea how much this one helped me!
thomkrauss3 years ago
Is it safe to say that I should only use each pin once, to keep the wires and the board free of excess solder? I'm trying to use this method to build a set of drum triggers, an entire kit of drum pads, and want to know how many inputs I would end up with. The more I can get the better, I just want to see how limited I would be. I guess I could use two keyboards if it really came down to it.
Also, will a piezo attached to these pins work and will it produce two "keystrokes" for each hit as I've seen mentioned?
Thanks for the great instructions, and thanks to all who contribute and answer all the questions out here.
randofo (author)  thomkrauss3 years ago
You would use each pin once, but you can then connect the wires to another circuit board where you can connect multiple wires to each one. By doing that, in theory you can get the full keyboard. See the mess of wires here:
http://www.instructables.com/id/Typewriter-Computer-Keyboard/
ok then my next question: if I were to connect multiple female RCA jacks to 2 pins on the board (to enable the "shorted connection" and "type letters") and then at the other end took a button and connected that to a female RCA jack and used male to male RCA cords to connect the junction boxes I make, will pushing the button make a connection and "type letters" or is there too much wiring going on?
randofo (author)  thomkrauss3 years ago
Sounds reasonable.
smoak3 years ago
I'm trying to put this into a custom controller. Simply using 12 keys, random if need be. Which side is side A and which is side B. My guess is that the top layer is side A and bottom later is side B. Would I be right to assume this? I'm hoping it would save me the trouble of having to trace, I have terrible eyes.
dimitrisa103 years ago
what will happen if you connect three pins will it display 2 characters because i'm making a hand-top out of a pico itx board and im wondering if i can use this to make a thumb keyboard
randofo (author)  dimitrisa103 years ago
If it is a function key or the shift key or something like that, it might do something. Most likely, it will not do anything (or nothing you would want it to do). It won't make two characters.
thx for the info do you think it would work though for a tiny keyboard
keyboards send two scan codes for each key hit. One for each key press, a second for the key release. (the second has a bit set to mark it as a release). All the keys on the keyboard work this way, even shift and control.
snag46ed4 years ago
Great Instructable! I'm a little confused though. So all we need to do is wrap the wire around to the corresponding pins and GLUE them down, or SOLDER, or does it matter?

Also, I'm trying to build one with one simple function...I want to make a big "Easy" button, or something like an "Easy" button send a space bar input. Would I follow the steps in this instructable, connect the "free" side of the wires from the modded keyboard controller to a prototype breadboard, and connect the leads of the Easy button to the breadboard where the wires from the keyboard connect?

So basically keyboard controller -> Prototype breadboard <-Easy button...?

Thanks so much!
I'm kind of a noob when it comes to hacking electronics, fyi :)
thealeks4 years ago
very nice instructable! im about half way thru hacking a keyboard of my own and this has helped me immensly! my hack is a little different tho. ill post an instructable soon!
capth00k4 years ago
I tried to make this hack work with an old PS2 keyboard I had laying around -- to paint the keys on it and use as a synth controller on my mac - even got the PS2 to USB wiring worked out but it lights up and doesn't allow me to input characters ; nor is is recognized as a USB keyboard. I think there may be a USB device controller that PS2 boards doesn't have ; so perhaps changing the first page 'USB or (any) keyboard can be converted' should be changed if there isn't any way to make a PS2 one work. Here's the controller I pulled out of the old PS2 dell quietkey : The PCB is 123452 REV J ; the large IC has the following markings: nmbk15r4286 std5a8d bh 124200-002
You are absolutely right about the USB device controller. All USB devices have controller chips - that's how the OS recognizes that a USB device has been connected. ~/Lee
another use of this is to add switches to flight sims such as fsx, fs2004 ect.
jibatsu4 years ago
on my keyboard, multiple keys are on the same pin e.g. the left key and the enter key, do i solder double wires onto the pins to connect to 2 keys. will they both work independently?
randofo (author)  jibatsu4 years ago
Yes, multiple keys will be on the same pin. The key presses are created by connecting different pairs together. So, for example, one pin on "Side A" might connect to eight other keys on "Side B" to make eight different key presses.
jibatsu randofo4 years ago
so i only have 1 wire to each contact. amirite?
randofo (author)  jibatsu4 years ago
Yes, but you would want to connect that 1 wire to each switch that you are looking to add. So, if left and enter go to the same pin, that 1 wire would connect to both the left and enter buttons.
1-40 of 168Next »