El34 world logo

Making a custom Game Controller

Using console type game controllers for PC gaming is just ok, but not the greatest
Especially for fast and furious first person shooter games
Gamers that use keyboards for PC gaming are usually much better than gamers that use Xbox type controllers

Using a keyboard for PC gaming works great but it has some flaws
Computer Keyboards are not laid out ergonomically like the human hand and fingers
I decided to design mu own and make a Game controller from a USB keyboard and use the really nice Cherry keyboard switches as found on the old keyboards.

I set out to design a keyboard controller that fit my hand and fingers ergonomically
It's a computer keyboard, but not shaped like one

Click on the images below for a larger image.
USB keyboard pc board
If you tear apart an el-cheapo USB keyboard, you will find a small circuit board that looks similar to the one shown above
You can see all the copper traces in the photo above. Some boards have 25 or more of these traces
Touching two of these traces together will make a keyboard character
So, if we can figure out a bunch of characters, we can just hook up switches to this board to make keyboard characters
Example: Taking a wire and touching copper trace #2 to copper trace #15 may make the keyboard letter D

To keep the number of wires we need to a minimum, it's best to find a bunch of characters that share common traces
Example: Letters Q W E R T all use copper trace #2 and some other copper trace
This saves you a bunch of wires because one wire can service all five of the same letters

The copper traces shown above are normally coated with a conductive carbon like material
I gently sanded all the material off to expose the copper
We will need to solder tiny wires to this copper to make our controller switches work and so you must get down to bare copper

-
Click on the images below for a larger image.
Keyboard matrix Cherry keys
Above Left: The circuit board shown at the top of the page contacts is in contact with a bunch of conductive points on two clear sheets of plastic.
The two sheets of plastic are separated by a thin sheet with holes that keeps the contact points on the two sheets from touching.
The two sheets form a matrix of little round conductive material contact points that are separated until you press down a key on the keyboard
When you press a key on the keyboard, it pushes the two contact points on the two sheets together like a switch
The conductive traces from both sheets lead back to the circuit board
The circuit board then figures out which two points were pressed together

On the clear sheets above you can see that I labeled the upper sheet with the actual keys on the keyboard
If you follow the rows and columns back up to the circuit board contacts, you can figure out which two points on the circuit board make which characters
It takes quite a while to map out these two sheets and find a bunch of characters that you want to use

I don't worry about the actual characters since so many games let you map out your own characters for the controls
Example: Most PC games use W A S D for movement, but you don't have to use those keys
On this project I am actually using INS DELETE HOME and PGUP for my movement keys because they all shared some of the same matrix numbers

Above Right: I had an old NCR keyboard laying around that is unusable on modern computers because it is wired wrong internally
The old IBM XT keyboards are just fine for use on modern computers and I have a couple in use that I got at the recycling center for free

These old type keyboards are awesome because they use real switches made by Cherry
The feel of typing on one of these keyboards is way nicer than the modern day el-cheapo keyboards
You can still buy high end keyboards with real switches but they are way more expensive
You can buy a cheap USB keyboard for less than $10 these days and use for a project like mine
It's $75 and higher for a high quality keyboard that uses real Cherry switches

I unsoldered a bunch of these keyboard switches from the old NCR keyboards for use on my custom controller

-
Click on the images below for a larger image.
Custom pc board custom pc board
Above Left: Here's the custom copper keyboard PC board I designed in CAD and then cut out on my CNC machine
This is the rear view of the board, the Cherry switches mount on the other side and get soldered on this side.

You can see several of the long copper traces that are shared between several of the keys
This is the shared wires I was talking about at the top of this page
At the top of my copper board I created a bunch of copper islands that I can use as soldering points to join wires

Above Right: I have soldered my Cherry keyboard switches to my copper board

-
Click on the images below for a larger image.
Pc board wired up
I glued the keyboard pc board to my copper board and wired it all up
I used very tiny wires that came from an old mouse cable
If you have an old mouse laying around you can strip the outer jacket off and get a bunch of very tiny wire for free
You can't use large diameter wires because the traces on the USB circuit board are very thin

You can see the four USB cable wires that leave my board at the top right
My the computer thinks that my controller is just another USB keyboard
It is possible to have more than one keyboard hooked up to a computer
My main keyboard is a USB keyboard and so is my custom controller

-
Click on the images below for a larger image.
Puck Puck
Instead of moving about the game by pressing keys, I came up with a way to move by pushing the controller
There are 4 switches around the perimeter of a round plastic puck and this puck sits inside a round hole
When you push the controller forward, back, left or right, a switch contacts the wall of the big hole and triggers a keyboard character

I got this idea from an old Microsoft sidewinder controller that I used for many years
It worked great and lets your fingers do something other than moving your character about in the game
It does not take very long to get the hang of moving your character this way.

-
Click on the images below for a larger image.
base top
Above Left: This is the base of my controller made from HDPE plastic
I cut this piece out on my CNC machine
The circles are areas I removed material so there is less contact between the upper controller piece and the base
This makes the upper section slide around like butter on the base with less friction

Above Right: My copper board is mounted on standoffs and then screwed to this black fiberglass piece
This top section sits on the base and slides around
There is a screw in a slot and this is the swivel point for the upper section
The white puck with the movement switches sets the limit for how far you can push the controller in all four directions
The screw in the slot keeps the top section aligned on the base and has a bit of wiggle room
The screw sits right in the middle of the palm of my hand
This makes it really easy to pivot the top section
It takes very little effort to move the top section around and move your character

At one point I experimented with using two rare earth magnets to return the controller to zero but I found out that it created too much drag and was not needed.
The magnets were separated by an air gap of about 1/2 inch, but their pulling action was still way too stong
You can see one of the magnets at top center in the photo on the right
It may be better to have the magnet right in the center of the white puck, but I found that I did not need the magnets.
The 4 movement switches on the white puck are spring activated, so it's not possible to let go of the controller and have a switch still be active

-
Click on the images below for a larger image.
side view top view
Above Left: Here's a side view of my copper board sitting on standoffs and that assembly is bolted to the black fiberglass board.
The fiberglass board slides around on the black HDPE plastic base
The plastic keys came off the NCR keyboard

The two rows at the top are for the five fingers
The four keys lower right are for the thumb
The letters on the plastic keyboard keys do not come off and so they do not represent the actual keyboard character that I am using
I picked those keys for their shape, not the letters on the keys
Notice how I picked the key tops so they are angled towards each other for the 5 fingers
The number five key is for my index finger. It has a little raised bit in the center so you know when your index finger is on that key

I don't look at the keyboard while playing a game, so the letters on the keys don't matter
I do have a paper chart hanging on the wall in case I forget what all the keys do for each game
It does take a while to get your keyboard muscle memory going when starting a new game

The keyboard feels natural because I laid out the keys to fit my hand
I have a real long middle finger and you may have noticed that the 4 key and upside down INS key are way higher than the other keys

Above Right: I am still working on a material design where the palm of my hand rest
For now, I just glued on some dense foam to get a feel for what works
The foam actually feels really nice but what I think will work better is some sort of cup that fits the heal of my palm
In order to shift the controller side to side, your palm needs something to push against

I'll update this page when I have come up with a solution to replace the foam parts

Here's a video of how the controller looks with my hand on it
Notice that it's very easy to push it around for character movement

-



Enter My Tube Amp Parts Store Here

Mobile users Enter My Tube Amp Parts Store Here


The Tube amp Library of information
Click the link above for Tube amp info, Schematics, Board building information, Projects, Mods, Transformer diagrams, Photo's, Sound clips.
There are hundreds of pages of Tube amp information on my library page.

Please visit my Tube Amplifier Forum
Here's the place you can go to ask tube amplifier questions.
You will find a large community of friendly amp builders at the link above.

Check the huge library of Schematics here

Design your own custom Turret Board or Eyelet board

DIY Layout Creator file analyzer program

DIY Layout Creator file library

Sound clips and tunes of all types

How to email me



MEMBER OF PROJECT HONEY POT
Spam Harvester Protection Network
provided by Unspam