From 7b2826f6c24d42e124f77dfa2488c1000c379fb0 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 17 Dec 2019 12:03:57 -0800 Subject: [PATCH] Added Android support for the Hyperkin X91 and the SteelSeries Stratus Duo --- .../main/java/org/libsdl/app/HIDDeviceManager.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java index 241775d46671d..4a54ef7b33847 100644 --- a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java +++ b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java @@ -275,8 +275,9 @@ private boolean isXbox360Controller(UsbDevice usbDevice, UsbInterface usbInterfa 0x06a3, // Saitek 0x0738, // Mad Catz 0x07ff, // Mad Catz - 0x0e6f, // Unknown + 0x0e6f, // PDP 0x0f0d, // Hori + 0x1038, // SteelSeries 0x11c9, // Nacon 0x12ab, // Unknown 0x1430, // RedOctane @@ -289,7 +290,8 @@ private boolean isXbox360Controller(UsbDevice usbDevice, UsbInterface usbInterfa 0x24c6, // PowerA }; - if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC && + if (usbInterface.getId() == 0 && + usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC && usbInterface.getInterfaceSubclass() == XB360_IFACE_SUBCLASS && usbInterface.getInterfaceProtocol() == XB360_IFACE_PROTOCOL) { int vendor_id = usbDevice.getVendorId(); @@ -308,13 +310,15 @@ private boolean isXboxOneController(UsbDevice usbDevice, UsbInterface usbInterfa final int[] SUPPORTED_VENDORS = { 0x045e, // Microsoft 0x0738, // Mad Catz - 0x0e6f, // Unknown + 0x0e6f, // PDP 0x0f0d, // Hori 0x1532, // Razer Wildcat 0x24c6, // PowerA + 0x2e24, // Hyperkin }; - if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC && + if (usbInterface.getId() == 0 && + usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC && usbInterface.getInterfaceSubclass() == XB1_IFACE_SUBCLASS && usbInterface.getInterfaceProtocol() == XB1_IFACE_PROTOCOL) { int vendor_id = usbDevice.getVendorId();