From f1c274038bcc490b8d4e285cd1c6b49b99749324 Mon Sep 17 00:00:00 2001
From: zuiki_inn <[EMAIL REDACTED]>
Date: Wed, 5 Aug 2026 23:29:17 +0900
Subject: [PATCH] add EVOTOP AXIS controller support (#16117)
---
src/joystick/hidapi/SDL_hidapi_zuiki.c | 11 +++++++++--
src/joystick/usb_ids.h | 1 +
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/joystick/hidapi/SDL_hidapi_zuiki.c b/src/joystick/hidapi/SDL_hidapi_zuiki.c
index d5958be09dc81..72d79fceb30b6 100644
--- a/src/joystick/hidapi/SDL_hidapi_zuiki.c
+++ b/src/joystick/hidapi/SDL_hidapi_zuiki.c
@@ -98,6 +98,7 @@ static bool HIDAPI_DriverZUIKI_IsSupportedDevice(SDL_HIDAPI_Device *device, cons
case USB_PRODUCT_ZUIKI_EVOTOP_UWB_DINPUT:
case USB_PRODUCT_ZUIKI_EVOTOP_PC_DINPUT:
case USB_PRODUCT_ZUIKI_EVOTOP_PC_BT:
+ case USB_PRODUCT_ZUIKI_EVOTOP_AXIS_DINPUT:
return true;
default:
break;
@@ -149,6 +150,9 @@ static bool HIDAPI_DriverZUIKI_InitDevice(SDL_HIDAPI_Device *device)
}
HIDAPI_SetDeviceName(device, "ZUIKI EVOTOP");
break;
+ case USB_PRODUCT_ZUIKI_EVOTOP_AXIS_DINPUT:
+ HIDAPI_SetDeviceName(device, "ZUIKI EVOTOP AXIS");
+ break;
default:
break;
}
@@ -207,7 +211,9 @@ static bool HIDAPI_DriverZUIKI_RumbleJoystickTriggers(SDL_HIDAPI_Device *device,
static Uint32 HIDAPI_DriverZUIKI_GetJoystickCapabilities(SDL_HIDAPI_Device *device, SDL_Joystick *joystick)
{
Uint32 caps = 0;
- caps |= SDL_JOYSTICK_CAP_RUMBLE;
+ if (device->product_id != USB_PRODUCT_ZUIKI_EVOTOP_AXIS_DINPUT) {
+ caps |= SDL_JOYSTICK_CAP_RUMBLE;
+ }
return caps;
}
@@ -453,7 +459,8 @@ static bool HIDAPI_DriverZUIKI_UpdateDevice(SDL_HIDAPI_Device *device)
HIDAPI_DriverZUIKI_Handle_EVOTOP_PCBT_StatePacket(joystick, ctx, data, size);
} else if (device->product_id == USB_PRODUCT_ZUIKI_EVOTOP_PC_DINPUT
|| device->product_id == USB_PRODUCT_ZUIKI_MASCON_PRO
- || device->product_id == USB_PRODUCT_ZUIKI_EVOTOP_UWB_DINPUT) {
+ || device->product_id == USB_PRODUCT_ZUIKI_EVOTOP_UWB_DINPUT
+ || device->product_id == USB_PRODUCT_ZUIKI_EVOTOP_AXIS_DINPUT) {
HIDAPI_DriverZUIKI_HandleOldStatePacket(joystick, ctx, data, size);
}
}
diff --git a/src/joystick/usb_ids.h b/src/joystick/usb_ids.h
index 4d8301e25e18c..b8d6b63788733 100644
--- a/src/joystick/usb_ids.h
+++ b/src/joystick/usb_ids.h
@@ -213,6 +213,7 @@
#define USB_PRODUCT_ZUIKI_EVOTOP_UWB_DINPUT 0X001c
#define USB_PRODUCT_ZUIKI_EVOTOP_PC_DINPUT 0X001d
#define USB_PRODUCT_ZUIKI_EVOTOP_PC_BT 0X0017
+#define USB_PRODUCT_ZUIKI_EVOTOP_AXIS_DINPUT 0X0020
#define USB_PRODUCT_VOIDGAMING_PS4FIREBIRD 0x10e5
#define USB_PRODUCT_VOIDGAMING_GENESIS_SINPUT 0x1014