From b9a8a62e38c0d30114499a8a829ba58ace853a9b Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sun, 3 Aug 2025 21:42:40 -0500 Subject: [PATCH] Store name in AOCMousematController to avoid setting it in detector --- .../AOCMousematController/AOCMousematController.cpp | 8 +++++++- Controllers/AOCMousematController/AOCMousematController.h | 4 +++- .../AOCMousematController/AOCMousematControllerDetect.cpp | 3 +-- .../AOCMousematController/RGBController_AOCMousemat.cpp | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Controllers/AOCMousematController/AOCMousematController.cpp b/Controllers/AOCMousematController/AOCMousematController.cpp index 4d8b0e1c..897af8f8 100644 --- a/Controllers/AOCMousematController/AOCMousematController.cpp +++ b/Controllers/AOCMousematController/AOCMousematController.cpp @@ -13,10 +13,11 @@ #include "AOCMousematController.h" #include "StringUtils.h" -AOCMousematController::AOCMousematController(hid_device* dev_handle, const char* path) +AOCMousematController::AOCMousematController(hid_device* dev_handle, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; } AOCMousematController::~AOCMousematController() @@ -29,6 +30,11 @@ std::string AOCMousematController::GetDeviceLocation() return("HID " + location); } +std::string AOCMousematController::GetDeviceName() +{ + return(name); +} + std::string AOCMousematController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/AOCMousematController/AOCMousematController.h b/Controllers/AOCMousematController/AOCMousematController.h index 0f6fc382..413a9569 100644 --- a/Controllers/AOCMousematController/AOCMousematController.h +++ b/Controllers/AOCMousematController/AOCMousematController.h @@ -55,10 +55,11 @@ enum class AOCMousematController { public: - AOCMousematController(hid_device* dev_handle, const char* path); + AOCMousematController(hid_device* dev_handle, const char* path, std::string dev_name); ~AOCMousematController(); std::string GetDeviceLocation(); + std::string GetDeviceName(); std::string GetSerialString(); void SendDirect @@ -78,4 +79,5 @@ public: private: hid_device* dev; std::string location; + std::string name; }; diff --git a/Controllers/AOCMousematController/AOCMousematControllerDetect.cpp b/Controllers/AOCMousematController/AOCMousematControllerDetect.cpp index fe5383a6..1d0cc0d0 100644 --- a/Controllers/AOCMousematController/AOCMousematControllerDetect.cpp +++ b/Controllers/AOCMousematController/AOCMousematControllerDetect.cpp @@ -33,9 +33,8 @@ void DetectAOCMousematControllers(hid_device_info* info, const std::string& name if(dev) { - AOCMousematController* controller = new AOCMousematController(dev, info->path); + AOCMousematController* controller = new AOCMousematController(dev, info->path, name); RGBController_AOCMousemat* rgb_controller = new RGBController_AOCMousemat(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp b/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp index b911a0d1..b70ec0ae 100644 --- a/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp +++ b/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp @@ -26,7 +26,7 @@ RGBController_AOCMousemat::RGBController_AOCMousemat(AOCMousematController* cont { controller = controller_ptr; - name = "AOC Mousemat Device"; + name = controller->GetDeviceName(); vendor = "AOC"; type = DEVICE_TYPE_MOUSEMAT; description = "AOC Mousemat Device";