MMJoy2 does not support "simple" buttons connected directly to GND. You must define at least a matrix or use shift registers.
Download and unzip the MMJoy2 package. Run JoySetup.exe . Flash Firmware:
Once flashed, your device will appear as "MMJ-Reset." Use the GUI to define your axis pins, button matrix rows/columns, and custom device name.
MMJoy2 transforms an board into a Plug-and-Play (PnP) device recognized by Windows as a standard joystick. Compatible Hardware
Support for up to 6 encoders with adjustable timings.
Ensure you are using a board with the ATmega32U4 chip. Boards like the Arduino Uno (ATmega328P) are not compatible with MMJoy2.
Select the correct (note: this is the bootloader port, which only appears for a few seconds after hitting Reset). Click Upload Firmware .
For those seeking legacy updates or specific older builds (like the v20161101 or v20150727 variants), the original Google Site remains a deep archive. MMJoy Project Downloads