An adapter allowing hardware level USB parsing and Xinput device emulation using a Teensy 3.6
I also wrote and published an Arduino library found here:
https://github.com/SantiagoSaldana/SBC
This leads to very low latency.
It also means that the controller is now operating system agonistic and will work on any device that supports an Xinput device, including Quest and Quest 2.
I wrote extensive installation instructions from the viewpoint of never having used Arduino before.
But for experts it boils down to this.
- Solder pin headers onto USB pins on Teensy 3.6 and connect USB adapter, be careful of polarity
- Test device to make sure you have header on properly before connecting SBC
- Install Arduino and Teensyduino and make sure you install USBHost_t36 go on and install the SBC library
- Select the Serial + Keyboard + Mouse + Joystick as the USB type.
- Upload the HIDJoystick example from the SBC library.
- Test out SBC joystick in your joystick program of choice
- To emulate an XInput device, install XInput hardware files https://github.com/dmadison/ArduinoXInput_Teensy
- Install Xinput library in Arduino
- Select Xinput as the USB type
- Upload XInputMachinae file and enjoy.
When using HDJOY it will show a max of 32 buttons? None of the toggles, gear lever or tuner dial works and a couple switch's and two of the three Pedals do not work. Anything that is coded with a number above 32. Buttons also do not light up when pressed, It doesn't just seem to be a windows thing as Pointy's Joystick test cannot register them sending input either. Teensy 4.1, Arduino 1.8.19, Teensyduino 1.5.7, SBC 0.0.3. Everything seems to be compatible and firmware flashes fine. I have also tried it with the Versions you linked and same issues.