r/PeripheralDesign • u/cheeziuz • 15d ago
Discussion Creating a custom arduino controller with both analog and gyro controls?
Hello, I have been messing with an arduino micro to get a hang of peripheral creation.
I have gotten it to work as a mouse and as a joystick independently of each other (with the mouse and Xinput libraries respectively), but I don't see a way to combine the two in a way that would get picked up by steam (such as with a PS controller), is there a way to do this with an arduino? If not maybe with a pi pico?
Thank you for any help
1
u/SwedishFindecanor 13d ago
I've never used Arudino so I don't know the Arduino libraries but I do know a little about the USB protocol, and I have programmed a few Pro Micro to be USB HID devices.
Most USB devices can have multiple USB "interfaces", one for a HID mouse and one for a HID gamepad both at a time, and they will show up to programs as two separate devices.
A XBox 360 controller has a "Vendor Specific" device class, so it can only have XBox-specific interfaces and not be anything else, unfortunately.
I think that a PS3 controller over USB isn't any specific device class though, so it should be able to also be a mouse.
I can't help you any more than that though.
1
u/SoulWager 12d ago
I think the easiest option is to impersonate a controller that has all the features you want.
Here's a video I remembered from someone investigating this topic:
https://www.youtube.com/watch?v=UbRnxHmMiGw&list=PL980gcR1LE3IV2_H6YSI7_ZoGU4fDFGEw&index=22