Article on habr.com: https://habr.com/p/906662/
NesGamepad library:
https://github.com/IvoryRubble/ArduinoNesGamepadLibrary
https://registry.platformio.org/libraries/ivoryrubble/NesGamepad
Adapter features:
- No gamepads modification needed
- Recognized by PC as USB keyboard or USB gamepad (working mode can be switched any time)
Video demo:
https://vkvideo.ru/video-228936534_456239021
https://youtu.be/PK0Xq24e0vw
NesGamepad_keyboard
Firmware for adapter that emulates only USB keyboard.
Press Start on gamepad during startup to enable serial output.
NesGamepad_keyboard_and_joystick
Firmware for adapter that emulates USB keyboard or USB gamepad.
Press Start+A on gamepad during startup to change output mode to keyboard.
Press Start+B on gamepad during startup to change output mode to joystick.
NesGamepad library to interact with gamepad:
https://github.com/IvoryRubble/ArduinoNesGamepadLibrary
Joystick library for NesGamepad_keyboard_and_joystick example:
https://github.com/MHeironimus/ArduinoJoystickLibrary
This ButtonDebounce class is also used:
https://gist.github.com/IvoryRubble/4eb6355ca0a115232f57452e6ee2bdb1







