From c8c5f775950121f58d4b85886d0a37aa42b298c2 Mon Sep 17 00:00:00 2001 From: morg Date: Wed, 18 Oct 2023 22:43:17 +0000 Subject: [PATCH] Add support for Bloody W90 MAX. Closes #3500 --- .../A4TechController/A4Tech_Detector.cpp | 2 +- .../A4TechController/BloodyMouseController.cpp | 1 + .../A4TechController/BloodyMouseController.h | 2 +- .../RGBController_BloodyMouse.cpp | 18 +++++++++++++++++- .../RGBController_BloodyMouse.h | 1 - 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Controllers/A4TechController/A4Tech_Detector.cpp b/Controllers/A4TechController/A4Tech_Detector.cpp index 4e2dcea9..5e576ff7 100644 --- a/Controllers/A4TechController/A4Tech_Detector.cpp +++ b/Controllers/A4TechController/A4Tech_Detector.cpp @@ -3,7 +3,6 @@ \*-----------------------------------------------------*/ #include #include "Detector.h" -#include "LogManager.h" #include "RGBController.h" /*-----------------------------------------------------*\ @@ -31,4 +30,5 @@ void DetectA4TechMouseControllers(hid_device_info* info, const std::string& name } REGISTER_HID_DETECTOR_IPU("Bloody W60 Pro", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W60_PRO_PID, 2, 0xFF33, 0x0529); +REGISTER_HID_DETECTOR_IPU("Bloody W90 Max", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W90_MAX_PID, 2, 0xFF33, 0x053D); REGISTER_HID_DETECTOR_IPU("Bloody MP 50RS", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_MP_50RS_PID, 2, 0xFFF2, 0x6009); diff --git a/Controllers/A4TechController/BloodyMouseController.cpp b/Controllers/A4TechController/BloodyMouseController.cpp index 1f33c9ab..14156994 100644 --- a/Controllers/A4TechController/BloodyMouseController.cpp +++ b/Controllers/A4TechController/BloodyMouseController.cpp @@ -8,6 +8,7 @@ \*---------------------------------------------------------------------*/ #include "BloodyMouseController.h" +#include "LogManager.h" BloodyMouseController::BloodyMouseController(hid_device* dev_handle, const char* path, uint16_t product_id) { diff --git a/Controllers/A4TechController/BloodyMouseController.h b/Controllers/A4TechController/BloodyMouseController.h index e8841351..f8c8723d 100644 --- a/Controllers/A4TechController/BloodyMouseController.h +++ b/Controllers/A4TechController/BloodyMouseController.h @@ -9,7 +9,6 @@ #include #include -#include "LogManager.h" #include "RGBController.h" #pragma once @@ -18,6 +17,7 @@ | Mouse product IDs | \*-----------------------------------------------------*/ #define BLOODY_W60_PRO_PID 0x37EA +#define BLOODY_W90_MAX_PID 0x3666 /*-----------------------------------------------------*\ | Mousemat product IDs | diff --git a/Controllers/A4TechController/RGBController_BloodyMouse.cpp b/Controllers/A4TechController/RGBController_BloodyMouse.cpp index 230c629c..e3ab81a1 100644 --- a/Controllers/A4TechController/RGBController_BloodyMouse.cpp +++ b/Controllers/A4TechController/RGBController_BloodyMouse.cpp @@ -25,6 +25,19 @@ static const mouse_layout w60_pro } }; +static const mouse_layout w90_max +{ + { + "Scroll Wheel", { 14 } + }, + { + "Logo", { 7 } + }, + { + "Rear", { 13, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 1, 0 } + } +}; + static const mouse_layout mp_50rs { { @@ -56,7 +69,6 @@ RGBController_BloodyMouse::RGBController_BloodyMouse(BloodyMouseController *cont type = DEVICE_TYPE_MOUSE; } - name = "BloodyMouse"; vendor = "Bloody"; description = "Controller compatible with the Bloody W60 Pro and MP 50RS"; serial = controller->GetSerial(); @@ -89,11 +101,15 @@ void RGBController_BloodyMouse::SetupZones() | Select layout from PID | \*-------------------------------------------------*/ mouse_layout layout; + switch(controller->GetPid()) { case BLOODY_W60_PRO_PID: layout = w60_pro; break; + case BLOODY_W90_MAX_PID: + layout = w90_max; + break; case BLOODY_MP_50RS_PID: layout = mp_50rs; break; diff --git a/Controllers/A4TechController/RGBController_BloodyMouse.h b/Controllers/A4TechController/RGBController_BloodyMouse.h index c2ba6005..5a6d0c52 100644 --- a/Controllers/A4TechController/RGBController_BloodyMouse.h +++ b/Controllers/A4TechController/RGBController_BloodyMouse.h @@ -9,7 +9,6 @@ #pragma once #include -#include "LogManager.h" #include "RGBController.h" #include "BloodyMouseController.h"