From 2a6ad477e65a4f936914e552133e794338561207 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 23:33:43 -0500 Subject: [PATCH] Store name in HoltekControllers to avoid setting it in detectors --- .../HoltekA070Controller/HoltekA070Controller.cpp | 8 +++++++- .../HoltekA070Controller/HoltekA070Controller.h | 4 +++- .../RGBController_HoltekA070.cpp | 2 +- .../HoltekA1FAController/HoltekA1FAController.cpp | 14 ++++++++++---- .../HoltekA1FAController/HoltekA1FAController.h | 4 +++- .../RGBController_HoltekA1FA.cpp | 2 +- .../HoltekController/HoltekControllerDetect.cpp | 4 ++-- 7 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.cpp b/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.cpp index d96173c5..7a9ba50f 100644 --- a/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.cpp +++ b/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.cpp @@ -13,10 +13,11 @@ #include "HoltekA070Controller.h" #include "StringUtils.h" -HoltekA070Controller::HoltekA070Controller(hid_device* dev_handle, const char* path) +HoltekA070Controller::HoltekA070Controller(hid_device* dev_handle, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; } HoltekA070Controller::~HoltekA070Controller() @@ -29,6 +30,11 @@ std::string HoltekA070Controller::GetDeviceLocation() return("HID: " + location); } +std::string HoltekA070Controller::GetNameString() +{ + return(name); +} + std::string HoltekA070Controller::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.h b/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.h index 533b3bd3..37c55423 100644 --- a/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.h +++ b/Controllers/HoltekController/HoltekA070Controller/HoltekA070Controller.h @@ -25,10 +25,11 @@ enum class HoltekA070Controller { public: - HoltekA070Controller(hid_device* dev_handle, const char* path); + HoltekA070Controller(hid_device* dev_handle, const char* path, std::string dev_name); ~HoltekA070Controller(); std::string GetDeviceLocation(); + std::string GetNameString(); std::string GetSerialString(); void SendCustomColor @@ -46,4 +47,5 @@ public: private: hid_device* dev; std::string location; + std::string name; }; diff --git a/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp b/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp index 840fe312..67cdf9ee 100644 --- a/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp +++ b/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp @@ -26,7 +26,7 @@ RGBController_HoltekA070::RGBController_HoltekA070(HoltekA070Controller* control { controller = controller_ptr; - name = "Holtek USB Gaming Mouse"; + name = controller->GetNameString(); vendor = "Holtek"; type = DEVICE_TYPE_MOUSE; description = "Holtek USB Gaming Mouse Device"; diff --git a/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.cpp b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.cpp index d692f4df..66765b84 100644 --- a/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.cpp +++ b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.cpp @@ -13,10 +13,11 @@ #include "HoltekA1FAController.h" #include "StringUtils.h" -HoltekA1FAController::HoltekA1FAController(hid_device *dev_handle, const char *path) +HoltekA1FAController::HoltekA1FAController(hid_device *dev_handle, const char *path, std::string dev_name) { - dev = dev_handle; - location = path; + dev = dev_handle; + location = path; + name = dev_name; } HoltekA1FAController::~HoltekA1FAController() @@ -26,7 +27,12 @@ HoltekA1FAController::~HoltekA1FAController() std::string HoltekA1FAController::GetDeviceLocation() { - return ("HID: " + location); + return("HID: " + location); +} + +std::string HoltekA1FAController::GetNameString() +{ + return(name); } std::string HoltekA1FAController::GetSerialString() diff --git a/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.h b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.h index a3b63d52..2d7004e9 100644 --- a/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.h +++ b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAController.h @@ -49,10 +49,11 @@ enum class HoltekA1FAController { public: - HoltekA1FAController(hid_device *dev_handle, const char *path); + HoltekA1FAController(hid_device *dev_handle, const char *path, std::string dev_name); ~HoltekA1FAController(); std::string GetDeviceLocation(); + std::string GetNameString(); std::string GetSerialString(); void SendData(unsigned char mode, unsigned char brightness, unsigned char speed, unsigned char preset, unsigned char red, unsigned char green, unsigned char blue); @@ -60,4 +61,5 @@ public: private: hid_device *dev; std::string location; + std::string name; }; diff --git a/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp b/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp index 2f167904..e2078ba7 100644 --- a/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp +++ b/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp @@ -26,7 +26,7 @@ RGBController_HoltekA1FA::RGBController_HoltekA1FA(HoltekA1FAController* control { controller = controller_ptr; - name = "Holtek Mousemat"; + name = controller->GetNameString(); vendor = "Holtek"; type = DEVICE_TYPE_MOUSEMAT; description = "Holtek Mousemat Device"; diff --git a/Controllers/HoltekController/HoltekControllerDetect.cpp b/Controllers/HoltekController/HoltekControllerDetect.cpp index 85098f29..b18e48b1 100644 --- a/Controllers/HoltekController/HoltekControllerDetect.cpp +++ b/Controllers/HoltekController/HoltekControllerDetect.cpp @@ -33,7 +33,7 @@ void DetectHoltekControllers(hid_device_info* info, const std::string& name) if(dev) { - HoltekA070Controller* controller = new HoltekA070Controller(dev, info->path); + HoltekA070Controller* controller = new HoltekA070Controller(dev, info->path, name); RGBController_HoltekA070* rgb_controller = new RGBController_HoltekA070(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); @@ -46,7 +46,7 @@ void DetectHoltekMousemats(hid_device_info *info, const std::string &name) if(dev) { - HoltekA1FAController* controller = new HoltekA1FAController(dev, info->path); + HoltekA1FAController* controller = new HoltekA1FAController(dev, info->path, name); RGBController_HoltekA1FA* rgb_controller = new RGBController_HoltekA1FA(controller); ResourceManager::get()->RegisterRGBController(rgb_controller);