Sounds like a doable challenge, but it will take me some time.
You can use the gpio-keys module as an example. In theory, you create an DT fragment and don't write a driver at all, but in this case you need the GPIO to emit gamepad events instead of keyboard events.