From 5799ea8160a77667b61ff117b267a0ea1e8e259e Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sun, 3 Aug 2025 21:33:56 -0500 Subject: [PATCH] Store name in AOCKeyboardController to avoid setting it in detector --- .../AOCKeyboardController/AOCKeyboardController.cpp | 8 +++++++- Controllers/AOCKeyboardController/AOCKeyboardController.h | 4 +++- .../AOCKeyboardController/AOCKeyboardControllerDetect.cpp | 3 +-- .../AOCKeyboardController/RGBController_AOCKeyboard.cpp | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Controllers/AOCKeyboardController/AOCKeyboardController.cpp b/Controllers/AOCKeyboardController/AOCKeyboardController.cpp index e35c9e39..fa06d204 100644 --- a/Controllers/AOCKeyboardController/AOCKeyboardController.cpp +++ b/Controllers/AOCKeyboardController/AOCKeyboardController.cpp @@ -17,10 +17,11 @@ using namespace std::chrono_literals; -AOCKeyboardController::AOCKeyboardController(hid_device* dev_handle, const char* path) +AOCKeyboardController::AOCKeyboardController(hid_device* dev_handle, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; } AOCKeyboardController::~AOCKeyboardController() @@ -33,6 +34,11 @@ std::string AOCKeyboardController::GetDeviceLocation() return("HID " + location); } +std::string AOCKeyboardController::GetDeviceName() +{ + return(name); +} + std::string AOCKeyboardController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/AOCKeyboardController/AOCKeyboardController.h b/Controllers/AOCKeyboardController/AOCKeyboardController.h index dfb108fa..6c15b381 100644 --- a/Controllers/AOCKeyboardController/AOCKeyboardController.h +++ b/Controllers/AOCKeyboardController/AOCKeyboardController.h @@ -64,10 +64,11 @@ enum class AOCKeyboardController { public: - AOCKeyboardController(hid_device* dev_handle, const char* path); + AOCKeyboardController(hid_device* dev_handle, const char* path, std::string dev_name); ~AOCKeyboardController(); std::string GetDeviceLocation(); + std::string GetDeviceName(); std::string GetSerialString(); void SetLightingConfig @@ -88,6 +89,7 @@ public: private: hid_device* dev; std::string location; + std::string name; void SendStartPacket(); void SendEndPacket(); diff --git a/Controllers/AOCKeyboardController/AOCKeyboardControllerDetect.cpp b/Controllers/AOCKeyboardController/AOCKeyboardControllerDetect.cpp index b999946d..b7c528f2 100644 --- a/Controllers/AOCKeyboardController/AOCKeyboardControllerDetect.cpp +++ b/Controllers/AOCKeyboardController/AOCKeyboardControllerDetect.cpp @@ -34,9 +34,8 @@ void DetectAOCKeyboardControllers(hid_device_info* info, const std::string& name if(dev) { - AOCKeyboardController* controller = new AOCKeyboardController(dev, info->path); + AOCKeyboardController* controller = new AOCKeyboardController(dev, info->path, name); RGBController_AOCKeyboard* rgb_controller = new RGBController_AOCKeyboard(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp b/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp index d581c815..4c5fb201 100644 --- a/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp +++ b/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp @@ -52,7 +52,7 @@ RGBController_AOCKeyboard::RGBController_AOCKeyboard(AOCKeyboardController* cont { controller = controller_ptr; - name = "AOC Keyboard Device"; + name = controller->GetDeviceName(); vendor = "AOC"; type = DEVICE_TYPE_KEYBOARD; description = "AOC Keyboard Device";