mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2025-12-30 18:57:52 -05:00
- 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>
38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
/*-----------------------------------------*\
|
|
| RGBController_Alienware.h |
|
|
| |
|
|
| Generic RGB Interface for OpenRGB |
|
|
| Alienware RGB USB Driver |
|
|
| |
|
|
| Gabriel Marcano (gemarcano) 4/19/2021 |
|
|
\*-----------------------------------------*/
|
|
|
|
#pragma once
|
|
|
|
#include "RGBController.h"
|
|
#include "AlienwareController.h"
|
|
|
|
#include <chrono>
|
|
|
|
class RGBController_Alienware : public RGBController
|
|
{
|
|
public:
|
|
RGBController_Alienware(AlienwareController* alienware_ptr);
|
|
|
|
void SetupZones();
|
|
|
|
void ResizeZone(int zone, int new_size);
|
|
|
|
void DeviceUpdateLEDs();
|
|
void UpdateZoneLEDs(int zone);
|
|
void UpdateSingleLED(int led);
|
|
|
|
void DeviceUpdateMode();
|
|
|
|
void SetCustomMode();
|
|
|
|
private:
|
|
AlienwareController* alienware;
|
|
std::chrono::steady_clock::time_point last_packet_ts;
|
|
};
|