What I've found is some devices might not work well but can be fixed with a small tweak in the firmware. So if you can test your gamepads/joysticks lying around and post results we can improve compatibility.
I've tested these successfully:
Adapters
These allow connecting original controllers
- 2600-Daptor II
- AliExpress USB OTG two-player controller adapter (there are 3 types, Genesis, NES, and SNES)
- Colecovisio-Daptor (only tested joystick handling, not the number pad)
- Hyperkin PS1/PS2 adapter
- MayFlash Gamecube USB adapter
- MayFlash Universal USB adapter for PS1/PS2/PS3/Xbox
- Neogeo-Daptor
- Retrode (only SNES/Genesis adapter part works, not carts)
- Retro Freak controller adapter (this is a nice one because it supports NES,SNES, Genesis, and PC Engine)
These usually support a variety of wirless gamepads
- 8BitDo NES Retro Receiver
- 8BitDo SNES Retro Receiver
Wired, or wireless with dedicated dongle
- 8BitDo SFC30 gamepad
- Retro Freak controler
- iBuffalo SNES
- iBuffalo Famicom (BGCFC801)
- Logitech F710
- Retrolink NES2 (dogbone)
Burn to Fight(tm)
- Hori RAP Pro VLX Hayabusa
- Mayflash F300 Arcade Fighting Stick for Xbox360 / PS3 / PC
For DYI people
- AliExpress USB encoder board