Getting older + Lots of Keyboard time = Carpal Tunnel Syndrome, a.k.a The Wrist-Hurt Disease.
Most of the games I play are First Person Shooters (FPS), but recently I've been playing Bohemia Interactive's DayZ, (actually, DayZ Stand-alone Alpha). DayZ is a huge open-world RPG set in the fictional country of Chernarus sometime after the Zombie Apocalypse.
Right now the game is mostly about running around an extremely large game space gathering loot while trying to avoid getting killed by other the players and zombies. You run a lot. There is really no way to overstate this. There is great deal of running from place to place in this game. To me that means pressing "w" for hours on end. This aggravates my carpal tunnel.
I've tried several ways to keep the "w" pressed down whenever my character has to run a long stretch. Usually this means wedging something into the keyboard. Matchbooks, folded bits of paper, pen caps, paper clips; you name it. Sure, they all work, but there should be a better way. This led me to put together a device that will electronically hold down a key in game. It works great for DayZ. It's a simple solution that is portable, cheap, and easy to use. Perhaps it can solve the same problem in other games.
Submitted for your approval: The Gamer Cruise Control
Step 1: Warnings:
Step 2: Things You May Need for This Project:
b. Phillips Screw Driver (Probably)
c. Solder Flux
d. Multimeter (Optional, I'll explain later)
f. Clear tape (Optional)
g. Some type of enclosure. I used an 8mm data tape case.
h. Duct tape (Optional)
i. Power Drill and 3/32 drill bit. (Optional)
j. Keyboard, USB or PS2
k. A ruler.
l. Wire strippers.
m. Electrical Tape (Optional)
n: (Not Pictured) Some type of Single Pole, Single Throw (SPST) switch in whatever style you like.
o. (Not Pictured) Utility Knife
p. (Not Pictured) Some bits of wire.
Step 3: Step One: Aquire Keyboard Controller
While exterior condition is a secondary concern, you will want to try to get a "name brand" keyboard. I've seen good candidates from Dell, HP, or Logitech. That said, please do not select a $150 Razer "L337" Viper Tactical N00B PWN'er De-Luxe for this project. In this example I use a Microsoft "Basic" keyboard that was living under some junk out in the garage.
All kidding aside, the PCBs in the more well known brands tend to use thicker boards and have thicker contacts. Why thicker is good will soon become apparent.
To get at the PCB, first, flip the keyboard over and remove all the screws on the bottom.
Next, separate the top and bottom halves of the keyboard.
Finally, you should see a small circuit board, usually in one of the corners, secured by screws or clips.
Carefully remove the PCB by removing the screws or prying back on any clips that hold in in place. The cable may or may not be removable. If it is, carefully remove it and set it aside.
Step 4: Find a Suitable Enclosure:
Step 5: Modify Enclosure:
The plastic this case is made of is shatter resistant, unless you try to cut it. In which case it becomes extremely, ...um shatter-ful? Pro-shattery? It likes to shatter.
I drilled holes inside the lines in each of the corners, then in each of the sides in an attempt to keep things from cracking when I cut it with the utility knife I forgot to include in the picture in step 2.
Next I cut a notch in the side of the case for the cable strain relief. The strain relief had a shallow slit in it that fits over a plastic notch in the original keyboard case. I took care to cut the notch in a similar fashion on my tape case so that the strain relief stays in place with a simple "friction fit"
Step 6: Mount the Switch:
To mount it I first soldered lengths of wire to each of the poles.
Next I pushed the wires through the hole, followed by the switch itself. This type of switch has tabs on the sides that rebound to hold the switch in place when it is pushed into the hole. I had to trim the sides of the hole with a utility knife to ensure a tight fit.
I took the opportunity to pre-tin the ends of the wires. This will be useful later.
Step 7: Prepare the PCB:
Basically what we are doing here is creating a custom keyboard that has one very sticky key on it.
If you take a look at the PCB, you will see that it has a side that has some LEDs on it. This is the top side of the board. The LEDs are the old Num Lock, Scroll Lock, and Caps Lock indicators. This side is pretty but not all that interesting. It's the other side where all the magic is going to happen.
If you take a look at the opposite side of the PCB, you will see an array of contacts running across one side. These contact correspond to the circuit traces on the two Mylar sheets that were inside the donor keyboard. When you press the button on the front of the keyboard, one of the rubber domes is compressed. This compression allows a tiny graphite disk to make contact with a junction of two wires on the Mylar sheets. Those two wires run back to two of the contacts on this PCB and are registered by a tiny micro controller that lives under the hard blob of black epoxy. The micro controller then send the corresponding key code character to the computer.
What we need to do is figure out which combination of contacts needs to be connected to make the key we want. In my case a lowercase "w".
We can do this in a few minutes by plugging the keyboard cable back into the PCB then plugging the cable into the back of a computer. I used a old laptop I have running Linux and just had any characters that show up dump to the command line. You can open a notepad or word pad in Windows to achieve the same effect.
Next we need something to create a bridge between these connectors. I used my multimeter switched to the "continuity" setting. If you don't have a multimeter or don't want to dig it out, you can use a single length of wire, or a paper clip.
With your probes, or wire, or paper clip, we are going to touch pairs of contacts and watch the screen until we locate the elusive "w". Then we'll note which pads reliably create the character when bridged.
Step 8: Prepare the PCB Part 2:
On my board, to make the target character (w), I needed to bridge the 10th and 13th contacts from the right side of the PCB.
Cheap keyboards use a compression fit to make connections between the wires on the Mylar sheet and the contacts on the PCB. To facilitate this connection the contacts on the PCB are coated with graphite. We need to remove this graphite as solder will not stick to it. This is where the thick-board/thick contact issue comes into play. I carefully scraped , with light pressure, the graphite away from the contacts I needed using my mini leatherman. Eventually this revealed the aluminum pad embedded in the PCB. I kept working at it until I got it as shiny as possible.
Next, I applied a small amount of solder flux with a que-tip and pre-tinned the pads.
Step 9: Connect the Swich to the PCB:
Now, before I get flamed about this, I know that the proper way to do this would be to drill a hole through the pad on the PCB, then run the wire through and solder. That said, I don't have a tiny drill and we're not launching this board into orbit. The connection is good enough.
Next I apply some electrical tape across the contacts to prevent any short circuits.
Finally I connect up the PS2 cable and close up the case. Securing it with clear tape.
Step 10: Test Then Enjoy.
To use in DayZ, all I have to do is flip the switch" on". This causes my character to walk. A quick double tap of "w" on my regular keyboard launches my character into a run that is sustained until I flip the switch to the off position.
This technique can be expanded to allow multiple buttons or switches. It is one technique that is used to create "Arcade" style joystick/button arrays.
Thank you for reading my Instructable I hope that you find it useful or at least mildly interesting.