From 878f32fccf1c81ff26d8edbda187677fc00db0d0 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 21 Jul 2026 23:50:13 -0500 Subject: [PATCH] Split Holtek detector file into individual detector files for A1FA Mousemat and A070 Mouse --- .../HoltekA070ControllerDetect.cpp | 43 ++++++++++++ .../HoltekA1FAControllerDetect.cpp | 43 ++++++++++++ .../HoltekControllerDetect.cpp | 67 ------------------- 3 files changed, 86 insertions(+), 67 deletions(-) create mode 100644 Controllers/HoltekController/HoltekA070Controller/HoltekA070ControllerDetect.cpp create mode 100644 Controllers/HoltekController/HoltekA1FAController/HoltekA1FAControllerDetect.cpp delete mode 100644 Controllers/HoltekController/HoltekControllerDetect.cpp diff --git a/Controllers/HoltekController/HoltekA070Controller/HoltekA070ControllerDetect.cpp b/Controllers/HoltekController/HoltekA070Controller/HoltekA070ControllerDetect.cpp new file mode 100644 index 000000000..690e301f6 --- /dev/null +++ b/Controllers/HoltekController/HoltekA070Controller/HoltekA070ControllerDetect.cpp @@ -0,0 +1,43 @@ +/*---------------------------------------------------------*\ +| HoltekA070ControllerDetect.cpp | +| | +| Detector for Holtek A070 Mouse | +| | +| This file is part of the OpenRGB project | +| SPDX-License-Identifier: GPL-2.0-or-later | +\*---------------------------------------------------------*/ + +#include +#include "DetectionManager.h" +#include "HoltekA070Controller.h" +#include "RGBController_HoltekA070.h" + +/*---------------------------------------------------------*\ +| Holtek Semiconductor Inc. vendor ID | +\*---------------------------------------------------------*/ +#define HOLTEK_VID 0x04D9 + +/*---------------------------------------------------------*\ +| Mouse product IDs | +\*---------------------------------------------------------*/ +#define HOLTEK_A070_PID 0xA070 + +DetectedControllers DetectHoltekA070Controllers(hid_device_info* info, const std::string& name) +{ + DetectedControllers detected_controllers; + hid_device* dev; + + dev = hid_open_path(info->path); + + if(dev) + { + HoltekA070Controller* controller = new HoltekA070Controller(dev, info->path, name); + RGBController_HoltekA070* rgb_controller = new RGBController_HoltekA070(controller); + + detected_controllers.push_back(rgb_controller); + } + + return(detected_controllers); +} + +REGISTER_HID_DETECTOR_IPU("Holtek USB Gaming Mouse", DetectHoltekA070Controllers, HOLTEK_VID, HOLTEK_A070_PID, 1, 0xFF00, 2); diff --git a/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAControllerDetect.cpp b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAControllerDetect.cpp new file mode 100644 index 000000000..b4a5af13c --- /dev/null +++ b/Controllers/HoltekController/HoltekA1FAController/HoltekA1FAControllerDetect.cpp @@ -0,0 +1,43 @@ +/*---------------------------------------------------------*\ +| HoltekA1FAControllerDetect.cpp | +| | +| Detector for Holtek A1FA Mousemat | +| | +| This file is part of the OpenRGB project | +| SPDX-License-Identifier: GPL-2.0-or-later | +\*---------------------------------------------------------*/ + +#include +#include "DetectionManager.h" +#include "HoltekA1FAController.h" +#include "RGBController_HoltekA1FA.h" + +/*---------------------------------------------------------*\ +| Holtek Semiconductor Inc. vendor ID | +\*---------------------------------------------------------*/ +#define HOLTEK_VID 0x04D9 + +/*---------------------------------------------------------*\ +| Mousemats product IDs | +\*---------------------------------------------------------*/ +#define HOLTEK_A1FA_PID 0xA1FA + +DetectedControllers DetectHoltekA1FAControllers(hid_device_info *info, const std::string &name) +{ + DetectedControllers detected_controllers; + hid_device* dev; + + dev = hid_open_path(info->path); + + if(dev) + { + HoltekA1FAController* controller = new HoltekA1FAController(dev, info->path, name); + RGBController_HoltekA1FA* rgb_controller = new RGBController_HoltekA1FA(controller); + + detected_controllers.push_back(rgb_controller); + } + + return(detected_controllers); +} + +REGISTER_HID_DETECTOR_IPU("Holtek Mousemat", DetectHoltekA1FAControllers, HOLTEK_VID, HOLTEK_A1FA_PID, 2, 0xFF00, 0xFF00); diff --git a/Controllers/HoltekController/HoltekControllerDetect.cpp b/Controllers/HoltekController/HoltekControllerDetect.cpp deleted file mode 100644 index 5f654559c..000000000 --- a/Controllers/HoltekController/HoltekControllerDetect.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/*---------------------------------------------------------*\ -| HoltekControllerDetect.cpp | -| | -| Detector for Holtek devices | -| | -| This file is part of the OpenRGB project | -| SPDX-License-Identifier: GPL-2.0-or-later | -\*---------------------------------------------------------*/ - -#include -#include "DetectionManager.h" -#include "HoltekA070Controller.h" -#include "RGBController_HoltekA070.h" -#include "HoltekA1FAController.h" -#include "RGBController_HoltekA1FA.h" - -/*---------------------------------------------------------*\ -| Holtek Semiconductor Inc. vendor ID | -\*---------------------------------------------------------*/ -#define HOLTEK_VID 0x04D9 -/*---------------------------------------------------------*\ -| Mouse product IDs | -\*---------------------------------------------------------*/ -#define HOLTEK_A070_PID 0xA070 -/*---------------------------------------------------------*\ -| Mousemats product IDs | -\*---------------------------------------------------------*/ -#define HOLTEK_A1FA_PID 0xA1FA - -DetectedControllers DetectHoltekControllers(hid_device_info* info, const std::string& name) -{ - DetectedControllers detected_controllers; - hid_device* dev; - - dev = hid_open_path(info->path); - - if(dev) - { - HoltekA070Controller* controller = new HoltekA070Controller(dev, info->path, name); - RGBController_HoltekA070* rgb_controller = new RGBController_HoltekA070(controller); - - detected_controllers.push_back(rgb_controller); - } - - return(detected_controllers); -} - -DetectedControllers DetectHoltekMousemats(hid_device_info *info, const std::string &name) -{ - DetectedControllers detected_controllers; - hid_device* dev; - - dev = hid_open_path(info->path); - - if(dev) - { - HoltekA1FAController* controller = new HoltekA1FAController(dev, info->path, name); - RGBController_HoltekA1FA* rgb_controller = new RGBController_HoltekA1FA(controller); - - detected_controllers.push_back(rgb_controller); - } - - return(detected_controllers); -} - -REGISTER_HID_DETECTOR_IPU("Holtek USB Gaming Mouse", DetectHoltekControllers, HOLTEK_VID, HOLTEK_A070_PID, 1, 0xFF00, 2); -REGISTER_HID_DETECTOR_IPU("Holtek Mousemat", DetectHoltekMousemats, HOLTEK_VID, HOLTEK_A1FA_PID, 2, 0xFF00, 0xFF00);