From f1c274038bcc490b8d4e285cd1c6b49b99749324 Mon Sep 17 00:00:00 2001 From: zuiki_inn 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 d5958be09d..72d79fceb3 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 4d8301e25e..b8d6b63788 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