Skip to content

Xinput support - emulate xbox 360 controllers #185

Open
@leecyrille

Description

@leecyrille

Is your feature request related to a problem? Please describe.
Existing solutions for xinput and the RP2040/pico require platform.io and other unstable solutions which are difficult to use.

I am attempting to make a 4 player xinput solution for arcade cabinets

Describe the solution you'd like
Add xinput to the Adafruit_TinyUSB library similar to this:

Describe alternatives you've considered
I have am using David Madison's xinput library for Arduino in my arcade cabinet now, but it is slower to initilize and not as nice for flashing. RP2040 availability is also better for building custom boards.

Additional context

Arduino 32U4 and Teensy xinput library:
https://github.com/dmadison/ArduinoXInput
https://www.partsnotincluded.com/understanding-the-xbox-360-wired-controllers-usb-data/ (Extremely versbose explaination of xinput)
https://www.partsnotincluded.com/xbox-360-controller-led-animations-info/ (details about the player LED data - LED data is useful for trying to build multiplayer controllers)

Example project with RP2040 and xinput option (also nintendo switch):
https://github.com/FeralAI/GP2040 (older version)
https://github.com/OpenStickFoundation/GP2040-CE (Newer community fork under active development)
https://discord.gg/kbU9FC2v (Discord channel with firmware developer channel - massive amounts of info regarding game controllers)

composite libary for ST F1/F4 with xinput AND multiple Xinput on a single MCU (This would be amazing to have in arduino)
https://github.com/arpruss/USBComposite_stm32f1

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions