Understand DevilutionX gamepad input implementations
masterDevilutionX provides three abstracted implementations for low-level gamepad handling:
- SDL2 controller API: Standard modern controller support.
- SDL 1&2 joystick API: Used for SDL1 platforms or for mapping additional buttons not covered by standard SDL2 controller mappings (e.g., extra Nintendo Switch arrow buttons).
- Keyboard keys acting as controller buttons: Used for testing or specialized hardware like RetroFW.