Files
OpenRGB/Controllers/AcerMonitorController/AcerMonitorControllerDetect.cpp
Shenghao Yang 6db00be29a Add support for Acer monitors with rear RGB strips
Amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2023-07-31 11:50:06 -05:00

51 lines
2.4 KiB
C++

/*---------------------------------------------------------*\
| AcerMonitorControllerDetect.cpp |
| |
| Controller detection for 2020/2021 Acer monitors |
| with rear RGB strips. |
| |
| Shenghao Yang (me@shenghaoyang.info), 30/12/2021 |
| Amended for code style by Adam Honse, 3/13/2022 |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AcerMonitorController.h"
#include "RGBController_AcerMonitor.h"
/*-----------------------------------------------------*\
| Acer vendor ID |
\*-----------------------------------------------------*/
#define ACER_VID 0x042E
/*-----------------------------------------------------*\
| Acer monitor product IDs |
\*-----------------------------------------------------*/
#define ACER_XB323QK_NV_PID 0xAC0B
#define ACER_XB273U_NV_PID 0xAC0C
#define ACER_X25_PID 0xAC0D
/*---------------------------------------------------------*\
| DetectAcerMonitorControllers |
| |
| Detects Acer monitor controllers. |
| |
| info: HID device information. |
\*---------------------------------------------------------*/
void DetectAcerMonitorControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
AcerMonitorController* controller = new AcerMonitorController(dev, info->path);
RGBController_AcerMonitor* rgb_controller = new RGBController_AcerMonitor(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
REGISTER_HID_DETECTOR("Acer XB323QK NV", DetectAcerMonitorControllers, ACER_VID, ACER_XB323QK_NV_PID);
REGISTER_HID_DETECTOR("Acer XB273U NV", DetectAcerMonitorControllers, ACER_VID, ACER_XB273U_NV_PID );
REGISTER_HID_DETECTOR("Acer X25", DetectAcerMonitorControllers, ACER_VID, ACER_X25_PID );