From f9bfb951ca60274d429c339d6ac3783b6a112d06 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 12 Aug 2025 18:54:35 -0500 Subject: [PATCH] Store name in MintakaKeyboardController to avoid setting it in detector --- .../MintakaKeyboardController.cpp | 14 +++++++------- .../MintakaKeyboardController.h | 7 ++++--- .../MintakaKeyboardControllerDetect.cpp | 4 ++-- .../RGBController_MintakaKeyboard.cpp | 4 ++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/Controllers/MintakaKeyboardController/MintakaKeyboardController.cpp b/Controllers/MintakaKeyboardController/MintakaKeyboardController.cpp index cf35cd1c..663c69a8 100644 --- a/Controllers/MintakaKeyboardController/MintakaKeyboardController.cpp +++ b/Controllers/MintakaKeyboardController/MintakaKeyboardController.cpp @@ -16,11 +16,11 @@ using namespace std::chrono_literals; -MintakaKeyboardController::MintakaKeyboardController(hid_device* dev_handle, const hid_device_info& info) +MintakaKeyboardController::MintakaKeyboardController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name) { dev = dev_handle; - version = ""; location = info.path; + name = dev_name; wchar_t serial_string[128]; int ret = hid_get_serial_number_string(dev, serial_string, 128); @@ -45,16 +45,16 @@ std::string MintakaKeyboardController::GetDeviceLocation() return("HID: " + location); } +std::string MintakaKeyboardController::GetNameString() +{ + return(name); +} + std::string MintakaKeyboardController::GetSerialString() { return(serial_number); } -std::string MintakaKeyboardController::GetFirmwareVersion() -{ - return(version); -} - void MintakaKeyboardController:: SetLedSequencePositions(std::vector positions) { led_sequence_positions = positions; diff --git a/Controllers/MintakaKeyboardController/MintakaKeyboardController.h b/Controllers/MintakaKeyboardController/MintakaKeyboardController.h index 1f9200be..1d9d949f 100644 --- a/Controllers/MintakaKeyboardController/MintakaKeyboardController.h +++ b/Controllers/MintakaKeyboardController/MintakaKeyboardController.h @@ -91,12 +91,12 @@ enum class MintakaKeyboardController { public: - MintakaKeyboardController(hid_device* dev_handle, const hid_device_info& info); + MintakaKeyboardController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name); ~MintakaKeyboardController(); - std::string GetSerialString(); std::string GetDeviceLocation(); - std::string GetFirmwareVersion(); + std::string GetNameString(); + std::string GetSerialString(); void SetLedSequencePositions(std::vector positions); void SetMode(std::vector modes, int active_mode, std::vector colors); @@ -106,6 +106,7 @@ protected: private: std::string location; + std::string name; std::string serial_number; std::string version; std::vector led_sequence_positions; diff --git a/Controllers/MintakaKeyboardController/MintakaKeyboardControllerDetect.cpp b/Controllers/MintakaKeyboardController/MintakaKeyboardControllerDetect.cpp index 88fef558..07d6c919 100644 --- a/Controllers/MintakaKeyboardController/MintakaKeyboardControllerDetect.cpp +++ b/Controllers/MintakaKeyboardController/MintakaKeyboardControllerDetect.cpp @@ -29,9 +29,9 @@ void DetectMintakaKeyboardControllers(hid_device_info* info, const std::string& if(dev) { - MintakaKeyboardController* controller = new MintakaKeyboardController(dev, *info); + MintakaKeyboardController* controller = new MintakaKeyboardController(dev, *info, name); RGBController_MintakaKeyboard* rgb_controller = new RGBController_MintakaKeyboard(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } diff --git a/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp b/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp index 9626e4b6..d6d320ac 100644 --- a/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp +++ b/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp @@ -79,13 +79,13 @@ typedef struct RGBController_MintakaKeyboard::RGBController_MintakaKeyboard(MintakaKeyboardController* controller_ptr) { controller = controller_ptr; - name = "Mintaka Keyboard"; + + name = controller->GetNameString(); vendor = "VSG"; type = DEVICE_TYPE_KEYBOARD; description = name; location = controller->GetDeviceLocation(); serial = controller->GetSerialString(); - version = controller->GetFirmwareVersion(); mode Custom; Custom.name = "Custom";