loading
Picture of One-Key Keyboard Hack
Question: What do you do when your PC wants you to press F1 on boot, but you have no keyboard?
Answer: Hack together a USB dongle that does nothing but F1.

I admit that this is a silly problem and an even sillier solution, but the mind boggles at the possibilities: custom keypads for gaming, a Control+Alt+Delete "easy" button...

...any key or combination of keys can be broken out into an apparatus as keyboardy or keyboardless as you like, and used to do anything a keyboard can do!

 
Remove these adsRemove these ads by Signing Up

Step 1: Why?

Picture of Why?
"Why not just fix the error, stupid?" you might ask, "These errors are there for a reason!"
Well, you are absolutely right (though calling me names was kind of mean).

The problem is, I'm building a publicly-accessible PC kiosk (mouse only, no keyboard), and the components are squeezed into a rather small space. The donor PC featured a very tall heat sink/fan that just wouldn't fit, so I had to swap it out for a smaller one. The problem: the original fan was a four-wire model that talked to the motherboard, telling it soothing things like "I'm working." The replacement one I had on hand was a two-wire fan that refused to discuss anything with the motherboard. So on startup, the bios would report a failed CPU fan, and stop at a prompt: F1 to continue, F2 to enter startup... so my kiosk would sit there waiting for someone to press F1, and would be the lamest kiosk in history.

Of course, some of the warnings that show up during startup can be turned off in the BIOS (like the "keyboard error"), but  my BIOS had no option for "don't worry about the CPU fan." If I knew more about the world, I may have been able to grab the two unused wires from the CPU fan swap, and add a resistor or some other little bit of hardware that would fool the motherboard. Instead, a dim light-bulb flickered above my head, and I performed the following test:

Plug in a USB keyboard, hold down F1, start PC, keeping F1 pressed.

Results:
I watched as the error popped onto the screen, then vanished.
The OS loaded fine, the browser opened fine; no "Help" pop up... in short, no ill effects from holding down F1.

So I assumed that the OS was smart enough to accept the F1and then ignore a "stuck key," and I decided that my silly plan was worth doing.

Step 2: What & How?

Picture of What & How?
What (materials):
-Donor PC keyboard
-Screwdriver
-Soldering iron (& accessories)
-Thin permanent markers, volt meter (optional)

How:
Go read this, so you know how keyboards work:
http://pcbheaven.com/wikipages/How_Key_Matrices_Works/
And here's an 'ible by randofo that makes it even clearer
http://www.instructables.com/id/Hacking-a-USB-Keyboard/step3/A-note-on-pin-layouts-and-shift-registers/

Find a sacrificial keyboard, and pull all of the screws out of the bottom.

Carefully lift the keys away from the flexible plastic with the spaghetti tangle of circuit tracings. This will either be very simple or quite tricky, depending on how your keys are stuck into their housing: they might all lift up in one piece, or they might eagerly leap away and try to escape.

Basically there are only a few pads on a small circuit board that manage to figure out which key is being pressed because two of the pads get a signal at once. And a different combination of pads are activated for each key press. That's all there is to it!



Step 3: Trace, Scrape & Solder

Picture of Trace, Scrape & Solder
IMG-20110524-00165.jpg
It would be pretty difficult to figure out which pair was which, if not for the handy map provided by the two flexible matrices that live under the keys. Just find the key in question and see where it hits the matrix. Then you can trace the squiggle back to the circuit board: I recommend literally tracing, using a thin marker. A volt meter can help here. Mark the two spots where the line hits the circuit board.

Repeat as needed: If you are building a numerical keypad or custom gaming keypad, you'll have to keep it all straight: It's probably worth making a chart or some such, to keep track of where you'll be wiring up your buttons.

But in my case, all I had to do was manage to find the two connections for one key: F1.
F1 routed to the far-right pad in the first group, and the fifth one in from the left of the second group.

Once you find the contact points, you may need to scrape away a thin layer of carbon to get to bare metal that will accept solder.

For projects using multiple keys, it's a good idea to attach a post to each pad, so many wires can hit the same contact.

For this project and any other with only one key (or, just a few), solder a bit of insulated wire between the two contacts you've identified.

Optional: add a drop of hot glue for a little insurance!


Step 4: Test, Deploy

Picture of Test, Deploy
Now here's the fun part: plug your apparatus into your PC, and see what it does.

In most cases you should be able to use your new device right alongside your "normal" keyboard, as long as you've got the ports (mine is USB, but a PS2 would work, too).

If the test is successful, package it up and call it complete!

I glued an F1 key to my device (from the donor keyboard, of course), and even though it  will be stashed away inside my kiosk and never be seen, I like the idea that the F1 key is in there, silently advertising its silly purpose...

Thanks for reading!

Mike Craghead

1-40 of 73Next »
Awesome instructable man! Now, only to have an "Any-PC-BIOS-key spammer" for those stupid HP BIOS screens that want you to press escape. Also, you could try searching for a firmware update that has the ability to turn off the keyboard.
yoyology3 years ago
I love this!

I do worship video for two different churches in the course of a week. Each uses a different software. The one at Church A moves from slide to slide with the arrow keys. Very convenient and ergonomic. The software at Church B uses F9 and F10, which are clumsy and wearing to use, so I end up resorting to the mouse (ugh).

This would be perfect! One little box with buttons that just do F9 and F10 (labeled Next and Previous) that I can hold in my lap while I sit back in comfort.

I'm going to dig out an old keyboard as soon as I get home!
I just want to be the first to say that when I saw the picture, the first thing I thought of was this:
keyboard-ctrl-alt-del.jpg
my favorite
pirate_keyboard.jpg
Any OS run with 1 button ???
The Macbook Wheel!

http://www.youtube.com/watch?v=9BnLbv6QYcA
the Mactini

http://www.youtube.com/watch?v=gw80nMPv1Wc
I was thinking about tha same image too :p
¡¡¡ OH.. YES !!! The essential keyboard for ANY Windows since 3.1
mcraghead (author)  killersquirel114 years ago
Hah! Spoken like a fellow MS user ;) wonder if the one in the pic really works? It certainly could. Also might help with the carpal tunnel caused by the constant stretch to accomplish the MS three-finger salute...
mtkraabel4 years ago
OK - I can really use this.

I am a mechanical designer and run CAD programs all day with my right hand on the mouse and my left hand on a SpaceNavigator ( http://www.3dconnexion.com/products/spacenavigator.html ). Often have to reach over and hit the F8 key to reset a view. Going to make one of these had have it right were I can hit it with my thumb without taking my hand off the SpaceNavigator.

Build it - they will come.
You could use AutoHotkey (autohotkey.com) and a simple script to redefine one of the extra mouse buttons to F8.

One line script;
Xbutton1::send {F8}
All combinations of mouse buttons for a three button mouse are already utilized by commands in the CAD software.

Is there a mouse available that has extra buttons?
does your wheel have a click feature? do you use it? some mice have side buttons that are programmable http://tinyurl.com/68xuaa9
logitech m305. side scrolling buttons and middleclick too, for about 15 bucks, and it's wireless. works great in linux too
How about 13 buttons?

http://www.logitech.com/en-us/mice-pointers/mice/devices/7244

If you're on OS X, I highly recommend ControllerMate, which allows you customize the behavior of almost all mice, keyboards, and joysticks (esp. ones w/o Mac drivers).
Nice one dude!
tnx!!!
@mtkraabel
You might actually benefit from something like this:
http://store.razerzone.com/store/razerusa/en_US/pd/productID.169418900
17 buttons. "MMO optimized", but I use a DeathAdder for work (non-gaming) simply because it's more comfortable & works better than other mice I've tried. I have 5 buttons (including the mousewheel), and sometimes I wish I had a few more so I could bind them using AutoHotkey. I don't recommend razer's keyboards, but I've loved their mice.

You could also try something like this, but I think it looks awfully-designed:
http://www.warmouse.com/

Good luck!
Lots have two more buttons.

http://www.microsoft.com/hardware/en-us/p/comfort-mouse-4500/4FD-00006#n

In autohotkey the buttons a Left, Right, Middle, Xbutton1 & Xbutton2.

Also many (incl the above) come with software to program the buttons if you don't want to use autohotkey
Software wouldn't do anything, this is during the bootup process, well before the OS is even running.
I was talking about mtkraable's issue re two handed CAD control & pressing F8.

Sorry for the confusion
oops, missed that your comment was a reply to a comment. thought it was straight comment to the article. my bad.
Or a foot switch.
mcraghead (author)  CVBruce4 years ago
Definitely. They sell foot switches that are basically just pressing the "up" or "down" keyfor scrolling text, or other "keys" for advancing powerpoint slides, etc.
mcraghead (author)  mtkraabel4 years ago
Nice!
mcraghead (author) 4 years ago
Hi folks! Just thought I'd pass this along because it's pretty entertaining: Thank you to Mike Nathan who posted this project at HackADay: http://hackaday.com/2011/05/29/fixing-post-errors-with-a-single-key/ ...I'm enjoying how angry this made about half of the people who left comments, and how the other half of the folks are defending my silly hack...
Forgive my ignorance, but this would be possible to do with the enter key, right? As long as I soldered the correct connections?
Absolutely. Of course, I assume you'd want a "real" button (because something that sends "enter" all day is nearly as silly as something that sends "F1"), but yes, any button (or combination of buttons) can be triggered by correctly shorting the connections on the circuit board.
Yup.
Couldn't you just have stashed the old fan someplace out of the way but left it plugged into the motherboard, and then wired the power wires for the new fan in parallel with the existing ones? Use the old fan to blow air over something else in the project that needed cooling?
klaviatury4 years ago
Lame excuse for the build but good execution, there must be a reasoning for a keyboardless kiosk and i would imagine you would want to keep it clean so not really sure why add the button with so many more efficient ways to fix the real issue ie rewiring the fan, sending a signal to the speedometer or heck removing or getting a different powersource for the fan.
Kaylonds4 years ago
Why didn't you fix the real problem? Either getting a fan with speed signal or connecting some +2V wire to the speed signal pin.
Seems way easier.
mcraghead (author)  Kaylonds4 years ago
Absolutely! Except I didn't have the item on hand, and did not want to stray from the "spend no money" mantra, and I didn't know how to fool the motherboard... wish I'd asked you sooner!
ac-dc mcraghead4 years ago
You don't have to fool the motherboard, you can give it the real RPM signal. Connect a wire from the collector pin on the transistor right before the motor coil in the fan, to the 3rd pin on the motherboard header for RPM. 4th wire isn't needed to get RPM, it is the PWM control line.

Another possible option is to edit the bios, if there is an editor you can find that handles the core version and brand (Phoenix, Award, AMI, etc.), there is probably a setting that is hidden from the user interface, although there might even be a key combination that will get you to full control page when the system POSTS prior to booting, but it is harder to find this info as it can vary.

A note to other people: A constant *on* key can cause very weird behavior on some OS (including windows) depending on which it is, or constant beeping, or especially with PS2, loss of use of the other PS2 connected input device as the buffer is full from the /stuck/ key signal.
tn. ac-dc4 years ago
you mean like that BEEPBEEPBEEPBEEPBEEP i get when i've fallen asleep face-down on the keyboard?

i can see it.
lol
mcraghead (author)  ac-dc4 years ago
MUCH wiser solutions, Kudos!

I did test the F1behavior before I went down this silly road, but I can see how the stuck key syndrome could truly bork things up in other circumstances...
Vinsu Kaylonds4 years ago
Failure of battery, that keeps the BIOS on hold, could also be the problem...
mcraghead (author)  Vinsu4 years ago
While a failed battery could indeed also cause a F1/F2 pause, in this case the message actually said "CPU fan" and I had no reason to disbelieve.
johnpoole4 years ago
great writing style.. i am going to glue the a n y keys to my usb to see if i can get my grandkids to press it them.. i know some of the end users at work would try them..
1-40 of 73Next »