From d0699472521ee0a30fa916109a67bfbc216b6009 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 22:56:43 -0500 Subject: [PATCH] Store name in WootingKeyboardController to avoid setting it in detector --- .../RGBController_WootingKeyboard.cpp | 22 +++++++++---------- .../WootingKeyboardControllerDetect.cpp | 6 ++--- .../WootingOneKeyboardController.cpp | 3 ++- .../WootingOneKeyboardController.h | 2 +- .../WootingTwoKeyboardController.cpp | 3 ++- .../WootingTwoKeyboardController.h | 2 +- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp b/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp index 6360e3ad..c2af5d37 100644 --- a/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp +++ b/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp @@ -303,22 +303,22 @@ static const char *led_names_80HE[] = RGBController_WootingKeyboard::RGBController_WootingKeyboard(WootingKeyboardController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; LOG_DEBUG("%sAdding meta data", WOOTING_CONTROLLER_NAME); - name = controller->GetName(); - vendor = controller->GetVendor(); - type = DEVICE_TYPE_KEYBOARD; - description = controller->GetDescription(); - location = controller->GetLocation(); - serial = controller->GetSerial(); + name = controller->GetName(); + vendor = controller->GetVendor(); + type = DEVICE_TYPE_KEYBOARD; + description = controller->GetDescription(); + location = controller->GetLocation(); + serial = controller->GetSerial(); LOG_DEBUG("%sAdding modes", WOOTING_CONTROLLER_NAME); mode Direct; - Direct.name = "Direct"; - Direct.value = 0xFFFF; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Direct.color_mode = MODE_COLORS_PER_LED; + Direct.name = "Direct"; + Direct.value = 0xFFFF; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); SetupZones(); diff --git a/Controllers/WootingKeyboardController/WootingKeyboardControllerDetect.cpp b/Controllers/WootingKeyboardController/WootingKeyboardControllerDetect.cpp index 7bdc7eff..4a0f06e1 100644 --- a/Controllers/WootingKeyboardController/WootingKeyboardControllerDetect.cpp +++ b/Controllers/WootingKeyboardController/WootingKeyboardControllerDetect.cpp @@ -67,11 +67,10 @@ void DetectWootingOneKeyboardControllers(hid_device_info* info, const std::strin uint8_t wooting_type = (info->product_id == WOOTING_ONE_OLD_PID) ? WOOTING_KB_TKL : WOOTING_KB_FULL; LOG_DEBUG("[%s] Device type %i opened - creating Controller", controller_name, wooting_type); - WootingOneKeyboardController* controller = new WootingOneKeyboardController(dev, info->path, wooting_type); + WootingOneKeyboardController* controller = new WootingOneKeyboardController(dev, info->path, wooting_type, name); LOG_DEBUG("[%s] Controller created - creating RGBController", controller_name); RGBController_WootingKeyboard* rgb_controller = new RGBController_WootingKeyboard(controller); - rgb_controller->name = name; LOG_DEBUG("[%s] Initialization complete - Registering controller\t%s", controller_name, name.c_str()); ResourceManager::get()->RegisterRGBController(rgb_controller); @@ -95,11 +94,10 @@ void DetectWootingTwoKeyboardControllers(hid_device_info* info, const std::strin } LOG_DEBUG("[%s] Device type %i opened - creating Controller", controller_name, wooting_type); - WootingTwoKeyboardController* controller = new WootingTwoKeyboardController(dev, info->path, wooting_type); + WootingTwoKeyboardController* controller = new WootingTwoKeyboardController(dev, info->path, wooting_type, name); LOG_DEBUG("[%s] Controller created - creating RGBController", controller_name); RGBController_WootingKeyboard* rgb_controller = new RGBController_WootingKeyboard(controller); - rgb_controller->name = name; LOG_DEBUG("[%s] Initialization complete - Registering controller\t%s", controller_name, name.c_str()); ResourceManager::get()->RegisterRGBController(rgb_controller); diff --git a/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.cpp b/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.cpp index c5033ccc..be7ca6b5 100644 --- a/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.cpp +++ b/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.cpp @@ -53,10 +53,11 @@ static uint16_t getCrc16ccitt(const uint8_t* buffer, uint16_t size) return crc; } -WootingOneKeyboardController::WootingOneKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type) +WootingOneKeyboardController::WootingOneKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; this->wooting_type = wooting_type; key_code_limit = (wooting_type == WOOTING_KB_TKL) ? WOOTING_ONE_KEY_CODE_LIMIT : WOOTING_TWO_KEY_CODE_LIMIT; diff --git a/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.h b/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.h index 8c04736a..7f1339c6 100644 --- a/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.h +++ b/Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.h @@ -16,7 +16,7 @@ class WootingOneKeyboardController : public WootingKeyboardController { public: - WootingOneKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type); + WootingOneKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type, std::string dev_name); ~WootingOneKeyboardController(); void SendDirect(RGBColor* colors, uint8_t colour_count); diff --git a/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.cpp b/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.cpp index 43a28a71..8fedefc6 100644 --- a/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.cpp +++ b/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.cpp @@ -36,10 +36,11 @@ static unsigned int matrix_to_led_index_map_full[WOOTING_RGB_ROWS * WOOTING_TWO_ 80, 101, NA, 18, 39, 60, 81, 102, 123, 19, 40, 61, 82, 103, 124, 20, 41, 62, NA, 104, NA }; -WootingTwoKeyboardController::WootingTwoKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type) +WootingTwoKeyboardController::WootingTwoKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; this->wooting_type = wooting_type; key_code_limit = (wooting_type == WOOTING_KB_TKL) ? WOOTING_ONE_KEY_CODE_LIMIT : WOOTING_TWO_KEY_CODE_LIMIT; diff --git a/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.h b/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.h index f0a1514a..c6d40e4f 100644 --- a/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.h +++ b/Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.h @@ -16,7 +16,7 @@ class WootingTwoKeyboardController : public WootingKeyboardController { public: - WootingTwoKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type); + WootingTwoKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type, std::string dev_name); ~WootingTwoKeyboardController(); void SendDirect(RGBColor* colors, uint8_t colour_count);