Question: Use XInput on other devices #77
-
|
Is there a way to get XInput working on other devices (IOS, Android)? Looks like it's working on PC only. Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
Do you know if your target system has XInput drivers? (One way to tell would be to see if you can plug in a real XBox controller and get it recognized and usable.) If not, there's probably no possibility, since XInput is a proprietary Microsoft thing, not a standard USB device type, so it needs a dedicated driver in the OS. If your platform does have that support built in, you can probably get Pinscape recognized as an XBox device there by changing the Pinscape USB VID and PID to use the same ones that a real XBox does - that's how the USB drivers normally recognize them. I don't think this is published anywhere (again, it's all proprietary), but Googling it turns up VID 045E, PID 028E for XBox 360 Controller. |
Beta Was this translation helpful? Give feedback.
-
|
Yeah, that sounds pretty unusable. The Windows XInput device driver must be claiming exclusive access to the device when it recognizes the magic Microsoft VID/PID codes, preventing anyone from seeing its other USB interfaces (which are how the Config Tool accesses it). I don't think there's anything that we can do about that - that would be something buried inside the XInput device driver, which is built into Windows. So I think the only workaround is to do an external reset via a physical control, just as you're doing by forcing the device into Boot Loader mode, so that the device doesn't display the XBox VID/PID and thus the XInput driver doesn't seize control. But I understand how inconvenient that is. The only idea I can come up with for improving this (slightly) is to configure a GPIO as a button input, and program the button to reset the device into Safe Mode. You'd still have to access a physical control, but you could at least run button wiring from the Pico out to a button on the outside of the cabinet so that you don't have to open up the cabinet to get to the BOOTSEL button. It would also make it unnecessary to delete the configuration, since Safe Mode bypasses the configuration for the current reboot only, without deleting it. There's not currently a button action for resetting into Safe Mode, so this will require a new feature, but it's a really simple extension of the existing |
Beta Was this translation helpful? Give feedback.


Yeah, that sounds pretty unusable. The Windows XInput device driver must be claiming exclusive access to the device when it recognizes the magic Microsoft VID/PID codes, preventing anyone from seeing its other USB interfaces (which are how the Config Tool accesses it). I don't think there's anything that we can do about that - that would be something buried inside the XInput device driver, which is built into Windows. So I think the only workaround is to do an external reset via a physical control, just as you're doing by forcing the device into Boot Loader mode, so that the device doesn't display the XBox VID/PID and thus the XInput driver doesn't seize control.
But I understand how inco…