Intro

To preface part 4, I'm not daily driving the gamepad anymore.

When I was building this thing, I was getting back into WoW. For a few weeks anyways. Not having WASD take up space was nice, more keybinds for abilities and other stuff.

But the issues started piling up when I played games that required precise, and more importantly, quick movement.

WoW doesn't require fast, nor precise, movement. Don't stand in the bad stuff, and you're golden.
I'm talking about the Ghostrunners, Doom and other ego-shooters out there.

The good

I really enjoy having more keys on a gamepad.

The Iris was somewhat limiting. In some shooters I want to quickly check the map while running, in other games I needed a full numrow (instead of just 1-5) to quickly access some items.
Other games required a few F-row keys.

I could have used some QMK voodoo tap-dances or combos, but I already have issues with mod-taps on some keys.
Some games struggle to recognize the tap-part of layer-tap reliably, so I wasn't really keen on adding more of those issues.

The "Redoxpad" was great in this sense, just had a lot of keys I could bind stuff to. Still not a fullsize keyboard, but enough considering its size.

The bad

Ergonomics wise, the keyboard is too tall. I like heavy tenting and Dactyl-like keywells, but the keyboard just isn't as comfortable.

Me adding another centimeter on the bottom to clear the Joystick PCB certainly didn't help.

But an encased (and raised) wrist rest helped, that way my wrist wasn't bending too much, and I could use the gamepad for hours without any issues.

The ugly

Where I really struggled was the joystick.

In theory, everything was fine: most PC games work with a controller, so it shouldn't be that difficult for the joystick XY axis to do the same.
But in reality, I ended up defaulting to a WASD mode.

There are really 3 kinds of games, and I thought I'd cover them like this:

type of game "solution"
1 natively axis binding just bind the joystick axis
2 xbox controller support emulate with x360ce
3 only keyboard a WASD-mode in QMK

Native support

For type 1, all went smoothly. If the joystick worked as smoothly as in Star Citizen, then this series would've ended with part 3.

Xbox emulation

type 2 already gave me major issues. Emulating an Xbox 360 controller worked just fine.

But no game is designed with Xbox in one hand, mouse in the other in mind.
Most games change their UI based on the input, all keybind hints in games change to Xbox-buttons on the fly if you use a controller.

Those games just thought I was swapping between keyboard & mouse and an Xbox controller all the time.

That's why I played those games in WASD-mode. Well, I tried to.

WASD mode

I already thought Xbox emulation was bad, but the WASD-mode was even worse.

My WASD emulation in QMK just takes the joystick X and Y values, applies some dead zones in the center, and presses/releases keys when a threshold is reached.

The issue should've been obvious, but I didn't really think about it.
Joysticks have no detents, no indication of how close I am to hitting the wrong threshold.

Any precise movement is impossible as it's just a guessing game as to how far I still need need to move to quickly tap A to move a tiny step to the left.
This was painfully obvious in games where strafing (and counter-strafing) is required.

Then, some other games put dodge on double press.
Hitting quickly S S for a dodge was a lot more difficult than it should've been.

What now

In hindsight, the joystick should've been a d-pad. Counter-strafing still would've been problematic, but that was only a minor issue for me.

The idea of "precision of a joystick" was neat, but in reality it's a lot of fiddling if the game doesn't support analog inputs natively.

I play games to relax. Scouring the internet for some mods or other hacks just to play a game with an analog stick isn't my thing.

I already bought a few 5 way switches which could replace the joystick.
But at the same time I could design something new, something low profile, choc spaced, with enough keys and a 5 way switch for WASD.

For now, I'm using one half of a Lily58 with Choc switches.

STL

For those daring enough to try a similar build, here is the Fusion 360 project.

Fusion 360 file
Fusion 360 file