diff --git a/Controllers/AkkoKeyboardController/AkkoKeyboardControllerDetect.cpp b/Controllers/AkkoKeyboardController/AkkoKeyboardControllerDetect.cpp index 0b33fb12e..d49c123ee 100644 --- a/Controllers/AkkoKeyboardController/AkkoKeyboardControllerDetect.cpp +++ b/Controllers/AkkoKeyboardController/AkkoKeyboardControllerDetect.cpp @@ -8,7 +8,7 @@ \*---------------------------------------------------------*/ #include -#include "Detector.h" +#include "DetectionManager.h" #include "AkkoKeyboardController.h" #include "RGBController_AkkoKeyboard.h" @@ -16,24 +16,33 @@ #define AKKO_KEYBOARD_PID 0x4003 #define AKKO_INTERFACE 0 -void DetectAkkoKeyboardControllers(hid_device_info* info, const std::string&) +DetectedControllers DetectAkkoKeyboardControllers( + hid_device_info* info, + const std::string& +) { + DetectedControllers detected_controllers; + hid_device* dev = hid_open_path(info->path); if(dev) { - AkkoKeyboardController* controller = new AkkoKeyboardController(dev, info->path); + AkkoKeyboardController* controller = + new AkkoKeyboardController(dev, info->path); if(controller->IsValid()) { - RGBController_AkkoKeyboard* rgb_controller = new RGBController_AkkoKeyboard(controller); - ResourceManager::get()->RegisterRGBController(rgb_controller); + detected_controllers.push_back( + new RGBController_AkkoKeyboard(controller) + ); } else { delete controller; } } + + return(detected_controllers); } REGISTER_HID_DETECTOR_I( diff --git a/Controllers/AkkoKeyboardController/RGBController_AkkoKeyboard.cpp b/Controllers/AkkoKeyboardController/RGBController_AkkoKeyboard.cpp index 51b14e623..23e0fb531 100644 --- a/Controllers/AkkoKeyboardController/RGBController_AkkoKeyboard.cpp +++ b/Controllers/AkkoKeyboardController/RGBController_AkkoKeyboard.cpp @@ -138,7 +138,7 @@ void RGBController_AkkoKeyboard::SetupZones() keyboard_zone.leds_min = 1; keyboard_zone.leds_max = 1; keyboard_zone.leds_count = 1; - keyboard_zone.matrix_map = NULL; + keyboard_zone.matrix_map.Reset(); zones.push_back(keyboard_zone); led keyboard_led;