stick
stick copied to clipboard
Implement Another API For Windows
Is your feature request related to a problem? Please describe. Currently, the Windows port of stick depends on xinput - this does not include other controllers that do not conform to the w3 standard gamepad such as flightsticks.
Describe the solution you'd like Have an alternative way to connect controllers on Windows.
Describe alternatives you've considered I currently believe a different API has to be implemented to support these controllers.
Additional context
@iRaiko perhaps some of the stuff you worked on earlier at https://github.com/iRaiko/hidtest for the Windows port could still be used for this?
@dparnell any thoughts?
The trick is finding a way of talking to controllers that works reliably on Windows. Xinput seems to be the latest Microsoft blessed way of talking to devices. When I was working through the current Windows code I tried a couple of other APIs but I could not get them to work. It might be that I was trying to use them with Xbox controllers and if I'd used an older style controller it might have just worked.
@dparnell So I'm thinking theoretically with a combination of APIs, Stick should be able to support all controllers. I also looked for paddle buttons in the XInput API and did not see them, and I believe those exist on some newer Xbox controllers (although I don't have one to test). So, I guess what I'm wondering is how Xinput can be the newest Microsoft API and not support the newest controllers (unless I'm missing something). Also it might be that I need to install a driver for my flight controller and that's why it didn't work.
The elite controllers have 4 extra paddles on the bottom. I have two of them here, but I have to say I found them annoying so I removed them. My wife uses two of them on the left side on her controller, so I know they can be nice in some games. From what I saw in the docs they should generate key events. I'll have to take a look and see what happens when I press them.