One-Key Keyboard Hack

110K18286

Intro: 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!

STEP 1: 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?

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
https://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

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

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

85 Comments

Thank you so much for your tutorial!

I'm building an on-the-cheap Redundant Array of Independent Servers (RAIS) setup for a mac-using client, and this requires that one of the servers boot in 'target disk' mode (requiring that the 't' key be pressed at startup) so that the 'prime' server can be mirrored to it through (software, thunderbolt) RAID 1.

But should there be a power outage, if there is no-one around to push the 't' key on one of the servers when the power came back on (as they are set to boot after an outage), there would be two perfectly identical servers with the same static IP operating on the network, meaning that... strange things would happen.

So I followed your solution to make a 'perma-t' dongle, ensuring that the 'mirrored-to' server will always boot in target mode as long as the dongle is plugged into it.

The shell of an old (circa 2001) mac pro mouse made a perfect housing, too.

So it just automatically presses F1 when you plug it in? :/ I need something that actually requires you to press it.

Hi Jason37, No problem:
Instead of wiring the pins together, just put a button/ momentary switch there. Cheers!

Yeah, I'm a bit of a noob, but I think I should be able to manage it lol. Thanks for the reply :)

Totally not silly at all. I have a few unRaid servers and a few minecraft servers. They all run headless. A couple of them are using some donor Motherboards from some name brand PC's (retired lease rolls) and if you remove the factory fan or the proprietary cable that feeds the front panel peripherals, you get the F1 error. I actually looked around here a few years back to see if someone else did it then for inspiration and ideas.

Cheers

you can do it with more keys like if u like minecraft u can use Wasd and space bar

or just super glue them and wire them to your mose

you can do it with more keys like if u like minecraft u can use Wasd and space bar

or just super glue them and wire them to your mose

you can do it with more keys like if u like minecraft u can use Wasd and space bar

or just super glue them and wire them to your mose

Can you make multiple out of one keyboard

I've bookmarked this instructable and may give it a shot one of these days. Thanks!

I have (and dearly love) my old IBM Model M buckling spring keyboard from the 80's. I'm excentric, I guess. I was idly Googling whether there was a 1-key keyboard out there that I could map to a Windows key and have it off to the side somewhere.

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.
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:
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
More Comments