Create a custom GameCube controller?

This is essentially what I want to make: Smash Box SSBM - Melee Teaser Trailer - YouTube

I posted threads on 2 different forums about this, but I am posting here for more info since those threads are moving slowly.

These are the threads:

There are going to be 22 buttons in total. Here is how the buttons in place of the joystick work:

  • There are 4 buttons per joystick axis: one triggers full low, one triggers full high, and two are modifiers.
  • The modifiers scale the output triggered by the low or high buttons to a configurable percentage from the middle (each modifier has its own percentage).
  • The output to goes to the middle value when no buttons are pressed.
  • If a either a low or high button is pressed after the other has been held down, the newer button press takes precedence.

I have written functional code for this system that is in the Teensy forum thread I posted. My problem now is implementing it.

Here are the suggestions I've gotten so far:

  1. Use a GameCube controller PCB and output filtered PWM signals from a microcontroller to operate the joysticks.

  2. Use a GameCube controller PCB and control digital potentiometers with a microcontroller to operate the joysticks.

  3. Don't use a GameCube controller PCB and use this library (GitHub - NicoHood/Nintendo: Use Nintendo Controllers with Arduino)

  4. Figure out how to use a system of resistors and not use a microcontroller at all.

I am waiting for the parts in the mail to test option 2. Option 3 seems really appealing, but I own a Teensy board, and I can't seem to get the library I posted to compile for it. It compiles for an Arduino, but I need 22 buttons, and I would rather not get a Mega if I don't have to. I suppose I could try to write my own code to send GameCube controller messages, but that seems a little over my head currently. I am not savvy enough with circuits to work out how to accomplish option 4.

Basically, I am posting here for information and ideas. If anyone can help me in any way, I would greatly appreciate it!