I’m using a Teensy++ 2.0 as the controller to run this thing with RetroPie (on RP3). I’ve been trying to find a good forum to ask this question but I can’t find a good intersection of: RetroPie emulation, Teensy controller programming, and fight stick latency discussion. I’m posting here, since my primary goal would be to set up a controller with least amount of latency (understanding that some will be inevitable from the emulation).
**My question is should I program it up to run as a USB Keyboard, a USB Joystick, or as a Serial USB controller. **
Context:
Teensy uses the Arduino environment through the Teensyduino Loader which allows you to set up the controller as either of the 3. For Keyboard, the programming is fairly easy, but there is a limit of 62.5 keystrokes per second. Keyboard programming
Serial does not have this issue - however I am not sure RetroPie accepts serial. Serial programming
I expect Joystick also does not have this issue, but same issue of support may remain. Joystick programming
Has anyone been at a similar crossroad with some experience to share? Or am I overthinking this issue and MAME emulation on retropie is not worth even thinking about this stuff?
I use Recalbox, and not Retropie. If I was rolling a stick specifically for use with a Pi system, I’d absolutely go with the HID option. It’s standardized, accepted by most hardware platforms, and easy to roll on the Teensy or any other micro.
The Serial over USB solution would likely require some other program translating the incoming serial data to mimic a HID. Might as well cut out the middleman. Regardless of the method you choose I suspect the vast majority of input lag would come from running an emulator on a Pi; I wouldn’t worry about it.
Given your experience with fighting games, would a bottleneck 62.5 keystrokes/sec be noticeable or detrimental? I have no history with fighting games, but want to get into them.