Arcade Stick build - help with Teensy controller

Obligatory picture of the WIP.

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. **

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?

*edit: fixed links

ok I gotta know how the joystick is mounted.

This is just a prototype - I plan to build an actual case for it later. Right now it’s held by the cardboard of the box.

How is it fasten to place?

The mounting plate is screwed in with a couple of screws - the washer is just covering it.

Oh you are using the screws that hold the mount plate to the rest of the joystick.
A Little non-orthodox but it works for now.

Yes, it’s only for wiring purposes. I didn’t expect it to draw this many questions

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.

Sorry, I’m not familiar with the terminology.

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.

I’d suggest getting in touch with this guy:

He doesn’t seem to be on SRK anymore though.

Is there a reason why this guy? I didn’t notice him using a teensy board