- Issue Time
How to Build a Custom Mechanical Keyboard Gamepad
You can use any keyboard for gaming in a pinch, but you’ll have more fun when you use a board you like and find comfortable. That’s all it takes for something to be a “gaming keyboard” in my opinion, but peripheral makers have increasingly decided gaming keyboards should look like neon stealth fighters. So, I’ve built a few custom gaming mechanical keyboards of my own, but it occurred to me recently I don’t usually need a whole keyboard for playing a game. What if I stripped the gaming keyboard down to the bare minimum — what would I get?
I started with a number pad kit, made some layout tweaks, added some smooth linear switches, and I ended up with a rather adorable little mechanical gamepad. Here’s how I did it.
Like many keyboard nerds, I’ve developed affinities for certain switch types. The switches I like for typing tend to be heavy and tactile, but that’s not ideal for games. If you’re going to hold down keys for long periods, it’s better if they actuate quickly and don’t feel too heavy. Well, that’s what I prefer.
In several past gaming-oriented builds, I used light tactile switches that I find usable for both typing and gaming. The tactility is unnecessary for gaming, but I don’t like typing on linear switches. I’ve also felt at times that it’s a little silly to have an entire keyboard for playing games when almost the entire right half goes unused. I could probably get by with the WASD cluster and a few more keys. You might have seen devices like this; Razer has some popular models of mechanical gaming keypad. However, none of them are very high-quality or reasonably priced. So, what to do?
The solution was to build my own tiny keyboard. It wouldn’t need all those unused right-side keys, and I could focus my switch choice entirely on gaming. When I freed myself from the idea of making a gaming keyboard a whole keyboard, additional options opened up. It didn’t need to have five or six rows like a full board. In fact, it didn’t even need to have staggered keys. So-called “ortho” or grid layouts are rare but increasingly popular among enthusiasts. Those are still full keyboards, but a number pad is about half of a Planck.
I’m not a fan of number pads — they screw up the ergonomics of a keyboard and aren’t necessary unless you enter a ton of numbers. An external number pad kit is the solution for some people, and that’s what I decided to use as a gamepad. The one I settled on is called the Cospad. I chose this because it supports multiple key layouts, has RGB underglow, I could order it from China when immediate shipping, and it has a unique case that’s perfect for this project.
Most number pads are either flat or inclined, so the 7-8-9 row is higher. For optimal comfort, I needed a number pad that was inclined with the 1-4-7 side higher (rotated 90 degrees from normal). The Cospad case does that with a pair of optional risers on the bottom.
The unusual layout of this device means it would be tricky to get standard sculpted keys to match the rows and key sizes (most keysets have different shapes on each row). The easiest solution here is to use a combination of DSA caps from another set (called DSA Overcast) along with some blanks for the 1-unit keys on the bottom and left edges.
Since I opted to go with linear switches, I had the opportunity to finally put a bag of Tealios to use. These are switches come from Zeal PC, which also makes Zealio tactile switches. I’ve used those frequently because of the smoothness and various spring weights. In the case of the Tealios, they’re still incredibly smooth, but there’s no tactile bump. The switches I used have 62g springs, which are just a little heavier than Browns and Reds.
Building and Programming
The PCB, plate, and case for the Cospad only took a few weeks to ship from China. That’s a rare thing for a custom keyboard build. I already had the other parts, so I was ready to build as soon as the package arrived.
Before I could assemble the board, I needed to decide what to do with the layout. Look at a number pad, and you’ll notice most of them have at least one large 2-unit key on the right side. I made that side of the PCB the bottom of my gamepad because the location of that 2u key is configurable — it was the perfect space bar.
Step one of assembling the Cospad was to plug switches into the steel plate. I was only eyeballing the switch locations in some of the bigger gaps at this point, though. I determined where the 2u key world attach to the PCB and installed the Cherry-style stabilizer. These wire assemblies to under all the longer keys on a keyboard to keep them level when pressed. Forgetting the stabilizers is one of the most common and annoying mistakes you can make when building a keyboard. You have to disassemble the entire board to mount them, and desoldering is much harder than soldering them in the first place.
Next, I lined up the switches and pressed the plate down. Each switch had two contacts and three plastic pins that poke through holes in the PCB. With the switches all seemingly in the right spot, I put some test keycaps on the bottom row to confirm spacing. This is another important and often overlooked step. If you solder switches in the wrong place, you might not be able to fit your keycaps or program the board.
The partially soldered PCB.
With all that sorted, I just had to solder the switches. This was actually the fastest part of the whole build. With only 23 switches and two solder points each, I was done in about 15 minutes.
The Cospad runs on the TKG firmware, which has plenty of features but very little in the way of convenience. Programming this device involves using a site like Keyboard Layout Editor to configure your chosen layout. Then you take that raw data and paste it into an online flashing tool to push it over to the keypad via USB. In addition, the only way to put the board in flashing mode is to short two pins on the PCB with wire or tweezers.
Even minor errors in your layout can cause the device to be completely non-functional after you flash it. You need to use the correct keycodes and capitalization in your layout to make the board work properly, and there’s virtually no English language documentation on any of this. It took about an hour of trial and error before I figured out exactly how the Cospad wanted me to fill out the keymap, so it worked out in the end.
The feel of the switches is good for the way I play games, which is basically to mash the keys down as hard and fast as possible. They’re not too heavy to depress quickly or for long periods of time. The lack of a tactile bump doesn’t bother me in this context, though I still don’t think I’d want to type on Tealio switches. I’m just not a linear guy.
The total cost of the parts for this build was around $90 not counting the keycaps. Those were from an extra set I had laying around, and I only used part of it. Getting keycaps specifically for this project would have probably doubled the cost because you can’t just buy the left half of a set.
I don’t know what I’m going to do with the layout for certain. Currently, there’s no dedicated number row, which suits me fine. Numbers and F-keys are on a function layer, but I could change the layout later if needed. I just wish flashing the keypad wasn’t such a pain.
With the project complete, I’m feeling pretty good about the entire process. Playing games with the Cospad is fantastic. It has enough keys to get the job done without taking up a lot of space on my desk. If I’ve got a keyboard plugged in that’s not gaming-friendly, I can just set the Cospad next to it and start playing.