|
|
@@ -1305,10 +1305,19 @@ bool HIDAPI_IsDevicePresent(Uint16 vendor_id, Uint16 product_id, Uint16 version,
|
|
|
*/
|
|
|
SDL_LockJoysticks();
|
|
|
for (device = SDL_HIDAPI_devices; device; device = device->next) {
|
|
|
+#ifdef SDL_AUTO_ENABLE_ENHANCED_FLYDIGI
|
|
|
+ // The HIDAPI functionality will always be available, so ignore the XInput interface
|
|
|
+#else
|
|
|
+ // The HIDAPI functionality will be available when the FlyDigi Space Station app has
|
|
|
+ // enabled third party controller mapping, so the driver needs to be active to watch
|
|
|
+ // for that change. Since this is dynamic and we don't have a way to re-trigger device
|
|
|
+ // changes when that happens, we'll pretend the driver isn't available so the XInput
|
|
|
+ // interface will always show up (but won't have any input when the controller is in
|
|
|
+ // enhanced mode)
|
|
|
if (device->vendor_id == USB_VENDOR_FLYDIGI_V2) {
|
|
|
- // Ignore the Apex 5, as it can dynamically switch between Xbox and HIDAPI mode
|
|
|
continue;
|
|
|
}
|
|
|
+#endif // SDL_AUTO_ENABLE_ENHANCED_FLYDIGI
|
|
|
|
|
|
if (device->driver &&
|
|
|
HIDAPI_IsEquivalentToDevice(vendor_id, product_id, device)) {
|