/*---------------------------------------------------------*\ | RGBController_CherryKeyboard.h | | | | RGBController for Cherry keyboard | | | | Sebastian Kraus 25 Dec 2021 | | | | This file is part of the OpenRGB project | | SPDX-License-Identifier: GPL-2.0-only | \*---------------------------------------------------------*/ #pragma once #include "RGBController.h" #include "CherryKeyboardController.h" class RGBController_CherryKeyboard : public RGBController { public: RGBController_CherryKeyboard(CherryKeyboardController* controller_ptr, uint16_t product_id); ~RGBController_CherryKeyboard(); void SetupZones(); void ResizeZone(int zone, int new_size); void DeviceUpdateLEDs(); void UpdateZoneLEDs(int zone); void UpdateSingleLED(int led); void SetCustomMode(); void DeviceUpdateMode(); private: CherryKeyboardController* controller; static bool hasUnofficialModeSupport(uint16_t product_id); };