New device: Dell G5 SE Alienware LED Keyboard
- 4 region keyboard LED controller (tried to keep controller generic for other setups as well) - Support for Static, Flashing, Morph, Spectrum Cycle, Rainbow Wave, and Breathing modes - Implemented rate limiting for sending reports since the controller crashes if too many reports are sent too quickly. Also implemented functionality to prevent sending frivolous update requests - Implemented support for setting mode, color, tempo, and period independently for each zone (not fully exposed in UI). Morph mode exposes 2 colors per zone. Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
parent
4c41a8834d
commit
9062be4462
6 changed files with 1323 additions and 0 deletions
|
|
@ -0,0 +1,29 @@
|
|||
#include "Detector.h"
|
||||
#include "AlienwareController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_Alienware.h"
|
||||
|
||||
/*---------------------------------------------------------*\
|
||||
| Alienware vendor ID |
|
||||
\*---------------------------------------------------------*/
|
||||
#define ALIENWARE_VID 0x187C
|
||||
|
||||
/*---------------------------------------------------------*\
|
||||
| Alienware product ID |
|
||||
\*---------------------------------------------------------*/
|
||||
#define ALIENWARE_G5_SE_PID 0x0550
|
||||
|
||||
void DetectAlienwareControllers(hid_device_info* info, const std::string& name)
|
||||
{
|
||||
hid_device* dev = hid_open_path(info->path);
|
||||
|
||||
if(dev)
|
||||
{
|
||||
AlienwareController* controller = new AlienwareController(dev, *info, name);
|
||||
RGBController_Alienware* rgb_controller = new RGBController_Alienware(controller);
|
||||
|
||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER_HID_DETECTOR("Alienware G5 SE LED Controller", DetectAlienwareControllers, ALIENWARE_VID, ALIENWARE_G5_SE_PID);
|
||||
Loading…
Add table
Add a link
Reference in a new issue