Fixed feature detection for the Razer Raiju Tournament Edition controller

main
Sam Lantinga 2022-09-23 15:27:40 -07:00
parent f6c9b06562
commit 56b91ea720
1 changed files with 4 additions and 4 deletions

View File

@ -309,10 +309,6 @@ HIDAPI_DriverPS4_InitDevice(SDL_HIDAPI_Device *device)
ctx->effects_supported = SDL_TRUE; ctx->effects_supported = SDL_TRUE;
ctx->sensors_supported = SDL_TRUE; ctx->sensors_supported = SDL_TRUE;
ctx->touchpad_supported = SDL_TRUE; ctx->touchpad_supported = SDL_TRUE;
} else if (device->vendor_id == USB_VENDOR_RAZER && device->product_id == USB_PRODUCT_RAZER_RAIJU) {
/* This doesn't respond to the detection protocol, but has a touchpad and vibration */
ctx->effects_supported = SDL_TRUE;
ctx->touchpad_supported = SDL_TRUE;
} else if ((size = ReadFeatureReport(device->dev, k_ePS4FeatureReportIdCapabilities, data, sizeof(data))) == 48 && } else if ((size = ReadFeatureReport(device->dev, k_ePS4FeatureReportIdCapabilities, data, sizeof(data))) == 48 &&
data[2] == 0x27) { data[2] == 0x27) {
Uint8 capabilities = data[4]; Uint8 capabilities = data[4];
@ -329,6 +325,10 @@ HIDAPI_DriverPS4_InitDevice(SDL_HIDAPI_Device *device)
if ((capabilities & 0x40) != 0) { if ((capabilities & 0x40) != 0) {
ctx->touchpad_supported = SDL_TRUE; ctx->touchpad_supported = SDL_TRUE;
} }
} else if (device->vendor_id == USB_VENDOR_RAZER) {
/* The Razer Raiju doesn't respond to the detection protocol, but has a touchpad and vibration */
ctx->effects_supported = SDL_TRUE;
ctx->touchpad_supported = SDL_TRUE;
} }
device->type = SDL_CONTROLLER_TYPE_PS4; device->type = SDL_CONTROLLER_TYPE_PS4;