├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ ├── issue_opened.yml │ └── pr_opened.yml ├── .gitignore ├── .gitlab-ci.yml ├── .gitlab ├── CODEOWNERS ├── issue_templates │ ├── Bug Report.md │ ├── Feature Request.md │ └── New Device.md └── merge_request_templates │ └── New Device.md ├── .vscode └── extensions.json ├── AutoStart ├── AutoStart-FreeBSD.cpp ├── AutoStart-FreeBSD.h ├── AutoStart-Linux.cpp ├── AutoStart-Linux.h ├── AutoStart-MacOS.cpp ├── AutoStart-MacOS.h ├── AutoStart-Windows.cpp ├── AutoStart-Windows.h ├── AutoStart.cpp └── AutoStart.h ├── CONTRIBUTING.md ├── Colors.h ├── Controllers ├── A4TechController │ ├── A4Tech_Detector.cpp │ ├── BloodyB820RController │ │ ├── BloodyB820RController.cpp │ │ ├── BloodyB820RController.h │ │ ├── RGBController_BloodyB820R.cpp │ │ └── RGBController_BloodyB820R.h │ └── BloodyMouseController │ │ ├── BloodyMouseController.cpp │ │ ├── BloodyMouseController.h │ │ ├── RGBController_BloodyMouse.cpp │ │ └── RGBController_BloodyMouse.h ├── AMBXController │ ├── AMBXController.cpp │ ├── AMBXController.h │ ├── AMBXControllerDetect.cpp │ ├── RGBController_AMBX.cpp │ └── RGBController_AMBX.h ├── AMDWraithPrismController │ ├── AMDWraithPrismController.cpp │ ├── AMDWraithPrismController.h │ ├── AMDWraithPrismControllerDetect.cpp │ ├── RGBController_AMDWraithPrism.cpp │ └── RGBController_AMDWraithPrism.h ├── AOCKeyboardController │ ├── AOCKeyboardController.cpp │ ├── AOCKeyboardController.h │ ├── AOCKeyboardControllerDetect.cpp │ ├── RGBController_AOCKeyboard.cpp │ └── RGBController_AOCKeyboard.h ├── AOCMouseController │ ├── AOCMouseController.cpp │ ├── AOCMouseController.h │ ├── AOCMouseControllerDetect.cpp │ ├── RGBController_AOCMouse.cpp │ └── RGBController_AOCMouse.h ├── AOCMousematController │ ├── AOCMousematController.cpp │ ├── AOCMousematController.h │ ├── AOCMousematControllerDetect.cpp │ ├── RGBController_AOCMousemat.cpp │ └── RGBController_AOCMousemat.h ├── ASRockPolychromeUSBController │ ├── ASRockPolychromeUSBController.cpp │ ├── ASRockPolychromeUSBController.h │ ├── ASRockPolychromeUSBControllerDetect.cpp │ ├── RGBController_ASRockPolychromeUSB.cpp │ └── RGBController_ASRockPolychromeUSB.h ├── ASRockSMBusController │ ├── ASRockASRRGBSMBusController │ │ ├── ASRockASRRGBSMBusController.cpp │ │ ├── ASRockASRRGBSMBusController.h │ │ ├── RGBController_ASRockASRRGBSMBus.cpp │ │ └── RGBController_ASRockASRRGBSMBus.h │ ├── ASRockPolychromeV1SMBusController │ │ ├── ASRockPolychromeV1SMBusController.cpp │ │ ├── ASRockPolychromeV1SMBusController.h │ │ ├── RGBController_ASRockPolychromeV1SMBus.cpp │ │ └── RGBController_ASRockPolychromeV1SMBus.h │ ├── ASRockPolychromeV2SMBusController │ │ ├── ASRockPolychromeV2SMBusController.cpp │ │ ├── ASRockPolychromeV2SMBusController.h │ │ ├── RGBController_ASRockPolychromeV2SMBus.cpp │ │ └── RGBController_ASRockPolychromeV2SMBus.h │ └── ASRockSMBusControllerDetect.cpp ├── AlienwareController │ ├── AlienwareController.cpp │ ├── AlienwareController.h │ ├── AlienwareControllerDetect.cpp │ ├── RGBController_Alienware.cpp │ └── RGBController_Alienware.h ├── AlienwareKeyboardController │ ├── AlienwareAW410KController │ │ ├── AlienwareAW410KController.cpp │ │ ├── AlienwareAW410KController.h │ │ ├── RGBController_AlienwareAW410K.cpp │ │ └── RGBController_AlienwareAW410K.h │ ├── AlienwareAW510KController │ │ ├── AlienwareAW510KController.cpp │ │ ├── AlienwareAW510KController.h │ │ ├── RGBController_AlienwareAW510K.cpp │ │ └── RGBController_AlienwareAW510K.h │ └── AlienwareKeyboardControllerDetect.cpp ├── AlienwareMonitorController │ ├── AlienwareAW3423DWFController.cpp │ ├── AlienwareAW3423DWFController.h │ ├── AlienwareMonitorController.cpp │ ├── AlienwareMonitorController.h │ ├── AlienwareMonitorControllerDetect.cpp │ ├── RGBController_AlienwareAW3423DWF.cpp │ ├── RGBController_AlienwareAW3423DWF.h │ ├── RGBController_AlienwareMonitor.cpp │ └── RGBController_AlienwareMonitor.h ├── AnnePro2Controller │ ├── AnnePro2Controller.cpp │ ├── AnnePro2Controller.h │ ├── AnnePro2ControllerDetect.cpp │ ├── RGBController_AnnePro2.cpp │ └── RGBController_AnnePro2.h ├── ArcticController │ ├── ArcticController.cpp │ ├── ArcticController.h │ ├── ArcticControllerDetect.cpp │ ├── RGBController_Arctic.cpp │ └── RGBController_Arctic.h ├── AsusAuraCoreController │ ├── AsusAuraCoreController │ │ ├── AsusAuraCoreController.cpp │ │ ├── AsusAuraCoreController.h │ │ ├── RGBController_AsusAuraCore.cpp │ │ └── RGBController_AsusAuraCore.h │ ├── AsusAuraCoreControllerDetect.cpp │ └── AsusAuraCoreLaptopController │ │ ├── AsusAuraCoreLaptopController.cpp │ │ ├── AsusAuraCoreLaptopController.h │ │ ├── AsusAuraCoreLaptopDevices.cpp │ │ ├── AsusAuraCoreLaptopDevices.h │ │ ├── RGBController_AsusAuraCoreLaptop.cpp │ │ └── RGBController_AsusAuraCoreLaptop.h ├── AsusAuraGPUController │ ├── AsusAuraGPUController.cpp │ ├── AsusAuraGPUController.h │ ├── AsusAuraGPUControllerDetect.cpp │ ├── RGBController_AsusAuraGPU.cpp │ └── RGBController_AsusAuraGPU.h ├── AsusAuraUSBController │ ├── AsusAuraHeadsetStandController │ │ ├── AsusAuraHeadsetStandController.cpp │ │ ├── AsusAuraHeadsetStandController.h │ │ ├── RGBController_AsusAuraHeadsetStand.cpp │ │ └── RGBController_AsusAuraHeadsetStand.h │ ├── AsusAuraKeyboardController │ │ ├── AsusAuraKeyboardController.cpp │ │ ├── AsusAuraKeyboardController.h │ │ ├── RGBController_AsusAuraKeyboard.cpp │ │ └── RGBController_AsusAuraKeyboard.h │ ├── AsusAuraMonitorController │ │ ├── AsusAuraMonitorController.cpp │ │ ├── AsusAuraMonitorController.h │ │ ├── RGBController_AsusAuraMonitor.cpp │ │ └── RGBController_AsusAuraMonitor.h │ ├── AsusAuraMouseController │ │ ├── AsusAuraMouseController.cpp │ │ ├── AsusAuraMouseController.h │ │ ├── AsusAuraMouseDevices.h │ │ ├── RGBController_AsusAuraMouse.cpp │ │ └── RGBController_AsusAuraMouse.h │ ├── AsusAuraMouseGen1Controller │ │ ├── AsusAuraMouseGen1Controller.cpp │ │ ├── AsusAuraMouseGen1Controller.h │ │ ├── RGBController_AsusROGSpatha.cpp │ │ ├── RGBController_AsusROGSpatha.h │ │ ├── RGBController_AsusROGStrixEvolve.cpp │ │ └── RGBController_AsusROGStrixEvolve.h │ ├── AsusAuraMousematController │ │ ├── AsusAuraMousematController.cpp │ │ ├── AsusAuraMousematController.h │ │ ├── RGBController_AsusAuraMousemat.cpp │ │ └── RGBController_AsusAuraMousemat.h │ ├── AsusAuraRyuoAIOController │ │ ├── AsusAuraRyuoAIOController.cpp │ │ ├── AsusAuraRyuoAIOController.h │ │ ├── RGBController_AsusAuraRyuoAIO.cpp │ │ └── RGBController_AsusAuraRyuoAIO.h │ ├── AsusAuraTUFKeyboardController │ │ ├── AsusAuraTUFKeyboardController.cpp │ │ ├── AsusAuraTUFKeyboardController.h │ │ ├── AsusAuraTUFKeyboardLayouts.h │ │ ├── RGBController_AsusAuraTUFKeyboard.cpp │ │ └── RGBController_AsusAuraTUFKeyboard.h │ ├── AsusAuraUSBController │ │ ├── AsusAuraAddressableController.cpp │ │ ├── AsusAuraAddressableController.h │ │ ├── AsusAuraMainboardController.cpp │ │ ├── AsusAuraMainboardController.h │ │ ├── AsusAuraUSBController.cpp │ │ ├── AsusAuraUSBController.h │ │ ├── RGBController_AsusAuraMainboard.cpp │ │ ├── RGBController_AsusAuraMainboard.h │ │ ├── RGBController_AsusAuraUSB.cpp │ │ └── RGBController_AsusAuraUSB.h │ ├── AsusAuraUSBControllerDetect.cpp │ ├── AsusROGAllyController │ │ ├── AsusROGAllyController.cpp │ │ ├── AsusROGAllyController.h │ │ ├── RGBController_AsusROGAlly.cpp │ │ └── RGBController_AsusROGAlly.h │ └── AsusROGStrixLCController │ │ ├── AsusROGStrixLCController.cpp │ │ ├── AsusROGStrixLCController.h │ │ ├── RGBController_AsusROGStrixLC.cpp │ │ └── RGBController_AsusROGStrixLC.h ├── AsusLegacyUSBController │ ├── AsusCerberusKeyboardController │ │ ├── AsusCerberusKeyboardController.cpp │ │ ├── AsusCerberusKeyboardController.h │ │ ├── RGBController_AsusCerberusKeyboard.cpp │ │ └── RGBController_AsusCerberusKeyboard.h │ ├── AsusLegacyUSBControllerDetect.cpp │ ├── AsusSagarisKeyboardController │ │ ├── AsusSagarisKeyboardController.cpp │ │ ├── AsusSagarisKeyboardController.h │ │ ├── RGBController_AsusSagarisKeyboard.cpp │ │ └── RGBController_AsusSagarisKeyboard.h │ └── AsusStrixClawController │ │ ├── AsusStrixClawController.cpp │ │ ├── AsusStrixClawController.h │ │ ├── RGBController_AsusStrixClaw.cpp │ │ └── RGBController_AsusStrixClaw.h ├── AsusTUFLaptopController │ ├── AsusTUFLaptopController_Linux.cpp │ ├── AsusTUFLaptopController_Linux.h │ ├── AsusTUFLaptopController_Windows.cpp │ ├── AsusTUFLaptopController_Windows.h │ ├── AsusTUFLaptopDetect_Linux.cpp │ ├── AsusTUFLaptopDetect_Windows.cpp │ ├── RGBController_AsusTUFLaptop_Linux.cpp │ ├── RGBController_AsusTUFLaptop_Linux.h │ ├── RGBController_AsusTUFLaptop_Windows.cpp │ └── RGBController_AsusTUFLaptop_Windows.h ├── BlinkyTapeController │ ├── BlinkyTapeController.cpp │ ├── BlinkyTapeController.h │ ├── BlinkyTapeControllerDetect.cpp │ ├── RGBController_BlinkyTape.cpp │ └── RGBController_BlinkyTape.h ├── CherryKeyboardController │ ├── CherryKeyboardController.cpp │ ├── CherryKeyboardController.h │ ├── CherryKeyboardControllerDetect.cpp │ ├── RGBController_CherryKeyboard.cpp │ └── RGBController_CherryKeyboard.h ├── ColorfulGPUController │ ├── ColorfulGPUController.cpp │ ├── ColorfulGPUController.h │ ├── ColorfulGPUControllerDetect.cpp │ ├── RGBController_ColorfulGPU.cpp │ └── RGBController_ColorfulGPU.h ├── ColorfulTuringGPUController │ ├── ColorfulTuringGPUController.cpp │ ├── ColorfulTuringGPUController.h │ ├── ColorfulTuringGPUControllerDetect.cpp │ ├── RGBController_ColorfulTuringGPU.cpp │ └── RGBController_ColorfulTuringGPU.h ├── CoolerMasterController │ ├── CMARGBController │ │ ├── CMARGBController.cpp │ │ ├── CMARGBController.h │ │ ├── RGBController_CMARGBController.cpp │ │ └── RGBController_CMARGBController.h │ ├── CMARGBGen2A1Controller │ │ ├── CMARGBGen2A1Controller.cpp │ │ ├── CMARGBGen2A1Controller.h │ │ ├── RGBController_CMARGBGen2A1Controller.cpp │ │ └── RGBController_CMARGBGen2A1Controller.h │ ├── CMKeyboardController │ │ ├── CMKeyboardAbstractController.cpp │ │ ├── CMKeyboardAbstractController.h │ │ ├── CMKeyboardDevices.cpp │ │ ├── CMKeyboardDevices.h │ │ ├── CMKeyboardV1Controller.cpp │ │ ├── CMKeyboardV1Controller.h │ │ ├── CMKeyboardV2Controller.cpp │ │ ├── CMKeyboardV2Controller.h │ │ ├── RGBController_CMKeyboardController.cpp │ │ └── RGBController_CMKeyboardController.h │ ├── CMMM711Controller │ │ ├── CMMM711Controller.cpp │ │ ├── CMMM711Controller.h │ │ ├── RGBController_CMMM711Controller.cpp │ │ └── RGBController_CMMM711Controller.h │ ├── CMMM712Controller │ │ ├── CMMM712Controller.cpp │ │ ├── CMMM712Controller.h │ │ ├── MM712protocol.txt │ │ ├── RGBController_CMMM712Controller.cpp │ │ └── RGBController_CMMM712Controller.h │ ├── CMMMController │ │ ├── CMMMController.cpp │ │ ├── CMMMController.h │ │ ├── RGBController_CMMMController.cpp │ │ └── RGBController_CMMMController.h │ ├── CMMP750Controller │ │ ├── CMMP750Controller.cpp │ │ ├── CMMP750Controller.h │ │ ├── RGBController_CMMP750Controller.cpp │ │ └── RGBController_CMMP750Controller.h │ ├── CMMonitorController │ │ ├── CMMonitorController.cpp │ │ ├── CMMonitorController.h │ │ ├── RGBController_CMMonitorController.cpp │ │ └── RGBController_CMMonitorController.h │ ├── CMR6000Controller │ │ ├── CMR6000Controller.cpp │ │ ├── CMR6000Controller.h │ │ ├── RGBController_CMR6000Controller.cpp │ │ └── RGBController_CMR6000Controller.h │ ├── CMRGBController │ │ ├── CMRGBController.cpp │ │ ├── CMRGBController.h │ │ ├── RGBController_CMRGBController.cpp │ │ └── RGBController_CMRGBController.h │ ├── CMSmallARGBController │ │ ├── CMSmallARGBController.cpp │ │ ├── CMSmallARGBController.h │ │ ├── RGBController_CMSmallARGBController.cpp │ │ └── RGBController_CMSmallARGBController.h │ └── CoolerMasterControllerDetect.cpp ├── CorsairCommanderCoreController │ ├── CorsairCommanderCoreController.cpp │ ├── CorsairCommanderCoreController.h │ ├── CorsairCommanderCoreControllerDetect.cpp │ ├── RGBController_CorsairCommanderCore.cpp │ └── RGBController_CorsairCommanderCore.h ├── CorsairController │ ├── CorsairDeviceGuard.cpp │ └── CorsairDeviceGuard.h ├── CorsairDominatorPlatinumController │ ├── CorsairDominatorPlatinumController.cpp │ ├── CorsairDominatorPlatinumController.h │ ├── CorsairDominatorPlatinumControllerDetect.cpp │ ├── RGBController_CorsairDominatorPlatinum.cpp │ └── RGBController_CorsairDominatorPlatinum.h ├── CorsairHydro2Controller │ ├── CorsairHydro2Controller.cpp │ ├── CorsairHydro2Controller.h │ ├── CorsairHydro2ControllerDetect.cpp │ ├── RGBController_CorsairHydro2.cpp │ └── RGBController_CorsairHydro2.h ├── CorsairHydroController │ ├── CorsairHydroController.cpp │ ├── CorsairHydroController.h │ ├── CorsairHydroControllerDetect.cpp │ ├── RGBController_CorsairHydro.cpp │ └── RGBController_CorsairHydro.h ├── CorsairHydroPlatinumController │ ├── CorsairHydroPlatinumController.cpp │ ├── CorsairHydroPlatinumController.h │ ├── CorsairHydroPlatinumControllerDetect.cpp │ ├── RGBController_CorsairHydroPlatinum.cpp │ └── RGBController_CorsairHydroPlatinum.h ├── CorsairLightingNodeController │ ├── CorsairLightingNodeController.cpp │ ├── CorsairLightingNodeController.h │ ├── CorsairLightingNodeControllerDetect.cpp │ ├── RGBController_CorsairLightingNode.cpp │ └── RGBController_CorsairLightingNode.h ├── CorsairPeripheralController │ ├── CorsairK55RGBPROXTController.cpp │ ├── CorsairK55RGBPROXTController.h │ ├── CorsairK65MiniController.cpp │ ├── CorsairK65MiniController.h │ ├── CorsairK95PlatinumXTController.cpp │ ├── CorsairK95PlatinumXTController.h │ ├── CorsairPeripheralController.cpp │ ├── CorsairPeripheralController.h │ ├── CorsairPeripheralControllerDetect.cpp │ ├── RGBController_CorsairK55RGBPROXT.cpp │ ├── RGBController_CorsairK55RGBPROXT.h │ ├── RGBController_CorsairK65Mini.cpp │ ├── RGBController_CorsairK65Mini.h │ ├── RGBController_CorsairK95PlatinumXT.cpp │ ├── RGBController_CorsairK95PlatinumXT.h │ ├── RGBController_CorsairPeripheral.cpp │ └── RGBController_CorsairPeripheral.h ├── CorsairPeripheralV2Controller │ ├── CorsairPeripheralV2Controller.cpp │ ├── CorsairPeripheralV2Controller.h │ ├── CorsairPeripheralV2ControllerDetect.cpp │ ├── CorsairPeripheralV2Devices.cpp │ ├── CorsairPeripheralV2Devices.h │ ├── CorsairPeripheralV2HardwareController.cpp │ ├── CorsairPeripheralV2HardwareController.h │ ├── CorsairPeripheralV2SoftwareController.cpp │ ├── CorsairPeripheralV2SoftwareController.h │ ├── RGBController_CorsairV2Hardware.cpp │ ├── RGBController_CorsairV2Hardware.h │ ├── RGBController_CorsairV2Software.cpp │ └── RGBController_CorsairV2Software.h ├── CorsairVengeanceController │ ├── CorsairVengeanceController.cpp │ ├── CorsairVengeanceController.h │ ├── CorsairVengeanceControllerDetect.cpp │ ├── RGBController_CorsairVengeance.cpp │ └── RGBController_CorsairVengeance.h ├── CorsairVengeanceProController │ ├── CorsairVengeanceProController.cpp │ ├── CorsairVengeanceProController.h │ ├── CorsairVengeanceProControllerDetect.cpp │ ├── RGBController_CorsairVengeancePro.cpp │ └── RGBController_CorsairVengeancePro.h ├── CorsairWirelessController │ ├── CorsairWirelessController.cpp │ ├── CorsairWirelessController.h │ ├── CorsairWirelessControllerDetect.cpp │ ├── RGBController_CorsairWireless.cpp │ └── RGBController_CorsairWireless.h ├── CougarController │ ├── CougarControllerDetect.cpp │ ├── CougarKeyboardController │ │ ├── CougarKeyboardController.cpp │ │ ├── CougarKeyboardController.h │ │ ├── RGBController_CougarKeyboard.cpp │ │ └── RGBController_CougarKeyboard.h │ └── CougarRevengerSTController │ │ ├── CougarRevengerSTController.cpp │ │ ├── CougarRevengerSTController.h │ │ ├── RGBController_CougarRevengerST.cpp │ │ └── RGBController_CougarRevengerST.h ├── CreativeController │ ├── CreativeControllerDetect.cpp │ ├── CreativeSoundBlasterXG6Controller.cpp │ ├── CreativeSoundBlasterXG6Controller.h │ ├── RGBController_CreativeSoundBlasterXG6.cpp │ └── RGBController_CreativeSoundBlasterXG6.h ├── CrucialController │ ├── CrucialController.cpp │ ├── CrucialController.h │ ├── CrucialControllerDetect.cpp │ ├── RGBController_Crucial.cpp │ └── RGBController_Crucial.h ├── CryorigH7QuadLumiController │ ├── CryorigH7QuadLumiController.cpp │ ├── CryorigH7QuadLumiController.h │ ├── CryorigH7QuadLumiControllerDetect.cpp │ ├── RGBController_CryorigH7QuadLumi.cpp │ └── RGBController_CryorigH7QuadLumi.h ├── DMXController │ ├── DMXControllerDetect.cpp │ ├── RGBController_DMX.cpp │ └── RGBController_DMX.h ├── DRGBController │ ├── DRGBController.cpp │ ├── DRGBController.h │ ├── DRGBControllerDetect.cpp │ ├── RGBController_DRGB.cpp │ └── RGBController_DRGB.h ├── DarkProject │ ├── DarkProjectControllerDetect.cpp │ ├── DarkProjectKeyboardController.cpp │ ├── DarkProjectKeyboardController.h │ ├── RGBController_DarkProjectKeyboard.cpp │ └── RGBController_DarkProjectKeyboard.h ├── DasKeyboardController │ ├── DasKeyboardController.cpp │ ├── DasKeyboardController.h │ ├── DasKeyboardControllerDetect.cpp │ ├── RGBController_DasKeyboard.cpp │ └── RGBController_DasKeyboard.h ├── DebugController │ ├── DebugControllerDetect.cpp │ ├── RGBController_Debug.cpp │ └── RGBController_Debug.h ├── DreamCheekyController │ ├── DreamCheekyController.cpp │ ├── DreamCheekyController.h │ ├── DreamCheekyControllerDetect.cpp │ ├── RGBController_DreamCheeky.cpp │ └── RGBController_DreamCheeky.h ├── DuckyKeyboardController │ ├── DuckyKeyboardController.cpp │ ├── DuckyKeyboardController.h │ ├── DuckyKeyboardControllerDetect.cpp │ ├── RGBController_DuckyKeyboard.cpp │ └── RGBController_DuckyKeyboard.h ├── DygmaRaiseController │ ├── DygmaRaiseController.cpp │ ├── DygmaRaiseController.h │ ├── DygmaRaiseControllerDetect.cpp │ ├── RGBController_DygmaRaise.cpp │ └── RGBController_DygmaRaise.h ├── E131Controller │ ├── E131ControllerDetect.cpp │ ├── RGBController_E131.cpp │ └── RGBController_E131.h ├── EKController │ ├── EKController.cpp │ ├── EKController.h │ ├── EKControllerDetect.cpp │ ├── RGBController_EKController.cpp │ └── RGBController_EKController.h ├── ENESMBusController │ ├── ENESMBusController.cpp │ ├── ENESMBusController.h │ ├── ENESMBusControllerDetect.cpp │ ├── ENESMBusInterface │ │ ├── ENESMBusInterface.h │ │ ├── ENESMBusInterface_ROGArion.cpp │ │ ├── ENESMBusInterface_ROGArion.h │ │ ├── ENESMBusInterface_SpectrixS40G_Linux.cpp │ │ ├── ENESMBusInterface_SpectrixS40G_Linux.h │ │ ├── ENESMBusInterface_SpectrixS40G_Windows.cpp │ │ ├── ENESMBusInterface_SpectrixS40G_Windows.h │ │ ├── ENESMBusInterface_i2c_smbus.cpp │ │ └── ENESMBusInterface_i2c_smbus.h │ ├── RGBController_ENESMBus.cpp │ ├── RGBController_ENESMBus.h │ ├── ROGArionDetect.cpp │ ├── XPGSpectrixS40GDetect_Linux.cpp │ └── XPGSpectrixS40GDetect_Windows.cpp ├── EVGAAmpereGPUController │ ├── EVGAAmpereGPUControllerDetect.cpp │ ├── EVGAGPUv3Controller.cpp │ ├── EVGAGPUv3Controller.h │ ├── RGBController_EVGAGPUv3.cpp │ └── RGBController_EVGAGPUv3.h ├── EVGAGP102GPUController │ ├── EVGAGP102Controller.cpp │ ├── EVGAGP102Controller.h │ ├── EVGAGP102GPUControllerDetect.cpp │ ├── RGBController_EVGAGP102.cpp │ └── RGBController_EVGAGP102.h ├── EVGAPascalGPUController │ ├── EVGAGPUv1Controller.cpp │ ├── EVGAGPUv1Controller.h │ ├── EVGAPascalGPUControllerDetect.cpp │ ├── RGBController_EVGAGPUv1.cpp │ └── RGBController_EVGAGPUv1.h ├── EVGASMBusController │ ├── EVGAACX30SMBusController.cpp │ ├── EVGAACX30SMBusController.h │ ├── EVGASMBusControllerDetect.cpp │ ├── RGBController_EVGAACX30SMBus.cpp │ └── RGBController_EVGAACX30SMBus.h ├── EVGATuringGPUController │ ├── EVGAGPUv2Controller.cpp │ ├── EVGAGPUv2Controller.h │ ├── EVGATuringGPUControllerDetect.cpp │ ├── RGBController_EVGAGPUv2.cpp │ └── RGBController_EVGAGPUv2.h ├── EVGAUSBController │ ├── EVGAKeyboardController │ │ ├── EVGAKeyboardController.cpp │ │ ├── EVGAKeyboardController.h │ │ ├── RGBController_EVGAKeyboard.cpp │ │ └── RGBController_EVGAKeyboard.h │ ├── EVGAMouseController │ │ ├── EVGAMouseController.cpp │ │ ├── EVGAMouseController.h │ │ ├── RGBController_EVGAMouse.cpp │ │ └── RGBController_EVGAMouse.h │ └── EVGAUSBControllerDetect.cpp ├── EVisionKeyboardController │ ├── EVisionKeyboardController.cpp │ ├── EVisionKeyboardController.h │ ├── EVisionKeyboardControllerDetect.cpp │ ├── EVisionV2KeyboardController.cpp │ ├── EVisionV2KeyboardController.h │ ├── RGBController_EVisionKeyboard.cpp │ ├── RGBController_EVisionKeyboard.h │ ├── RGBController_EVisionV2Keyboard.cpp │ └── RGBController_EVisionV2Keyboard.h ├── ElgatoKeyLightController │ ├── ElgatoKeyLightController.cpp │ ├── ElgatoKeyLightController.h │ ├── ElgatoKeyLightControllerDetect.cpp │ ├── RGBController_ElgatoKeyLight.cpp │ └── RGBController_ElgatoKeyLight.h ├── ElgatoLightStripController │ ├── ElgatoLightStripController.cpp │ ├── ElgatoLightStripController.h │ ├── ElgatoLightStripControllerDetect.cpp │ ├── RGBController_ElgatoLightStrip.cpp │ └── RGBController_ElgatoLightStrip.h ├── EpomakerController │ ├── EpomakerController.cpp │ ├── EpomakerController.h │ ├── EpomakerControllerDetect.cpp │ ├── RGBController_EpomakerController.cpp │ └── RGBController_EpomakerController.h ├── EspurnaController │ ├── EspurnaController.cpp │ ├── EspurnaController.h │ ├── EspurnaControllerDetect.cpp │ ├── RGBController_Espurna.cpp │ └── RGBController_Espurna.h ├── FanBusController │ ├── FanBusController.cpp │ ├── FanBusController.h │ ├── FanBusControllerDetect.cpp │ ├── FanBusInterface.cpp │ ├── FanBusInterface.h │ ├── RGBController_FanBus.cpp │ └── RGBController_FanBus.h ├── FaustusController │ ├── RGBController_Faustus_Linux.cpp │ └── RGBController_Faustus_Linux.h ├── GaiZongGaiKeyboardController │ ├── GaiZhongGaiController.cpp │ ├── GaiZhongGaiController.h │ ├── GaiZhongGaiControllerDetect.cpp │ ├── RGBController_GaiZhongGai.cpp │ └── RGBController_GaiZhongGai.h ├── GainwardGPUController │ ├── GainwardGPUControllerDetect.cpp │ ├── GainwardGPUv1Controller │ │ ├── GainwardGPUv1Controller.cpp │ │ ├── GainwardGPUv1Controller.h │ │ ├── RGBController_GainwardGPUv1.cpp │ │ └── RGBController_GainwardGPUv1.h │ └── GainwardGPUv2Controller │ │ ├── GainwardGPUv2Controller.cpp │ │ ├── GainwardGPUv2Controller.h │ │ ├── RGBController_GainwardGPUv2.cpp │ │ └── RGBController_GainwardGPUv2.h ├── GalaxGPUController │ ├── GalaxGPUControllerDetect.cpp │ ├── GalaxGPUv1Controller │ │ ├── GalaxGPUv1Controller.cpp │ │ ├── GalaxGPUv1Controller.h │ │ ├── RGBController_GalaxGPUv1.cpp │ │ └── RGBController_GalaxGPUv1.h │ └── GalaxGPUv2Controller │ │ ├── GalaxGPUv2Controller.cpp │ │ ├── GalaxGPUv2Controller.h │ │ ├── RGBController_GalaxGPUv2.cpp │ │ └── RGBController_GalaxGPUv2.h ├── GigabyteAorusCPUCoolerController │ ├── ATC800Controller.cpp │ ├── ATC800Controller.h │ ├── GigabyteAorusCPUCoolerControllerDetect.cpp │ ├── RGBController_AorusATC800.cpp │ └── RGBController_AorusATC800.h ├── GigabyteAorusLaptopController │ ├── GigabyteAorusLaptopController.cpp │ ├── GigabyteAorusLaptopController.h │ ├── GigabyteAorusLaptopControllerDetect.cpp │ ├── RGBController_GigabyteAorusLaptop.cpp │ └── RGBController_GigabyteAorusLaptop.h ├── GigabyteAorusMouseController │ ├── GigabyteAorusMouseController.cpp │ ├── GigabyteAorusMouseController.h │ ├── GigabyteAorusMouseControllerDetect.cpp │ ├── RGBController_GigabyteAorusMouse.cpp │ └── RGBController_GigabyteAorusMouse.h ├── GigabyteAorusPCCaseController │ ├── GigabyteAorusPCCaseController.cpp │ ├── GigabyteAorusPCCaseController.h │ ├── GigabyteAorusPCCaseControllerDetect.cpp │ ├── RGBController_GigabyteAorusPCCase.cpp │ └── RGBController_GigabyteAorusPCCase.h ├── GigabyteRGBFusion2BlackwellGPUController │ ├── GigabyteRGBFusion2BlackwellGPUController.cpp │ ├── GigabyteRGBFusion2BlackwellGPUController.h │ ├── GigabyteRGBFusion2BlackwellGPUControllerDetect.cpp │ ├── GigabyteRGBFusion2BlackwellGPUDefinitions.h │ ├── RGBController_GigabyteRGBFusion2BlackwellGPU.cpp │ └── RGBController_GigabyteRGBFusion2BlackwellGPU.h ├── GigabyteRGBFusion2DRAMController │ ├── GigabyteRGBFusion2DRAMController.cpp │ ├── GigabyteRGBFusion2DRAMController.h │ ├── GigabyteRGBFusion2DRAMControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusion2DRAM.cpp │ └── RGBController_GigabyteRGBFusion2DRAM.h ├── GigabyteRGBFusion2GPUController │ ├── GigabyteRGBFusion2GPUController.cpp │ ├── GigabyteRGBFusion2GPUController.h │ ├── GigabyteRGBFusion2GPUControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusion2GPU.cpp │ └── RGBController_GigabyteRGBFusion2GPU.h ├── GigabyteRGBFusion2SMBusController │ ├── GigabyteRGBFusion2SMBusController.cpp │ ├── GigabyteRGBFusion2SMBusController.h │ ├── GigabyteRGBFusion2SMBusControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusion2SMBus.cpp │ └── RGBController_GigabyteRGBFusion2SMBus.h ├── GigabyteRGBFusion2USBController │ ├── GigabyteRGBFusion2USBController.cpp │ ├── GigabyteRGBFusion2USBController.h │ ├── GigabyteRGBFusion2USBControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusion2USB.cpp │ └── RGBController_GigabyteRGBFusion2USB.h ├── GigabyteRGBFusionController │ ├── GigabyteRGBFusionController.cpp │ ├── GigabyteRGBFusionController.h │ ├── GigabyteRGBFusionControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusion.cpp │ └── RGBController_GigabyteRGBFusion.h ├── GigabyteRGBFusionGPUController │ ├── GigabyteRGBFusionGPUController.cpp │ ├── GigabyteRGBFusionGPUController.h │ ├── GigabyteRGBFusionGPUControllerDetect.cpp │ ├── RGBController_GigabyteRGBFusionGPU.cpp │ └── RGBController_GigabyteRGBFusionGPU.h ├── GigabyteSuperIORGBController │ ├── GigabyteSuperIORGBController.cpp │ ├── GigabyteSuperIORGBController.h │ ├── GigabyteSuperIORGBControllerDetect.cpp │ ├── RGBController_GigabyteSuperIORGB.cpp │ └── RGBController_GigabyteSuperIORGB.h ├── GoveeController │ ├── GoveeController.cpp │ ├── GoveeController.h │ ├── GoveeControllerDetect.cpp │ ├── RGBController_Govee.cpp │ ├── RGBController_Govee.h │ └── base64.hpp ├── HPOmen30LController │ ├── HPOmen30LController.cpp │ ├── HPOmen30LController.h │ ├── HPOmen30LControllerDetect.cpp │ ├── RGBController_HPOmen30L.cpp │ └── RGBController_HPOmen30L.h ├── HYTEKeyboardController │ ├── HYTEKeyboardController.cpp │ ├── HYTEKeyboardController.h │ ├── HYTEKeyboardControllerDetect.cpp │ ├── RGBController_HYTEKeyboard.cpp │ └── RGBController_HYTEKeyboard.h ├── HYTEMousematController │ ├── HYTEMousematController_Linux │ │ ├── HYTEMousematControllerDetect_Linux.cpp │ │ ├── HYTEMousematController_Linux.cpp │ │ └── HYTEMousematController_Linux.h │ ├── HYTEMousematController_MacOS │ │ ├── HYTEMousematControllerDetect_MacOS.cpp │ │ ├── HYTEMousematController_MacOS.cpp │ │ └── HYTEMousematController_MacOS.h │ ├── HYTEMousematController_Windows │ │ ├── HYTEMousematControllerDetect_Windows.cpp │ │ ├── HYTEMousematController_Windows.cpp │ │ └── HYTEMousematController_Windows.h │ ├── RGBController_HYTEMousemat.cpp │ └── RGBController_HYTEMousemat.h ├── HYTENexusController │ ├── HYTENexusController.cpp │ ├── HYTENexusController.h │ ├── HYTENexusControllerDetect.cpp │ ├── RGBController_HYTENexus.cpp │ └── RGBController_HYTENexus.h ├── HoltekController │ ├── HoltekA070Controller │ │ ├── HoltekA070Controller.cpp │ │ ├── HoltekA070Controller.h │ │ ├── RGBController_HoltekA070.cpp │ │ └── RGBController_HoltekA070.h │ ├── HoltekA1FAController │ │ ├── HoltekA1FAController.cpp │ │ ├── HoltekA1FAController.h │ │ ├── RGBController_HoltekA1FA.cpp │ │ └── RGBController_HoltekA1FA.h │ └── HoltekControllerDetect.cpp ├── HyperXDRAMController │ ├── HyperXDRAMController.cpp │ ├── HyperXDRAMController.h │ ├── HyperXDRAMControllerDetect.cpp │ ├── RGBController_HyperXDRAM.cpp │ └── RGBController_HyperXDRAM.h ├── HyperXKeyboardController │ ├── HyperXAlloyElite2Controller │ │ ├── HyperXAlloyElite2Controller.cpp │ │ ├── HyperXAlloyElite2Controller.h │ │ ├── RGBController_HyperXAlloyElite2.cpp │ │ └── RGBController_HyperXAlloyElite2.h │ ├── HyperXAlloyEliteController │ │ ├── HyperXAlloyEliteController.cpp │ │ ├── HyperXAlloyEliteController.h │ │ ├── RGBController_HyperXAlloyElite.cpp │ │ └── RGBController_HyperXAlloyElite.h │ ├── HyperXAlloyFPSController │ │ ├── HyperXAlloyFPSController.cpp │ │ ├── HyperXAlloyFPSController.h │ │ ├── RGBController_HyperXAlloyFPS.cpp │ │ └── RGBController_HyperXAlloyFPS.h │ ├── HyperXAlloyOrigins60and65Controller │ │ ├── HyperXAlloyOrigins60and65Controller.cpp │ │ ├── HyperXAlloyOrigins60and65Controller.h │ │ ├── RGBController_HyperXAlloyOrigins60and65.cpp │ │ └── RGBController_HyperXAlloyOrigins60and65.h │ ├── HyperXAlloyOriginsController │ │ ├── HyperXAlloyOriginsController.cpp │ │ ├── HyperXAlloyOriginsController.h │ │ ├── RGBController_HyperXAlloyOrigins.cpp │ │ └── RGBController_HyperXAlloyOrigins.h │ ├── HyperXAlloyOriginsCoreController │ │ ├── HyperXAlloyOriginsCoreController.cpp │ │ ├── HyperXAlloyOriginsCoreController.h │ │ ├── RGBController_HyperXAlloyOriginsCore.cpp │ │ └── RGBController_HyperXAlloyOriginsCore.h │ └── HyperXKeyboardControllerDetect.cpp ├── HyperXMicrophoneController │ ├── HyperXMicrophoneController.cpp │ ├── HyperXMicrophoneController.h │ ├── HyperXMicrophoneControllerDetect.cpp │ ├── RGBController_HyperXMicrophone.cpp │ └── RGBController_HyperXMicrophone.h ├── HyperXMouseController │ ├── HyperXMouseControllerDetect.cpp │ ├── HyperXPulsefireDartController │ │ ├── HyperXPulsefireDartController.cpp │ │ ├── HyperXPulsefireDartController.h │ │ ├── RGBController_HyperXPulsefireDart.cpp │ │ └── RGBController_HyperXPulsefireDart.h │ ├── HyperXPulsefireFPSProController │ │ ├── HyperXPulsefireFPSProController.cpp │ │ ├── HyperXPulsefireFPSProController.h │ │ ├── RGBController_HyperXPulsefireFPSPro.cpp │ │ └── RGBController_HyperXPulsefireFPSPro.h │ ├── HyperXPulsefireHasteController │ │ ├── HyperXPulsefireHasteController.cpp │ │ ├── HyperXPulsefireHasteController.h │ │ ├── RGBController_HyperXPulsefireHaste.cpp │ │ └── RGBController_HyperXPulsefireHaste.h │ ├── HyperXPulsefireRaidController │ │ ├── HyperXPulsefireRaidController.cpp │ │ ├── HyperXPulsefireRaidController.h │ │ ├── RGBController_HyperXPulsefireRaid.cpp │ │ └── RGBController_HyperXPulsefireRaid.h │ └── HyperXPulsefireSurgeController │ │ ├── HyperXPulsefireSurgeController.cpp │ │ ├── HyperXPulsefireSurgeController.h │ │ ├── RGBController_HyperXPulsefireSurge.cpp │ │ └── RGBController_HyperXPulsefireSurge.h ├── HyperXMousematController │ ├── HyperXMousematController.cpp │ ├── HyperXMousematController.h │ ├── HyperXMousematControllerDetect.cpp │ ├── RGBController_HyperXMousemat.cpp │ └── RGBController_HyperXMousemat.h ├── InstantMouseController │ ├── InstantMouseController.cpp │ ├── InstantMouseController.h │ ├── InstantMouseControllerDetect.cpp │ ├── InstantMouseDevices.h │ ├── RGBController_InstantMouse.cpp │ └── RGBController_InstantMouse.h ├── IntelArcA770LEController │ ├── IntelArcA770LEController.cpp │ ├── IntelArcA770LEController.h │ ├── IntelArcA770LEControllerDetect.cpp │ ├── RGBController_IntelArcA770LE.cpp │ └── RGBController_IntelArcA770LE.h ├── IonicoController │ ├── IonicoController.cpp │ ├── IonicoController.h │ ├── IonicoControllerDetect.cpp │ ├── RGBController_Ionico.cpp │ └── RGBController_Ionico.h ├── JGINYUEInternalUSBController │ ├── JGINYUEInternalUSBController.cpp │ ├── JGINYUEInternalUSBController.h │ ├── JGINYUEInternalUSBControllerDetect.cpp │ ├── RGBController_JGINYUEInternalUSB.cpp │ └── RGBController_JGINYUEInternalUSB.h ├── JGINYUEInternalUSBV2Controller │ ├── JGINYUEInternalUSBV2Controller.cpp │ ├── JGINYUEInternalUSBV2Controller.h │ ├── JGINYUEInternalUSBV2ControllerDetect.cpp │ ├── RGBController_JGINYUEInternalUSBV2.cpp │ └── RGBController_JGINYUEInternalUSBV2.h ├── KasaSmartController │ ├── KasaSmartController.cpp │ ├── KasaSmartController.h │ ├── KasaSmartControllerDetect.cpp │ ├── RGBController_KasaSmart.cpp │ └── RGBController_KasaSmart.h ├── KeychronKeyboardController │ ├── KeychronKeyboardController.cpp │ ├── KeychronKeyboardController.h │ ├── KeychronKeyboardControllerDetect.cpp │ ├── RGBController_KeychronKeyboard.cpp │ └── RGBController_KeychronKeyboard.h ├── KingstonFuryDRAMController │ ├── KingstonFuryDRAMController.cpp │ ├── KingstonFuryDRAMController.h │ ├── KingstonFuryDRAMControllerDetect.cpp │ ├── RGBController_KingstonFuryDRAM.cpp │ └── RGBController_KingstonFuryDRAM.h ├── LEDStripController │ ├── LEDStripController.cpp │ ├── LEDStripController.h │ ├── LEDStripControllerDetect.cpp │ ├── RGBController_LEDStrip.cpp │ └── RGBController_LEDStrip.h ├── LGMonitorController │ ├── LGMonitorController.cpp │ ├── LGMonitorController.h │ ├── LGMonitorControllerDetect.cpp │ ├── RGBController_LGMonitor.cpp │ └── RGBController_LGMonitor.h ├── LIFXController │ ├── LIFXController.cpp │ ├── LIFXController.h │ ├── LIFXControllerDetect.cpp │ ├── RGBController_LIFX.cpp │ └── RGBController_LIFX.h ├── LegoDimensionsToypadBaseController │ ├── LegoDimensionsToypadBaseController.cpp │ ├── LegoDimensionsToypadBaseController.h │ ├── LegoDimensionsToypadBaseControllerDetect.cpp │ ├── RGBController_LegoDimensionsToypadBase.cpp │ └── RGBController_LegoDimensionsToypadBase.h ├── LenovoControllers │ ├── Lenovo4ZoneUSBController │ │ ├── Lenovo4ZoneUSBController.cpp │ │ ├── Lenovo4ZoneUSBController.h │ │ ├── Lenovo4ZoneUSBControllerDetect.cpp │ │ ├── LenovoDevices4Zone.h │ │ ├── RGBController_Lenovo4ZoneUSB.cpp │ │ └── RGBController_Lenovo4ZoneUSB.h │ ├── LenovoDevices.h │ ├── LenovoM300Controller │ │ ├── LenovoM300Controller.cpp │ │ ├── LenovoM300Controller.h │ │ ├── LenovoM300ControllerDetect.cpp │ │ ├── RGBController_LenovoM300.cpp │ │ └── RGBController_LenovoM300.h │ ├── LenovoUSBController │ │ ├── LenovoUSBController.cpp │ │ ├── LenovoUSBController.h │ │ ├── RGBController_LenovoUSB.cpp │ │ └── RGBController_LenovoUSB.h │ ├── LenovoUSBControllerDetect.cpp │ └── LenovoUSBController_Gen7_8 │ │ ├── LenovoUSBController_Gen7_8.cpp │ │ ├── LenovoUSBController_Gen7_8.h │ │ ├── RGBController_Lenovo_Gen7_8.cpp │ │ └── RGBController_Lenovo_Gen7_8.h ├── LenovoMotherboardController │ ├── LenovoMotherboardController.cpp │ ├── LenovoMotherboardController.h │ ├── LenovoMotherboardControllerDetect.cpp │ ├── RGBController_LenovoMotherboard.cpp │ └── RGBController_LenovoMotherboard.h ├── LexipMouseController │ ├── LexipMouseController.cpp │ ├── LexipMouseController.h │ ├── LexipMouseControllerDetect.cpp │ ├── RGBController_LexipMouse.cpp │ └── RGBController_LexipMouse.h ├── LianLiController │ ├── LianLiControllerDetect.cpp │ ├── LianLiGAIITrinityController │ │ ├── LianLiGAIITrinityController.cpp │ │ ├── LianLiGAIITrinityController.h │ │ ├── RGBController_LianLiGAIITrinity.cpp │ │ └── RGBController_LianLiGAIITrinity.h │ ├── LianLiStrimerLConnectController │ │ ├── LianLiStrimerLConnectController.cpp │ │ ├── LianLiStrimerLConnectController.h │ │ ├── RGBController_LianLiStrimerLConnect.cpp │ │ └── RGBController_LianLiStrimerLConnect.h │ ├── LianLiUniHubALController │ │ ├── LianLiUniHubALController.cpp │ │ ├── LianLiUniHubALController.h │ │ ├── RGBController_LianLiUniHubAL.cpp │ │ └── RGBController_LianLiUniHubAL.h │ ├── LianLiUniHubController │ │ ├── LianLiUniHubController.cpp │ │ ├── LianLiUniHubController.h │ │ ├── RGBController_LianLiUniHub.cpp │ │ └── RGBController_LianLiUniHub.h │ ├── LianLiUniHubSLInfinityController │ │ ├── LianLiUniHubSLInfinityController.cpp │ │ ├── LianLiUniHubSLInfinityController.h │ │ ├── RGBController_LianLiUniHubSLInfinity.cpp │ │ └── RGBController_LianLiUniHubSLInfinity.h │ ├── LianLiUniHubSLV2Controller │ │ ├── LianLiUniHubSLV2Controller.cpp │ │ ├── LianLiUniHubSLV2Controller.h │ │ ├── RGBController_LianLiUniHubSLV2.cpp │ │ └── RGBController_LianLiUniHubSLV2.h │ └── LianLiUniHub_AL10Controller │ │ ├── LianLiUniHub_AL10Controller.cpp │ │ ├── LianLiUniHub_AL10Controller.h │ │ ├── RGBController_LianLiUniHub_AL10.cpp │ │ └── RGBController_LianLiUniHub_AL10.h ├── LightSaltController │ ├── LightSaltController.cpp │ ├── LightSaltController.h │ ├── LightSaltControllerDetect.cpp │ ├── RGBController_LightSalt.cpp │ ├── RGBController_LightSalt.h │ ├── RGBController_LightSaltKeyboard.cpp │ ├── RGBController_LightSaltKeyboard.h │ ├── RGBController_LightSaltKeypad.cpp │ └── RGBController_LightSaltKeypad.h ├── LinuxLEDController │ ├── LinuxLEDControllerDetect_Linux.cpp │ ├── LinuxLEDController_Linux.cpp │ ├── LinuxLEDController_Linux.h │ ├── RGBController_LinuxLED_Linux.cpp │ └── RGBController_LinuxLED_Linux.h ├── LogitechController │ ├── LogitechControllerDetect.cpp │ ├── LogitechG203LController │ │ ├── LogitechG203LController.cpp │ │ ├── LogitechG203LController.h │ │ ├── RGBController_LogitechG203L.cpp │ │ └── RGBController_LogitechG203L.h │ ├── LogitechG213Controller │ │ ├── LogitechG213Controller.cpp │ │ ├── LogitechG213Controller.h │ │ ├── RGBController_LogitechG213.cpp │ │ └── RGBController_LogitechG213.h │ ├── LogitechG560Controller │ │ ├── LogitechG560Controller.cpp │ │ ├── LogitechG560Controller.h │ │ ├── RGBController_LogitechG560.cpp │ │ └── RGBController_LogitechG560.h │ ├── LogitechG810Controller │ │ ├── LogitechG810Controller.cpp │ │ ├── LogitechG810Controller.h │ │ ├── RGBController_LogitechG810.cpp │ │ └── RGBController_LogitechG810.h │ ├── LogitechG815Controller │ │ ├── LogitechG815Controller.cpp │ │ ├── LogitechG815Controller.h │ │ ├── RGBController_LogitechG815.cpp │ │ └── RGBController_LogitechG815.h │ ├── LogitechG910Controller │ │ ├── LogitechG910Controller.cpp │ │ ├── LogitechG910Controller.h │ │ ├── RGBController_LogitechG910.cpp │ │ └── RGBController_LogitechG910.h │ ├── LogitechG915Controller │ │ ├── LogitechG915Controller.cpp │ │ ├── LogitechG915Controller.h │ │ ├── RGBController_LogitechG915.cpp │ │ └── RGBController_LogitechG915.h │ ├── LogitechG933Controller │ │ ├── LogitechG933Controller.cpp │ │ ├── LogitechG933Controller.h │ │ ├── RGBController_LogitechG933.cpp │ │ └── RGBController_LogitechG933.h │ ├── LogitechGLightsyncController │ │ ├── LogitechGLightsyncController.cpp │ │ ├── LogitechGLightsyncController.h │ │ ├── RGBController_LogitechGLightsync.cpp │ │ ├── RGBController_LogitechGLightsync.h │ │ ├── RGBController_LogitechGLightsync1zone.cpp │ │ ├── RGBController_LogitechGLightsync1zone.h │ │ ├── RGBController_LogitechGPowerPlay.cpp │ │ └── RGBController_LogitechGPowerPlay.h │ ├── LogitechGProKeyboardController │ │ ├── LogitechGProKeyboardController.cpp │ │ ├── LogitechGProKeyboardController.h │ │ ├── RGBController_LogitechGProKeyboard.cpp │ │ └── RGBController_LogitechGProKeyboard.h │ ├── LogitechLightspeedController │ │ ├── LogitechLightspeedController.cpp │ │ ├── LogitechLightspeedController.h │ │ ├── RGBController_LogitechLightspeed.cpp │ │ └── RGBController_LogitechLightspeed.h │ ├── LogitechProtocolCommon.cpp │ ├── LogitechProtocolCommon.h │ └── LogitechX56Controller │ │ ├── LogitechX56Controller.cpp │ │ ├── LogitechX56Controller.h │ │ ├── RGBController_LogitechX56.cpp │ │ └── RGBController_LogitechX56.h ├── LuxaforController │ ├── LuxaforController.cpp │ ├── LuxaforController.h │ ├── LuxaforControllerDetect.cpp │ ├── RGBController_Luxafor.cpp │ └── RGBController_Luxafor.h ├── MSI3ZoneController │ ├── MSI3ZoneController.cpp │ ├── MSI3ZoneController.h │ ├── MSI3ZoneControllerDetect.cpp │ ├── RGBController_MSI3Zone.cpp │ └── RGBController_MSI3Zone.h ├── MSIGPUController │ ├── MSIGPUController │ │ ├── MSIGPUController.cpp │ │ ├── MSIGPUController.h │ │ ├── MSIGPUControllerDetect.cpp │ │ ├── RGBController_MSIGPU.cpp │ │ └── RGBController_MSIGPU.h │ └── MSIGPUv2Controller │ │ ├── MSIGPUv2Controller.cpp │ │ ├── MSIGPUv2Controller.h │ │ ├── MSIGPUv2ControllerDetect.cpp │ │ ├── RGBController_MSIGPUv2.cpp │ │ └── RGBController_MSIGPUv2.h ├── MSIMysticLightController │ ├── MSIMysticLight112Controller │ │ ├── MSIMysticLight112Controller.cpp │ │ ├── MSIMysticLight112Controller.h │ │ ├── RGBController_MSIMysticLight112.cpp │ │ └── RGBController_MSIMysticLight112.h │ ├── MSIMysticLight162Controller │ │ ├── MSIMysticLight162Controller.cpp │ │ ├── MSIMysticLight162Controller.h │ │ ├── RGBController_MSIMysticLight162.cpp │ │ └── RGBController_MSIMysticLight162.h │ ├── MSIMysticLight185Controller │ │ ├── MSIMysticLight185Controller.cpp │ │ ├── MSIMysticLight185Controller.h │ │ ├── RGBController_MSIMysticLight185.cpp │ │ └── RGBController_MSIMysticLight185.h │ ├── MSIMysticLight64Controller │ │ ├── MSIMysticLight64Controller.cpp │ │ ├── MSIMysticLight64Controller.h │ │ ├── RGBController_MSIMysticLight64.cpp │ │ └── RGBController_MSIMysticLight64.h │ ├── MSIMysticLightCommon.h │ └── MSIMysticLightControllerDetect.cpp ├── MSIOptixController │ ├── MSIOptixController.cpp │ ├── MSIOptixController.h │ ├── MSIOptixControllerDetect.cpp │ ├── RGBController_MSIOptix.cpp │ └── RGBController_MSIOptix.h ├── MSIRGBController │ ├── MSIRGBController.cpp │ ├── MSIRGBController.h │ ├── MSIRGBControllerDetect.cpp │ ├── RGBController_MSIRGB.cpp │ └── RGBController_MSIRGB.h ├── MSIVigorController │ ├── MSIVigorControllerDetect.cpp │ ├── MSIVigorGK30Controller.cpp │ ├── MSIVigorGK30Controller.h │ ├── RGBController_MSIVigorGK30.cpp │ └── RGBController_MSIVigorGK30.h ├── MadCatzCyborgController │ ├── MadCatzCyborgController.cpp │ ├── MadCatzCyborgController.h │ ├── MadCatzCyborgControllerDetect.cpp │ ├── RGBController_MadCatzCyborg.cpp │ └── RGBController_MadCatzCyborg.h ├── MintakaKeyboardController │ ├── MintakaKeyboardController.cpp │ ├── MintakaKeyboardController.h │ ├── MintakaKeyboardControllerDetect.cpp │ ├── RGBController_MintakaKeyboard.cpp │ └── RGBController_MintakaKeyboard.h ├── MountainKeyboardController │ ├── MountainKeyboardController.cpp │ ├── MountainKeyboardController.h │ ├── MountainKeyboardControllerDetect.cpp │ ├── RGBController_MountainKeyboard.cpp │ └── RGBController_MountainKeyboard.h ├── N5312AController │ ├── N5312AController.cpp │ ├── N5312AController.h │ ├── N5312AControllerDetect.cpp │ ├── RGBController_N5312A.cpp │ └── RGBController_N5312A.h ├── NVIDIAIlluminationController │ ├── NVIDIAIlluminationControllerDetect_Windows_Linux.cpp │ ├── NVIDIAIlluminationV1Controller_Windows_Linux.cpp │ ├── NVIDIAIlluminationV1Controller_Windows_Linux.h │ ├── RGBController_NVIDIAIllumination_Windows_Linux.cpp │ ├── RGBController_NVIDIAIllumination_Windows_Linux.h │ ├── nvapi_accessor_Windows_Linux.cpp │ └── nvapi_accessor_Windows_Linux.h ├── NZXTHue1Controller │ ├── NZXTHue1Controller.cpp │ ├── NZXTHue1Controller.h │ ├── NZXTHue1ControllerDetect.cpp │ ├── RGBController_NZXTHue1.cpp │ └── RGBController_NZXTHue1.h ├── NZXTHue2Controller │ ├── NZXTHue2Controller.cpp │ ├── NZXTHue2Controller.h │ ├── NZXTHue2ControllerDetect.cpp │ ├── RGBController_NZXTHue2.cpp │ └── RGBController_NZXTHue2.h ├── NZXTHuePlusController │ ├── NZXTHuePlusController.cpp │ ├── NZXTHuePlusController.h │ ├── NZXTHuePlusControllerDetect.cpp │ ├── RGBController_NZXTHuePlus.cpp │ └── RGBController_NZXTHuePlus.h ├── NZXTKrakenController │ ├── NZXTKrakenController.cpp │ ├── NZXTKrakenController.h │ ├── NZXTKrakenControllerDetect.cpp │ ├── RGBController_NZXTKraken.cpp │ └── RGBController_NZXTKraken.h ├── NZXTMouseController │ ├── NZXTMouseController.cpp │ ├── NZXTMouseController.h │ ├── NZXTMouseControllerDetect.cpp │ ├── RGBController_NZXTMouse.cpp │ └── RGBController_NZXTMouse.h ├── NanoleafController │ ├── NanoleafController.cpp │ ├── NanoleafController.h │ ├── NanoleafControllerDetect.cpp │ ├── RGBController_Nanoleaf.cpp │ └── RGBController_Nanoleaf.h ├── NollieController │ ├── NollieController.cpp │ ├── NollieController.h │ ├── NollieControllerDetect.cpp │ ├── RGBController_Nollie.cpp │ └── RGBController_Nollie.h ├── NvidiaESAController │ ├── NvidiaESAController.cpp │ ├── NvidiaESAController.h │ ├── NvidiaESAControllerDetect.cpp │ ├── RGBController_NvidiaESA.cpp │ └── RGBController_NvidiaESA.h ├── OKSController │ ├── OKSKeyboardController.cpp │ ├── OKSKeyboardController.h │ ├── OKSKeyboardControllerDetect.cpp │ ├── RGBController_OKSKeyboard.cpp │ └── RGBController_OKSKeyboard.h ├── PNYGPUController │ ├── PNYGPUController.cpp │ ├── PNYGPUController.h │ ├── PNYGPUControllerDetect.cpp │ ├── RGBController_PNYGPU.cpp │ └── RGBController_PNYGPU.h ├── PNYLovelaceGPUController │ ├── PNYLovelaceGPUController.cpp │ ├── PNYLovelaceGPUController.h │ ├── PNYLovelaceGPUControllerDetect.cpp │ ├── RGBController_PNYLovelaceGPU.cpp │ └── RGBController_PNYLovelaceGPU.h ├── PalitGPUController │ ├── PalitGPUController.cpp │ ├── PalitGPUController.h │ ├── PalitGPUControllerDetect.cpp │ ├── RGBController_PalitGPU.cpp │ └── RGBController_PalitGPU.h ├── PatriotViperController │ ├── PatriotViperController.cpp │ ├── PatriotViperController.h │ ├── PatriotViperControllerDetect.cpp │ ├── RGBController_PatriotViper.cpp │ └── RGBController_PatriotViper.h ├── PatriotViperMouseController │ ├── PatriotViperMouseController.cpp │ ├── PatriotViperMouseController.h │ ├── PatriotViperMouseControllerDetect.cpp │ ├── RGBController_PatriotViperMouse.cpp │ └── RGBController_PatriotViperMouse.h ├── PatriotViperSteelController │ ├── PatriotViperSteelController.cpp │ ├── PatriotViperSteelController.h │ ├── PatriotViperSteelControllerDetect.cpp │ ├── RGBController_PatriotViperSteel.cpp │ └── RGBController_PatriotViperSteel.h ├── PhilipsHueController │ ├── PhilipsHueController.cpp │ ├── PhilipsHueController.h │ ├── PhilipsHueControllerDetect.cpp │ ├── PhilipsHueEntertainmentController.cpp │ ├── PhilipsHueEntertainmentController.h │ ├── PhilipsHueSettingsHandler.cpp │ ├── PhilipsHueSettingsHandler.h │ ├── RGBController_PhilipsHue.cpp │ ├── RGBController_PhilipsHue.h │ ├── RGBController_PhilipsHueEntertainment.cpp │ └── RGBController_PhilipsHueEntertainment.h ├── PhilipsWizController │ ├── PhilipsWizController.cpp │ ├── PhilipsWizController.h │ ├── PhilipsWizControllerDetect.cpp │ ├── RGBController_PhilipsWiz.cpp │ └── RGBController_PhilipsWiz.h ├── QMKOpenRGBController │ ├── QMKOpenRGBBaseController.cpp │ ├── QMKOpenRGBBaseController.h │ ├── QMKOpenRGBController.h │ ├── QMKOpenRGBControllerDetect.cpp │ ├── QMKOpenRGBRev9Controller │ │ ├── QMKOpenRGBRev9Controller.cpp │ │ ├── QMKOpenRGBRev9Controller.h │ │ ├── RGBController_QMKOpenRGBRev9.cpp │ │ └── RGBController_QMKOpenRGBRev9.h │ ├── QMKOpenRGBRevBController │ │ ├── QMKOpenRGBRevBController.cpp │ │ ├── QMKOpenRGBRevBController.h │ │ ├── RGBController_QMKOpenRGBRevB.cpp │ │ └── RGBController_QMKOpenRGBRevB.h │ ├── QMKOpenRGBRevDController │ │ ├── QMKOpenRGBRevDController.cpp │ │ ├── QMKOpenRGBRevDController.h │ │ ├── RGBController_QMKOpenRGBRevD.cpp │ │ └── RGBController_QMKOpenRGBRevD.h │ └── QMKOpenRGBRevEController │ │ ├── RGBController_QMKOpenRGBRevE.cpp │ │ └── RGBController_QMKOpenRGBRevE.h ├── RazerController │ ├── RazerController │ │ ├── RGBController_Razer.cpp │ │ ├── RGBController_Razer.h │ │ ├── RGBController_RazerAddressable.cpp │ │ ├── RGBController_RazerAddressable.h │ │ ├── RazerController.cpp │ │ └── RazerController.h │ ├── RazerControllerDetect.cpp │ ├── RazerDeviceGuard.cpp │ ├── RazerDeviceGuard.h │ ├── RazerDevices.cpp │ ├── RazerDevices.h │ ├── RazerHanboController │ │ ├── RGBController_RazerHanbo.cpp │ │ ├── RGBController_RazerHanbo.h │ │ ├── RazerHanboController.cpp │ │ └── RazerHanboController.h │ └── RazerKrakenController │ │ ├── RGBController_RazerKraken.cpp │ │ ├── RGBController_RazerKraken.h │ │ ├── RazerKrakenController.cpp │ │ └── RazerKrakenController.h ├── RedSquareKeyroxController │ ├── RedSquareKeyroxController │ │ ├── RGBController_RedSquareKeyrox.cpp │ │ ├── RGBController_RedSquareKeyrox.h │ │ ├── RedSquareKeyroxController.cpp │ │ └── RedSquareKeyroxController.h │ ├── RedSquareKeyroxControllerDetect.cpp │ └── RedSquareKeyroxTKLClassicController │ │ ├── RGBController_RedSquareKeyroxTKLClassic.cpp │ │ ├── RGBController_RedSquareKeyroxTKLClassic.h │ │ ├── RedSquareKeyroxTKLClassicController.cpp │ │ └── RedSquareKeyroxTKLClassicController.h ├── RedragonController │ ├── RGBController_RedragonMouse.cpp │ ├── RGBController_RedragonMouse.h │ ├── RedragonControllerDetect.cpp │ ├── RedragonMouseController.cpp │ └── RedragonMouseController.h ├── RoccatController │ ├── RoccatBurstController │ │ ├── RGBController_RoccatBurst.cpp │ │ ├── RGBController_RoccatBurst.h │ │ ├── RoccatBurstController.cpp │ │ └── RoccatBurstController.h │ ├── RoccatBurstProAirController │ │ ├── RGBController_RoccatBurstProAir.cpp │ │ ├── RGBController_RoccatBurstProAir.h │ │ ├── RoccatBurstProAirController.cpp │ │ └── RoccatBurstProAirController.h │ ├── RoccatControllerDetect.cpp │ ├── RoccatEloController │ │ ├── RGBController_RoccatElo.cpp │ │ ├── RGBController_RoccatElo.h │ │ ├── RoccatEloController.cpp │ │ └── RoccatEloController.h │ ├── RoccatHordeAimoController │ │ ├── RGBController_RoccatHordeAimo.cpp │ │ ├── RGBController_RoccatHordeAimo.h │ │ ├── RoccatHordeAimoController.cpp │ │ └── RoccatHordeAimoController.h │ ├── RoccatKoneAimoController │ │ ├── RGBController_RoccatKoneAimo.cpp │ │ ├── RGBController_RoccatKoneAimo.h │ │ ├── RoccatKoneAimoController.cpp │ │ └── RoccatKoneAimoController.h │ ├── RoccatKoneProAirController │ │ ├── RGBController_RoccatKoneProAir.cpp │ │ ├── RGBController_RoccatKoneProAir.h │ │ ├── RoccatKoneProAirController.cpp │ │ └── RoccatKoneProAirController.h │ ├── RoccatKoneProController │ │ ├── RGBController_RoccatKonePro.cpp │ │ ├── RGBController_RoccatKonePro.h │ │ ├── RoccatKoneProController.cpp │ │ └── RoccatKoneProController.h │ ├── RoccatKoneXPController │ │ ├── RGBController_RoccatKoneXP.cpp │ │ ├── RGBController_RoccatKoneXP.h │ │ ├── RoccatKoneXPController.cpp │ │ └── RoccatKoneXPController.h │ ├── RoccatKovaController │ │ ├── RGBController_RoccatKova.cpp │ │ ├── RGBController_RoccatKova.h │ │ ├── RoccatKovaController.cpp │ │ └── RoccatKovaController.h │ ├── RoccatSenseAimoController │ │ ├── RGBController_RoccatSenseAimo.cpp │ │ ├── RGBController_RoccatSenseAimo.h │ │ ├── RoccatSenseAimoController.cpp │ │ └── RoccatSenseAimoController.h │ └── RoccatVulcanKeyboardController │ │ ├── RGBController_RoccatVulcanKeyboard.cpp │ │ ├── RGBController_RoccatVulcanKeyboard.h │ │ ├── RoccatVulcanKeyboardController.cpp │ │ ├── RoccatVulcanKeyboardController.h │ │ └── RoccatVulcanKeyboardLayouts.h ├── SRGBmodsController │ ├── SRGBmodsControllerDetect.cpp │ ├── SRGBmodsLEDControllerV1 │ │ ├── RGBController_SRGBmodsLEDControllerV1.cpp │ │ ├── RGBController_SRGBmodsLEDControllerV1.h │ │ ├── SRGBmodsLEDControllerV1.cpp │ │ └── SRGBmodsLEDControllerV1.h │ └── SRGBmodsPicoController │ │ ├── RGBController_SRGBmodsPico.cpp │ │ ├── RGBController_SRGBmodsPico.h │ │ ├── SRGBmodsPicoController.cpp │ │ └── SRGBmodsPicoController.h ├── SapphireGPUController │ ├── SapphireGPUControllerDetect.cpp │ ├── SapphireNitroGlowV1Controller │ │ ├── RGBController_SapphireNitroGlowV1.cpp │ │ ├── RGBController_SapphireNitroGlowV1.h │ │ ├── SapphireNitroGlowV1Controller.cpp │ │ └── SapphireNitroGlowV1Controller.h │ └── SapphireNitroGlowV3Controller │ │ ├── RGBController_SapphireNitroGlowV3.cpp │ │ ├── RGBController_SapphireNitroGlowV3.h │ │ ├── SapphireNitroGlowV3Controller.cpp │ │ └── SapphireNitroGlowV3Controller.h ├── SeagateController │ ├── RGBController_Seagate.cpp │ ├── RGBController_Seagate.h │ ├── SeagateController.cpp │ ├── SeagateController.h │ └── SeagateControllerDetect.cpp ├── SinowealthController │ ├── GenesisXenon200Controller │ │ ├── GenesisXenon200Controller.cpp │ │ ├── GenesisXenon200Controller.h │ │ ├── RGBController_GenesisXenon200.cpp │ │ └── RGBController_GenesisXenon200.h │ ├── Sinowealth1007Controller │ │ ├── RGBController_Sinowealth1007.cpp │ │ ├── RGBController_Sinowealth1007.h │ │ ├── SinowealthController1007.cpp │ │ └── SinowealthController1007.h │ ├── SinowealthController │ │ ├── RGBController_Sinowealth.cpp │ │ ├── RGBController_Sinowealth.h │ │ ├── SinowealthController.cpp │ │ └── SinowealthController.h │ ├── SinowealthControllerDetect.cpp │ ├── SinowealthGMOWController │ │ ├── RGBController_SinowealthGMOW.cpp │ │ ├── RGBController_SinowealthGMOW.h │ │ ├── SinowealthGMOWController.cpp │ │ └── SinowealthGMOWController.h │ ├── SinowealthKeyboard16Controller │ │ ├── RGBController_SinowealthKeyboard16.cpp │ │ ├── RGBController_SinowealthKeyboard16.h │ │ ├── SinowealthKeyboard16Controller.cpp │ │ └── SinowealthKeyboard16Controller.h │ ├── SinowealthKeyboard90Controller │ │ ├── RGBController_SinowealthKeyboard90.cpp │ │ ├── RGBController_SinowealthKeyboard90.h │ │ ├── SinowealthKeyboard90Controller.cpp │ │ └── SinowealthKeyboard90Controller.h │ └── SinowealthKeyboardController │ │ ├── RGBController_SinowealthKeyboard.cpp │ │ ├── RGBController_SinowealthKeyboard.h │ │ ├── SinowealthKeyboardController.cpp │ │ └── SinowealthKeyboardController.h ├── SkyloongController │ ├── RGBController_SkyloongGK104Pro.cpp │ ├── RGBController_SkyloongGK104Pro.h │ ├── SkyloongControllerDetect.cpp │ ├── SkyloongGK104ProController.cpp │ └── SkyloongGK104ProController.h ├── SonyGamepadController │ ├── SonyDS4Controller │ │ ├── RGBController_SonyDS4.cpp │ │ ├── RGBController_SonyDS4.h │ │ ├── SonyDS4Controller.cpp │ │ └── SonyDS4Controller.h │ ├── SonyDualSenseController │ │ ├── RGBController_SonyDualSense.cpp │ │ ├── RGBController_SonyDualSense.h │ │ ├── SonyDualSenseController.cpp │ │ └── SonyDualSenseController.h │ └── SonyGamepadControllerDetect.cpp ├── SteelSeriesController │ ├── SteelSeriesAerox3Controller │ │ ├── SteelSeriesAerox3Controller.cpp │ │ └── SteelSeriesAerox3Controller.h │ ├── SteelSeriesAerox5Controller │ │ ├── SteelSeriesAerox5Controller.cpp │ │ └── SteelSeriesAerox5Controller.h │ ├── SteelSeriesAeroxWirelessController │ │ ├── SteelSeriesAeroxWirelessController.cpp │ │ └── SteelSeriesAeroxWirelessController.h │ ├── SteelSeriesApex3Controller │ │ ├── RGBController_SteelSeriesApex3.cpp │ │ ├── RGBController_SteelSeriesApex3.h │ │ ├── SteelSeriesApex3Controller.cpp │ │ └── SteelSeriesApex3Controller.h │ ├── SteelSeriesApex8ZoneController │ │ ├── SteelSeriesApex8ZoneController.cpp │ │ └── SteelSeriesApex8ZoneController.h │ ├── SteelSeriesApexBaseController.h │ ├── SteelSeriesApexController │ │ ├── RGBController_SteelSeriesApex.cpp │ │ ├── RGBController_SteelSeriesApex.h │ │ ├── SteelSeriesApexController.cpp │ │ └── SteelSeriesApexController.h │ ├── SteelSeriesApexMController │ │ ├── SteelSeriesApexMController.cpp │ │ └── SteelSeriesApexMController.h │ ├── SteelSeriesApexRegions.h │ ├── SteelSeriesApexTZoneController │ │ ├── SteelSeriesApexTZoneController.cpp │ │ └── SteelSeriesApexTZoneController.h │ ├── SteelSeriesArctis5Controller │ │ ├── RGBController_SteelSeriesArctis5.cpp │ │ ├── RGBController_SteelSeriesArctis5.h │ │ ├── SteelSeriesArctis5Controller.cpp │ │ └── SteelSeriesArctis5Controller.h │ ├── SteelSeriesControllerDetect.cpp │ ├── SteelSeriesGeneric.h │ ├── SteelSeriesMouseController │ │ ├── SteelSeriesMouseController.cpp │ │ └── SteelSeriesMouseController.h │ ├── SteelSeriesOldApexController │ │ ├── RGBController_SteelSeriesOldApex.cpp │ │ ├── RGBController_SteelSeriesOldApex.h │ │ ├── SteelSeriesOldApexController.cpp │ │ └── SteelSeriesOldApexController.h │ ├── SteelSeriesQCKMatController │ │ ├── RGBController_SteelSeriesQCKMat.cpp │ │ ├── RGBController_SteelSeriesQCKMat.h │ │ ├── SteelSeriesQCKMatController.cpp │ │ └── SteelSeriesQCKMatController.h │ ├── SteelSeriesRival3Controller │ │ ├── RGBController_SteelSeriesRival3.cpp │ │ ├── RGBController_SteelSeriesRival3.h │ │ ├── SteelSeriesRival3Controller.cpp │ │ └── SteelSeriesRival3Controller.h │ ├── SteelSeriesRivalController │ │ ├── RGBController_SteelSeriesRival.cpp │ │ ├── RGBController_SteelSeriesRival.h │ │ ├── SteelSeriesRivalController.cpp │ │ └── SteelSeriesRivalController.h │ ├── SteelSeriesSenseiController │ │ ├── RGBController_SteelSeriesSensei.cpp │ │ ├── RGBController_SteelSeriesSensei.h │ │ ├── SteelSeriesSenseiController.cpp │ │ └── SteelSeriesSenseiController.h │ ├── SteelSeriesSiberiaController │ │ ├── RGBController_SteelSeriesSiberia.cpp │ │ ├── RGBController_SteelSeriesSiberia.h │ │ ├── SteelSeriesSiberiaController.cpp │ │ └── SteelSeriesSiberiaController.h │ └── color32.h ├── TecknetController │ ├── RGBController_Tecknet.cpp │ ├── RGBController_Tecknet.h │ ├── TecknetController.cpp │ ├── TecknetController.h │ └── TecknetControllerDetect.cpp ├── ThermaltakePoseidonZRGBController │ ├── RGBController_ThermaltakePoseidonZRGB.cpp │ ├── RGBController_ThermaltakePoseidonZRGB.h │ ├── ThermaltakePoseidonZRGBController.cpp │ ├── ThermaltakePoseidonZRGBController.h │ └── ThermaltakePoseidonZRGBControllerDetect.cpp ├── ThermaltakeRiingController │ ├── ThermaltakeRiingController │ │ ├── RGBController_ThermaltakeRiing.cpp │ │ ├── RGBController_ThermaltakeRiing.h │ │ ├── ThermaltakeRiingController.cpp │ │ └── ThermaltakeRiingController.h │ ├── ThermaltakeRiingControllerDetect.cpp │ ├── ThermaltakeRiingQuadController │ │ ├── RGBController_ThermaltakeRiingQuad.cpp │ │ ├── RGBController_ThermaltakeRiingQuad.h │ │ ├── ThermaltakeRiingQuadController.cpp │ │ └── ThermaltakeRiingQuadController.h │ └── ThermaltakeRiingTrioController │ │ ├── RGBController_ThermaltakeRiingTrio.cpp │ │ ├── RGBController_ThermaltakeRiingTrio.h │ │ ├── ThermaltakeRiingTrioController.cpp │ │ └── ThermaltakeRiingTrioController.h ├── ThingMController │ ├── BlinkController.cpp │ ├── BlinkController.h │ ├── RGBController_BlinkController.cpp │ ├── RGBController_BlinkController.h │ └── ThingMControllerDetect.cpp ├── TrustController │ ├── TrustControllerDetect.cpp │ ├── TrustGXT114Controller │ │ ├── RGBController_TrustGXT114.cpp │ │ ├── RGBController_TrustGXT114.h │ │ ├── TrustGXT114Controller.cpp │ │ └── TrustGXT114Controller.h │ └── TrustGXT180Controller │ │ ├── RGBController_TrustGXT180.cpp │ │ ├── RGBController_TrustGXT180.h │ │ ├── TrustGXT180Controller.cpp │ │ └── TrustGXT180Controller.h ├── ValkyrieKeyboardController │ ├── RGBController_ValkyrieKeyboard.cpp │ ├── RGBController_ValkyrieKeyboard.h │ ├── ValkyrieKeyboardController.cpp │ ├── ValkyrieKeyboardController.h │ └── ValkyrieKeyboardControllerDetect.cpp ├── ViewSonicController │ ├── RGBController_XG270QG.cpp │ ├── RGBController_XG270QG.h │ ├── VS_XG270QG_Controller.cpp │ ├── VS_XG270QG_Controller.h │ └── ViewSonicControllerDetect.cpp ├── WinbondGamingKeyboardController │ ├── RGBController_WinbondGamingKeyboard.cpp │ ├── RGBController_WinbondGamingKeyboard.h │ ├── WinbondGamingKeyboardController.cpp │ ├── WinbondGamingKeyboardController.h │ └── WinbondGamingKeyboardControllerDetect.cpp ├── WootingKeyboardController │ ├── RGBController_WootingKeyboard.cpp │ ├── RGBController_WootingKeyboard.h │ ├── WootingKeyboardController.cpp │ ├── WootingKeyboardController.h │ ├── WootingKeyboardControllerDetect.cpp │ ├── WootingOneKeyboardController │ │ ├── WootingOneKeyboardController.cpp │ │ └── WootingOneKeyboardController.h │ └── WootingTwoKeyboardController │ │ ├── WootingTwoKeyboardController.cpp │ │ └── WootingTwoKeyboardController.h ├── WushiController │ ├── RGBController_WushiL50USB.cpp │ ├── RGBController_WushiL50USB.h │ ├── WushiL50USBController.cpp │ ├── WushiL50USBController.h │ └── WushiL50USBDetect.cpp ├── YeelightController │ ├── RGBController_Yeelight.cpp │ ├── RGBController_Yeelight.h │ ├── YeelightController.cpp │ ├── YeelightController.h │ └── YeelightControllerDetect.cpp ├── ZETEdgeAirProController │ ├── RGBController_ZETEdgeAirPro.cpp │ ├── RGBController_ZETEdgeAirPro.h │ ├── ZETEdgeAirProController.cpp │ ├── ZETEdgeAirProController.h │ └── ZETEdgeAirProControllerDetect.cpp ├── ZETKeyboardController │ ├── RGBController_ZETBladeOptical.cpp │ ├── RGBController_ZETBladeOptical.h │ ├── ZETBladeOpticalController.cpp │ ├── ZETBladeOpticalController.h │ └── ZETKeyboardControllerDetect.cpp ├── ZalmanZSyncController │ ├── RGBController_ZalmanZSync.cpp │ ├── RGBController_ZalmanZSync.h │ ├── ZalmanZSyncController.cpp │ ├── ZalmanZSyncController.h │ └── ZalmanZSyncControllerDetect.cpp ├── ZotacTuringGPUController │ ├── RGBController_ZotacTuringGPU.cpp │ ├── RGBController_ZotacTuringGPU.h │ ├── ZotacTuringGPUController.cpp │ ├── ZotacTuringGPUController.h │ └── ZotacTuringGPUControllerDetect.cpp └── ZotacV2GPUController │ ├── RGBController_ZotacV2GPU.cpp │ ├── RGBController_ZotacV2GPU.h │ ├── ZotacV2GPUController.cpp │ ├── ZotacV2GPUController.h │ └── ZotacV2GPUControllerDetect.cpp ├── Detector.h ├── DeviceDetector.h ├── Documentation ├── Compiling.md ├── Images │ ├── OpenRGB.png │ └── OpenRGB_Screenshot.png ├── KernelParameters.md ├── OpenRGBSDK.md ├── RGBControllerAPI.md ├── SMBusAccess.md ├── USBAccess.md └── UdevRules.md ├── KeyboardLayoutManager ├── KeyboardLayoutManager.cpp └── KeyboardLayoutManager.h ├── LICENSE ├── LogManager.cpp ├── LogManager.h ├── NetworkClient.cpp ├── NetworkClient.h ├── NetworkProtocol.cpp ├── NetworkProtocol.h ├── NetworkServer.cpp ├── NetworkServer.h ├── OpenRGB.pro ├── OpenRGBPluginInterface.h ├── PluginManager.cpp ├── PluginManager.h ├── ProfileManager.cpp ├── ProfileManager.h ├── README.md ├── RGBController ├── RGBController.cpp ├── RGBController.h ├── RGBControllerKeyNames.cpp ├── RGBControllerKeyNames.h ├── RGBController_Dummy.cpp ├── RGBController_Dummy.h ├── RGBController_Network.cpp └── RGBController_Network.h ├── ResourceManager.cpp ├── ResourceManager.h ├── ResourceManagerInterface.h ├── SPDAccessor ├── DDR4DirectAccessor.cpp ├── DDR4DirectAccessor.h ├── DDR5DirectAccessor.cpp ├── DDR5DirectAccessor.h ├── EE1004Accessor_Linux.cpp ├── EE1004Accessor_Linux.h ├── SPD5118Accessor_Linux.cpp ├── SPD5118Accessor_Linux.h ├── SPDAccessor.cpp ├── SPDAccessor.h ├── SPDCommon.h ├── SPDDetector.cpp ├── SPDDetector.h ├── SPDWrapper.cpp └── SPDWrapper.h ├── SettingsManager.cpp ├── SettingsManager.h ├── StringUtils.cpp ├── StringUtils.h ├── SuspendResume ├── SuspendResume.h ├── SuspendResume_Linux_FreeBSD.cpp ├── SuspendResume_Linux_FreeBSD.h ├── SuspendResume_MacOS.cpp ├── SuspendResume_MacOS.h ├── SuspendResume_Windows.cpp └── SuspendResume_Windows.h ├── cli.cpp ├── cli.h ├── debian ├── changelog.in ├── compat ├── control ├── copyright ├── openrgb.postinst ├── rules └── source │ └── format ├── dependencies ├── CRCpp │ └── CRC.h ├── ColorWheel │ ├── ColorWheel.cpp │ └── ColorWheel.h ├── NVFC │ ├── nvapi.cpp │ └── nvapi.h ├── display-library │ └── include │ │ ├── adl_defines.h │ │ ├── adl_sdk.h │ │ └── adl_structures.h ├── hidapi-win │ ├── include │ │ ├── hidapi.h │ │ └── hidapi_winapi.h │ ├── x64 │ │ ├── hidapi.dll │ │ └── hidapi.lib │ └── x86 │ │ ├── hidapi.dll │ │ └── hidapi.lib ├── httplib │ └── httplib.h ├── hueplusplus-1.2.0 │ ├── .clang-format │ ├── .github │ │ ├── CONTRIBUTING.md │ │ ├── FUNDING.yml │ │ ├── ISSUE_TEMPLATE │ │ │ ├── bug_report.md │ │ │ └── feature_request.md │ │ └── workflows │ │ │ └── build.yml │ ├── .gitignore │ ├── .gitmodules │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── Doxyfile │ ├── LICENSE │ ├── README.md │ ├── cmake │ │ ├── cmake_uninstall.cmake.in │ │ └── hueplusplus-config.cmake.in │ ├── codecov.yml │ ├── doc │ │ └── markdown │ │ │ ├── Build.md │ │ │ ├── Getting_Started.md │ │ │ ├── Mainpage.md │ │ │ ├── Sensors.md │ │ │ ├── Shared_State.md │ │ │ └── Transactions.md │ ├── examples │ │ ├── BridgeSetup.cpp │ │ ├── CMakeLists.txt │ │ ├── LightsOff.cpp │ │ ├── Snippets.cpp │ │ └── UsernameConfig.cpp │ ├── include │ │ └── hueplusplus │ │ │ ├── APICache.h │ │ │ ├── Action.h │ │ │ ├── BaseDevice.h │ │ │ ├── BaseHttpHandler.h │ │ │ ├── Bridge.h │ │ │ ├── BridgeConfig.h │ │ │ ├── BrightnessStrategy.h │ │ │ ├── CLIPSensors.h │ │ │ ├── ColorHueStrategy.h │ │ │ ├── ColorTemperatureStrategy.h │ │ │ ├── ColorUnits.h │ │ │ ├── Condition.h │ │ │ ├── EntertainmentMode.h │ │ │ ├── ExtendedColorHueStrategy.h │ │ │ ├── ExtendedColorTemperatureStrategy.h │ │ │ ├── Group.h │ │ │ ├── HueCommandAPI.h │ │ │ ├── HueDeviceTypes.h │ │ │ ├── HueException.h │ │ │ ├── HueExceptionMacro.h │ │ │ ├── IHttpHandler.h │ │ │ ├── LibConfig.h │ │ │ ├── Light.h │ │ │ ├── LinHttpHandler.h │ │ │ ├── ModelPictures.h │ │ │ ├── NewDeviceList.h │ │ │ ├── ResourceList.h │ │ │ ├── Rule.h │ │ │ ├── Scene.h │ │ │ ├── Schedule.h │ │ │ ├── Sensor.h │ │ │ ├── SensorList.h │ │ │ ├── SimpleBrightnessStrategy.h │ │ │ ├── SimpleColorHueStrategy.h │ │ │ ├── SimpleColorTemperatureStrategy.h │ │ │ ├── StateTransaction.h │ │ │ ├── TimePattern.h │ │ │ ├── UPnP.h │ │ │ ├── Utils.h │ │ │ ├── WinHttpHandler.h │ │ │ └── ZLLSensors.h │ ├── lgtm.yml │ ├── src │ │ ├── APICache.cpp │ │ ├── Action.cpp │ │ ├── BaseDevice.cpp │ │ ├── BaseHttpHandler.cpp │ │ ├── Bridge.cpp │ │ ├── BridgeConfig.cpp │ │ ├── CLIPSensors.cpp │ │ ├── CMakeLists.txt │ │ ├── ColorUnits.cpp │ │ ├── EntertainmentMode.cpp │ │ ├── ExtendedColorHueStrategy.cpp │ │ ├── ExtendedColorTemperatureStrategy.cpp │ │ ├── Group.cpp │ │ ├── HueCommandAPI.cpp │ │ ├── HueDeviceTypes.cpp │ │ ├── HueException.cpp │ │ ├── Light.cpp │ │ ├── LinHttpHandler.cpp │ │ ├── ModelPictures.cpp │ │ ├── NewDeviceList.cpp │ │ ├── Rule.cpp │ │ ├── Scene.cpp │ │ ├── Schedule.cpp │ │ ├── Sensor.cpp │ │ ├── SimpleBrightnessStrategy.cpp │ │ ├── SimpleColorHueStrategy.cpp │ │ ├── SimpleColorTemperatureStrategy.cpp │ │ ├── StateTransaction.cpp │ │ ├── TimePattern.cpp │ │ ├── UPnP.cpp │ │ ├── Utils.cpp │ │ ├── WinHttpHandler.cpp │ │ └── ZLLSensors.cpp │ └── test │ │ ├── CMakeLists.txt │ │ ├── CMakeLists.txt.in │ │ ├── CodeCoverage.cmake │ │ ├── TestTransaction.h │ │ ├── mocks │ │ ├── mock_BaseHttpHandler.h │ │ ├── mock_HttpHandler.h │ │ └── mock_Light.h │ │ ├── test_APICache.cpp │ │ ├── test_Action.cpp │ │ ├── test_BaseDevice.cpp │ │ ├── test_BaseHttpHandler.cpp │ │ ├── test_Bridge.cpp │ │ ├── test_BridgeConfig.cpp │ │ ├── test_ColorUnits.cpp │ │ ├── test_ExtendedColorHueStrategy.cpp │ │ ├── test_ExtendedColorTemperatureStrategy.cpp │ │ ├── test_Group.cpp │ │ ├── test_HueCommandAPI.cpp │ │ ├── test_Light.cpp │ │ ├── test_LightFactory.cpp │ │ ├── test_Main.cpp │ │ ├── test_NewDeviceList.cpp │ │ ├── test_ResourceList.cpp │ │ ├── test_Rule.cpp │ │ ├── test_Scene.cpp │ │ ├── test_Schedule.cpp │ │ ├── test_Sensor.cpp │ │ ├── test_SensorImpls.cpp │ │ ├── test_SensorList.cpp │ │ ├── test_SimpleBrightnessStrategy.cpp │ │ ├── test_SimpleColorHueStrategy.cpp │ │ ├── test_SimpleColorTemperatureStrategy.cpp │ │ ├── test_StateTransaction.cpp │ │ ├── test_TimePattern.cpp │ │ ├── test_UPnP.cpp │ │ └── testhelper.h ├── json │ └── nlohmann │ │ └── json.hpp ├── libe131 │ └── src │ │ ├── e131.c │ │ └── e131.h ├── libusb-1.0.27 │ ├── MinGW32 │ │ └── dll │ │ │ └── libusb-1.0.dll │ ├── MinGW64 │ │ └── dll │ │ │ └── libusb-1.0.dll │ ├── README.txt │ ├── VS2013 │ │ ├── MS32 │ │ │ ├── dll │ │ │ │ ├── libusb-1.0.dll │ │ │ │ ├── libusb-1.0.exp │ │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ │ └── libusb-1.0.lib │ │ └── MS64 │ │ │ ├── dll │ │ │ ├── libusb-1.0.dll │ │ │ ├── libusb-1.0.exp │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ └── libusb-1.0.lib │ ├── VS2015 │ │ ├── MS32 │ │ │ ├── dll │ │ │ │ ├── libusb-1.0.dll │ │ │ │ ├── libusb-1.0.exp │ │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ │ └── libusb-1.0.lib │ │ └── MS64 │ │ │ ├── dll │ │ │ ├── libusb-1.0.dll │ │ │ ├── libusb-1.0.exp │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ └── libusb-1.0.lib │ ├── VS2017 │ │ ├── MS32 │ │ │ ├── dll │ │ │ │ ├── libusb-1.0.dll │ │ │ │ ├── libusb-1.0.exp │ │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ │ └── libusb-1.0.lib │ │ └── MS64 │ │ │ ├── dll │ │ │ ├── libusb-1.0.dll │ │ │ ├── libusb-1.0.exp │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ └── libusb-1.0.lib │ ├── VS2019 │ │ ├── MS32 │ │ │ ├── dll │ │ │ │ ├── libusb-1.0.dll │ │ │ │ ├── libusb-1.0.exp │ │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ │ └── libusb-1.0.lib │ │ └── MS64 │ │ │ ├── dll │ │ │ ├── libusb-1.0.dll │ │ │ ├── libusb-1.0.exp │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ └── libusb-1.0.lib │ ├── VS2022 │ │ ├── MS32 │ │ │ ├── dll │ │ │ │ ├── libusb-1.0.dll │ │ │ │ ├── libusb-1.0.exp │ │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ │ └── libusb-1.0.lib │ │ └── MS64 │ │ │ ├── dll │ │ │ ├── libusb-1.0.dll │ │ │ ├── libusb-1.0.exp │ │ │ └── libusb-1.0.lib │ │ │ └── static │ │ │ └── libusb-1.0.lib │ ├── examples │ │ ├── bin32 │ │ │ ├── dpfp.exe │ │ │ ├── dpfp_threaded.exe │ │ │ ├── fxload.exe │ │ │ ├── hotplugtest.exe │ │ │ ├── init_context.exe │ │ │ ├── listdevs.exe │ │ │ ├── sam3u_benchmark.exe │ │ │ ├── set_option.exe │ │ │ ├── stress.exe │ │ │ ├── stress_mt.exe │ │ │ ├── testlibusb.exe │ │ │ └── xusb.exe │ │ ├── bin64 │ │ │ ├── dpfp.exe │ │ │ ├── dpfp_threaded.exe │ │ │ ├── fxload.exe │ │ │ ├── hotplugtest.exe │ │ │ ├── init_context.exe │ │ │ ├── listdevs.exe │ │ │ ├── sam3u_benchmark.exe │ │ │ ├── set_option.exe │ │ │ ├── stress.exe │ │ │ ├── stress_mt.exe │ │ │ ├── testlibusb.exe │ │ │ └── xusb.exe │ │ └── source │ │ │ ├── dpfp.c │ │ │ ├── ezusb.c │ │ │ ├── ezusb.h │ │ │ ├── fxload.c │ │ │ ├── hotplugtest.c │ │ │ ├── listdevs.c │ │ │ ├── sam3u_benchmark.c │ │ │ ├── testlibusb.c │ │ │ └── xusb.c │ ├── include │ │ └── libusb.h │ └── libusb-1.0.def ├── macUSPCIO │ └── macUSPCIOAccess.h ├── mbedtls-3.2.1 │ ├── include │ │ ├── mbedtls │ │ │ ├── aes.h │ │ │ ├── aria.h │ │ │ ├── asn1.h │ │ │ ├── asn1write.h │ │ │ ├── base64.h │ │ │ ├── bignum.h │ │ │ ├── build_info.h │ │ │ ├── camellia.h │ │ │ ├── ccm.h │ │ │ ├── chacha20.h │ │ │ ├── chachapoly.h │ │ │ ├── check_config.h │ │ │ ├── cipher.h │ │ │ ├── cmac.h │ │ │ ├── compat-2.x.h │ │ │ ├── config_psa.h │ │ │ ├── constant_time.h │ │ │ ├── ctr_drbg.h │ │ │ ├── debug.h │ │ │ ├── des.h │ │ │ ├── dhm.h │ │ │ ├── ecdh.h │ │ │ ├── ecdsa.h │ │ │ ├── ecjpake.h │ │ │ ├── ecp.h │ │ │ ├── entropy.h │ │ │ ├── error.h │ │ │ ├── gcm.h │ │ │ ├── hkdf.h │ │ │ ├── hmac_drbg.h │ │ │ ├── mbedtls_config.h │ │ │ ├── md.h │ │ │ ├── md5.h │ │ │ ├── memory_buffer_alloc.h │ │ │ ├── net_sockets.h │ │ │ ├── nist_kw.h │ │ │ ├── oid.h │ │ │ ├── pem.h │ │ │ ├── pk.h │ │ │ ├── pkcs12.h │ │ │ ├── pkcs5.h │ │ │ ├── platform.h │ │ │ ├── platform_time.h │ │ │ ├── platform_util.h │ │ │ ├── poly1305.h │ │ │ ├── private_access.h │ │ │ ├── psa_util.h │ │ │ ├── ripemd160.h │ │ │ ├── rsa.h │ │ │ ├── sha1.h │ │ │ ├── sha256.h │ │ │ ├── sha512.h │ │ │ ├── ssl.h │ │ │ ├── ssl_cache.h │ │ │ ├── ssl_ciphersuites.h │ │ │ ├── ssl_cookie.h │ │ │ ├── ssl_ticket.h │ │ │ ├── threading.h │ │ │ ├── timing.h │ │ │ ├── version.h │ │ │ ├── x509.h │ │ │ ├── x509_crl.h │ │ │ ├── x509_crt.h │ │ │ └── x509_csr.h │ │ └── psa │ │ │ ├── crypto.h │ │ │ ├── crypto_builtin_composites.h │ │ │ ├── crypto_builtin_primitives.h │ │ │ ├── crypto_compat.h │ │ │ ├── crypto_config.h │ │ │ ├── crypto_driver_common.h │ │ │ ├── crypto_driver_contexts_composites.h │ │ │ ├── crypto_driver_contexts_primitives.h │ │ │ ├── crypto_extra.h │ │ │ ├── crypto_platform.h │ │ │ ├── crypto_se_driver.h │ │ │ ├── crypto_sizes.h │ │ │ ├── crypto_struct.h │ │ │ ├── crypto_types.h │ │ │ └── crypto_values.h │ └── lib │ │ ├── x64 │ │ ├── mbedcrypto.lib │ │ ├── mbedtls.lib │ │ └── mbedx509.lib │ │ └── x86 │ │ ├── mbedcrypto.lib │ │ ├── mbedtls.lib │ │ └── mbedx509.lib ├── mdns │ └── mdns.h └── winring0 │ ├── Win32 │ ├── WinRing0.dll │ ├── WinRing0.lib │ └── WinRing0.sys │ ├── include │ └── OlsApi.h │ └── x64 │ ├── WinRing0x64.dll │ ├── WinRing0x64.lib │ └── WinRing0x64.sys ├── dmiinfo ├── dmiinfo.cpp └── dmiinfo.h ├── fedora └── OpenRGB.spec.in ├── filesystem.h ├── hidapi_wrapper └── hidapi_wrapper.h ├── i2c_smbus ├── i2c_smbus.cpp ├── i2c_smbus.h ├── i2c_smbus_amdadl.cpp ├── i2c_smbus_amdadl.h ├── i2c_smbus_i801.cpp ├── i2c_smbus_i801.h ├── i2c_smbus_linux.cpp ├── i2c_smbus_linux.h ├── i2c_smbus_nct6775.cpp ├── i2c_smbus_nct6775.h ├── i2c_smbus_nvapi.cpp ├── i2c_smbus_nvapi.h ├── i2c_smbus_piix4.cpp └── i2c_smbus_piix4.h ├── i2c_tools ├── i2c_tools.cpp └── i2c_tools.h ├── interop ├── DeviceGuard.cpp ├── DeviceGuard.h ├── DeviceGuardLock.cpp ├── DeviceGuardLock.h ├── DeviceGuardManager.cpp └── DeviceGuardManager.h ├── mac └── Info.plist.in ├── main.cpp ├── net_port ├── net_port.cpp └── net_port.h ├── pci_ids └── pci_ids.h ├── qt ├── DetectorTableModel.cpp ├── DetectorTableModel.h ├── DeviceView.cpp ├── DeviceView.h ├── OpenRGB.icns ├── OpenRGB.ico ├── OpenRGBClientInfoPage │ ├── OpenRGBClientInfoPage.cpp │ ├── OpenRGBClientInfoPage.h │ └── OpenRGBClientInfoPage.ui ├── OpenRGBConsolePage │ ├── OpenRGBConsolePage.cpp │ ├── OpenRGBConsolePage.h │ └── OpenRGBConsolePage.ui ├── OpenRGBDMXSettingsPage │ ├── OpenRGBDMXSettingsEntry.cpp │ ├── OpenRGBDMXSettingsEntry.h │ ├── OpenRGBDMXSettingsEntry.ui │ ├── OpenRGBDMXSettingsPage.cpp │ ├── OpenRGBDMXSettingsPage.h │ └── OpenRGBDMXSettingsPage.ui ├── OpenRGBDeviceInfoPage │ ├── OpenRGBDeviceInfoPage.cpp │ ├── OpenRGBDeviceInfoPage.h │ └── OpenRGBDeviceInfoPage.ui ├── OpenRGBDevicePage │ ├── OpenRGBDevicePage.cpp │ ├── OpenRGBDevicePage.h │ └── OpenRGBDevicePage.ui ├── OpenRGBDialog │ ├── OpenRGBDialog.cpp │ ├── OpenRGBDialog.h │ └── OpenRGBDialog.ui ├── OpenRGBE131SettingsPage │ ├── OpenRGBE131SettingsEntry.cpp │ ├── OpenRGBE131SettingsEntry.h │ ├── OpenRGBE131SettingsEntry.ui │ ├── OpenRGBE131SettingsPage.cpp │ ├── OpenRGBE131SettingsPage.h │ └── OpenRGBE131SettingsPage.ui ├── OpenRGBElgatoKeyLightSettingsPage │ ├── OpenRGBElgatoKeyLightSettingsEntry.cpp │ ├── OpenRGBElgatoKeyLightSettingsEntry.h │ ├── OpenRGBElgatoKeyLightSettingsEntry.ui │ ├── OpenRGBElgatoKeyLightSettingsPage.cpp │ ├── OpenRGBElgatoKeyLightSettingsPage.h │ └── OpenRGBElgatoKeyLightSettingsPage.ui ├── OpenRGBElgatoLightStripSettingsPage │ ├── OpenRGBElgatoLightStripSettingsEntry.cpp │ ├── OpenRGBElgatoLightStripSettingsEntry.h │ ├── OpenRGBElgatoLightStripSettingsEntry.ui │ ├── OpenRGBElgatoLightStripSettingsPage.cpp │ ├── OpenRGBElgatoLightStripSettingsPage.h │ └── OpenRGBElgatoLightStripSettingsPage.ui ├── OpenRGBFont.cpp ├── OpenRGBFont.h ├── OpenRGBGoveeSettingsPage │ ├── OpenRGBGoveeSettingsEntry.cpp │ ├── OpenRGBGoveeSettingsEntry.h │ ├── OpenRGBGoveeSettingsEntry.ui │ ├── OpenRGBGoveeSettingsPage.cpp │ ├── OpenRGBGoveeSettingsPage.h │ └── OpenRGBGoveeSettingsPage.ui ├── OpenRGBGreyscale.png ├── OpenRGBHardwareIDsDialog │ ├── OpenRGBHardwareIDsDialog.cpp │ ├── OpenRGBHardwareIDsDialog.h │ └── OpenRGBHardwareIDsDialog.ui ├── OpenRGBKasaSmartSettingsPage │ ├── OpenRGBKasaSmartSettingsEntry.cpp │ ├── OpenRGBKasaSmartSettingsEntry.h │ ├── OpenRGBKasaSmartSettingsEntry.ui │ ├── OpenRGBKasaSmartSettingsPage.cpp │ ├── OpenRGBKasaSmartSettingsPage.h │ └── OpenRGBKasaSmartSettingsPage.ui ├── OpenRGBLIFXSettingsPage │ ├── OpenRGBLIFXSettingsEntry.cpp │ ├── OpenRGBLIFXSettingsEntry.h │ ├── OpenRGBLIFXSettingsEntry.ui │ ├── OpenRGBLIFXSettingsPage.cpp │ ├── OpenRGBLIFXSettingsPage.h │ └── OpenRGBLIFXSettingsPage.ui ├── OpenRGBNanoleafSettingsPage │ ├── OpenRGBNanoleafNewDeviceDialog.cpp │ ├── OpenRGBNanoleafNewDeviceDialog.h │ ├── OpenRGBNanoleafNewDeviceDialog.ui │ ├── OpenRGBNanoleafScanningThread.cpp │ ├── OpenRGBNanoleafScanningThread.h │ ├── OpenRGBNanoleafSettingsEntry.cpp │ ├── OpenRGBNanoleafSettingsEntry.h │ ├── OpenRGBNanoleafSettingsEntry.ui │ ├── OpenRGBNanoleafSettingsPage.cpp │ ├── OpenRGBNanoleafSettingsPage.h │ └── OpenRGBNanoleafSettingsPage.ui ├── OpenRGBPhilipsHueSettingsPage │ ├── OpenRGBPhilipsHueSettingsEntry.cpp │ ├── OpenRGBPhilipsHueSettingsEntry.h │ ├── OpenRGBPhilipsHueSettingsEntry.ui │ ├── OpenRGBPhilipsHueSettingsPage.cpp │ ├── OpenRGBPhilipsHueSettingsPage.h │ └── OpenRGBPhilipsHueSettingsPage.ui ├── OpenRGBPhilipsWizSettingsPage │ ├── OpenRGBPhilipsWizSettingsEntry.cpp │ ├── OpenRGBPhilipsWizSettingsEntry.h │ ├── OpenRGBPhilipsWizSettingsEntry.ui │ ├── OpenRGBPhilipsWizSettingsPage.cpp │ ├── OpenRGBPhilipsWizSettingsPage.h │ └── OpenRGBPhilipsWizSettingsPage.ui ├── OpenRGBPluginContainer │ ├── OpenRGBPluginContainer.cpp │ ├── OpenRGBPluginContainer.h │ └── OpenRGBPluginContainer.ui ├── OpenRGBPluginsPage │ ├── OpenRGBPluginsEntry.cpp │ ├── OpenRGBPluginsEntry.h │ ├── OpenRGBPluginsEntry.ui │ ├── OpenRGBPluginsList.cpp │ ├── OpenRGBPluginsList.h │ ├── OpenRGBPluginsPage.cpp │ ├── OpenRGBPluginsPage.h │ └── OpenRGBPluginsPage.ui ├── OpenRGBProfileSaveDialog │ ├── OpenRGBProfileSaveDialog.cpp │ ├── OpenRGBProfileSaveDialog.h │ └── OpenRGBProfileSaveDialog.ui ├── OpenRGBQMKORGBSettingsPage │ ├── OpenRGBQMKORGBSettingsEntry.cpp │ ├── OpenRGBQMKORGBSettingsEntry.h │ ├── OpenRGBQMKORGBSettingsEntry.ui │ ├── OpenRGBQMKORGBSettingsPage.cpp │ ├── OpenRGBQMKORGBSettingsPage.h │ └── OpenRGBQMKORGBSettingsPage.ui ├── OpenRGBSerialSettingsPage │ ├── OpenRGBSerialSettingsEntry.cpp │ ├── OpenRGBSerialSettingsEntry.h │ ├── OpenRGBSerialSettingsEntry.ui │ ├── OpenRGBSerialSettingsPage.cpp │ ├── OpenRGBSerialSettingsPage.h │ └── OpenRGBSerialSettingsPage.ui ├── OpenRGBServerInfoPage │ ├── OpenRGBServerInfoPage.cpp │ ├── OpenRGBServerInfoPage.h │ └── OpenRGBServerInfoPage.ui ├── OpenRGBSettingsPage │ ├── OpenRGBSettingsPage.cpp │ ├── OpenRGBSettingsPage.h │ └── OpenRGBSettingsPage.ui ├── OpenRGBSoftwareInfoPage │ ├── OpenRGBSoftwareInfoPage.cpp │ ├── OpenRGBSoftwareInfoPage.h │ └── OpenRGBSoftwareInfoPage.ui ├── OpenRGBSupportedDevicesPage │ ├── OpenRGBSupportedDevicesPage.cpp │ ├── OpenRGBSupportedDevicesPage.h │ └── OpenRGBSupportedDevicesPage.ui ├── OpenRGBSystemInfoPage │ ├── OpenRGBSystemInfoPage.cpp │ ├── OpenRGBSystemInfoPage.h │ └── OpenRGBSystemInfoPage.ui ├── OpenRGBThemeManager.cpp ├── OpenRGBThemeManager.h ├── OpenRGBYeelightSettingsPage │ ├── OpenRGBYeelightSettingsEntry.cpp │ ├── OpenRGBYeelightSettingsEntry.h │ ├── OpenRGBYeelightSettingsEntry.ui │ ├── OpenRGBYeelightSettingsPage.cpp │ ├── OpenRGBYeelightSettingsPage.h │ └── OpenRGBYeelightSettingsPage.ui ├── OpenRGBZoneResizeDialog │ ├── OpenRGBZoneResizeDialog.cpp │ ├── OpenRGBZoneResizeDialog.h │ └── OpenRGBZoneResizeDialog.ui ├── OpenRGBZonesBulkResizer │ ├── OpenRGBZonesBulkResizer.cpp │ ├── OpenRGBZonesBulkResizer.h │ └── OpenRGBZonesBulkResizer.ui ├── QTooltipedSlider.cpp ├── QTooltipedSlider.h ├── TabLabel.cpp ├── TabLabel.h ├── TabLabel.ui ├── fonts │ ├── OpenRGB.ttf │ └── README.md ├── hsv.cpp ├── hsv.h ├── i18n │ ├── OpenRGB_be_BY.ts │ ├── OpenRGB_de_DE.ts │ ├── OpenRGB_el_GR.ts │ ├── OpenRGB_en_AU.ts │ ├── OpenRGB_en_GB.ts │ ├── OpenRGB_en_US.ts │ ├── OpenRGB_es_ES.ts │ ├── OpenRGB_fr_FR.ts │ ├── OpenRGB_hr_HR.ts │ ├── OpenRGB_it_IT.ts │ ├── OpenRGB_ja_JP.ts │ ├── OpenRGB_ko_KR.ts │ ├── OpenRGB_ms_MY.ts │ ├── OpenRGB_nb_NO.ts │ ├── OpenRGB_pl_PL.ts │ ├── OpenRGB_pt_BR.ts │ ├── OpenRGB_ru_RU.ts │ ├── OpenRGB_uk_UA.ts │ ├── OpenRGB_zh_CN.ts │ └── OpenRGB_zh_TW.ts ├── macutils.h ├── macutils.mm ├── org.openrgb.OpenRGB.desktop ├── org.openrgb.OpenRGB.metainfo.xml ├── org.openrgb.OpenRGB.png ├── resources.qrc ├── swatches.cpp └── swatches.h ├── scripts ├── AppImage.patch ├── License.rtf ├── banner.bmp ├── build-appimage.sh ├── build-msi.sh ├── build-package-files.sh ├── build-supported-devices-md.sh ├── build-udev-rules.sh ├── build-windows.bat ├── dialog_background.bmp ├── git-get-branch.ps1 ├── git-get-branch.sh ├── openrgb-udev-install.sh └── prepare-artifacts.py ├── scsiapi ├── scsiapi.h ├── scsiapi_linux.c ├── scsiapi_macos.c └── scsiapi_windows.c ├── serial_port ├── find_usb_serial_port.h ├── find_usb_serial_port_linux.cpp ├── find_usb_serial_port_macos.cpp ├── find_usb_serial_port_win.cpp ├── serial_port.cpp └── serial_port.h ├── super_io ├── super_io.cpp └── super_io.h └── wmi ├── wmi.cpp └── wmi.h /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 4 9 | 10 | # We recommend you to keep these unchanged 11 | charset = utf-8 12 | trim_trailing_whitespace = true 13 | insert_final_newline = true 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false 17 | indent_size = 4 -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: CalcProgrammer1 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/workflows/issue_opened.yml: -------------------------------------------------------------------------------- 1 | name: Issue Opened 2 | 3 | on: 4 | issues: 5 | types: [opened,reopened] 6 | 7 | jobs: 8 | issue_greeting: 9 | runs-on: ubuntu-latest 10 | permissions: 11 | issues: write 12 | steps: 13 | - name: Greeting 14 | run: gh issue comment "$NUMBER" --body "$BODY" 15 | env: 16 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | GH_REPO: ${{ github.repository }} 18 | NUMBER: ${{ github.event.issue.number }} 19 | BODY: > 20 | This Github repo is a mirror of the main repository on Gitlab. 21 | For any new issue please refer to https://gitlab.com/CalcProgrammer1/OpenRGB/-/issues 22 | -------------------------------------------------------------------------------- /.github/workflows/pr_opened.yml: -------------------------------------------------------------------------------- 1 | name: PR Opened 2 | 3 | on: 4 | pull_request: 5 | types: [opened,reopened] 6 | 7 | jobs: 8 | pr_greeting: 9 | runs-on: ubuntu-latest 10 | permissions: 11 | pull-requests: write 12 | steps: 13 | - name: Greeting 14 | run: gh pr comment "$NUMBER" --body "$BODY" 15 | env: 16 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | GH_REPO: ${{ github.repository }} 18 | NUMBER: ${{ github.event.pull_request.number }} 19 | BODY: > 20 | This Github repo is a mirror of the main repository on Gitlab. 21 | Please fork https://gitlab.com/CalcProgrammer1/OpenRGB/ and raise the appropriate merge request on Gitlab. 22 | -------------------------------------------------------------------------------- /.gitlab/issue_templates/Bug Report.md: -------------------------------------------------------------------------------- 1 | 6 | 7 | ### Description of Bug 8 | 13 | 14 | ### Attached Log 15 | 20 | 21 | ### Operating System 22 | 25 | ~"OS - Linux" 26 | ~"OS - MacOS" 27 | ~"OS - Windows" 28 | ### Hardware Configuration 29 | 34 | -------------------------------------------------------------------------------- /.gitlab/issue_templates/Feature Request.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ### Feature Request 7 | 12 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "EditorConfig.EditorConfig" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /AutoStart/AutoStart-FreeBSD.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AutoStart-FreeBSD.h | 3 | | | 4 | | Autostart implementation for FreeBSD | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "AutoStart.h" 14 | 15 | class AutoStart: public AutoStartInterface 16 | { 17 | public: 18 | AutoStart(std::string name); 19 | 20 | bool DisableAutoStart(); 21 | bool EnableAutoStart(AutoStartInfo autostart_info); 22 | bool IsAutoStartEnabled(); 23 | std::string GetExePath(); 24 | 25 | private: 26 | void InitAutoStart(std::string name); 27 | std::string GenerateLaunchAgentFile(AutoStartInfo autostart_info); 28 | }; 29 | -------------------------------------------------------------------------------- /AutoStart/AutoStart-Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AutoStart-Linux.h | 3 | | | 4 | | Autostart implementation for Linux | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "AutoStart.h" 14 | 15 | class AutoStart: public AutoStartInterface 16 | { 17 | public: 18 | AutoStart(std::string name); 19 | 20 | bool DisableAutoStart(); 21 | bool EnableAutoStart(AutoStartInfo autostart_info); 22 | bool IsAutoStartEnabled(); 23 | std::string GetExePath(); 24 | 25 | private: 26 | void InitAutoStart(std::string name); 27 | std::string GenerateDesktopFile(AutoStartInfo autostart_info); 28 | }; 29 | -------------------------------------------------------------------------------- /AutoStart/AutoStart-MacOS.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AutoStart-MacOS.h | 3 | | | 4 | | Autostart implementation for MacOS | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "AutoStart.h" 14 | 15 | class AutoStart: public AutoStartInterface 16 | { 17 | public: 18 | AutoStart(std::string name); 19 | 20 | bool DisableAutoStart(); 21 | bool EnableAutoStart(AutoStartInfo autostart_info); 22 | bool IsAutoStartEnabled(); 23 | std::string GetExePath(); 24 | 25 | private: 26 | void InitAutoStart(std::string name); 27 | std::string GenerateLaunchAgentFile(AutoStartInfo autostart_info); 28 | }; 29 | -------------------------------------------------------------------------------- /AutoStart/AutoStart-Windows.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AutoStart-Windows.h | 3 | | | 4 | | Autostart implementation for Windows | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "AutoStart.h" 14 | 15 | class AutoStart: public AutoStartInterface 16 | { 17 | public: 18 | AutoStart(std::string name); 19 | 20 | bool DisableAutoStart(); 21 | bool EnableAutoStart(AutoStartInfo autostart_info); 22 | bool IsAutoStartEnabled(); 23 | std::string GetExePath(); 24 | 25 | private: 26 | void InitAutoStart(std::string name); 27 | std::wstring utf8_decode(const std::string& str); 28 | }; 29 | -------------------------------------------------------------------------------- /AutoStart/AutoStart.cpp: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AutoStart.cpp | 3 | | | 4 | | Autostart common implementation | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #include "AutoStart.h" 11 | 12 | std::string AutoStartInterface::GetAutoStartFile() 13 | { 14 | return(autostart_file); 15 | } 16 | 17 | std::string AutoStartInterface::GetAutoStartName() 18 | { 19 | return(autostart_name); 20 | } 21 | -------------------------------------------------------------------------------- /Controllers/AMBXController/RGBController_AMBX.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AMBX.h | 3 | | | 4 | | RGB Controller for Philips amBX Gaming lights | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "AMBXController.h" 14 | 15 | class RGBController_AMBX : public RGBController 16 | { 17 | public: 18 | RGBController_AMBX(AMBXController* controller_ptr); 19 | ~RGBController_AMBX(); 20 | 21 | void SetupZones(); 22 | void ResizeZone(int zone, int new_size); 23 | 24 | void DeviceUpdateLEDs(); 25 | void UpdateZoneLEDs(int zone); 26 | void UpdateSingleLED(int led); 27 | 28 | void DeviceUpdateMode(); 29 | void SetCustomMode(); 30 | 31 | private: 32 | AMBXController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/AOCKeyboardController/RGBController_AOCKeyboard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AOCKeyboard.h | 3 | | | 4 | | RGBController for AOC keyboard | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 10 May 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "AOCKeyboardController.h" 16 | 17 | class RGBController_AOCKeyboard : public RGBController 18 | { 19 | public: 20 | RGBController_AOCKeyboard(AOCKeyboardController* controller_ptr); 21 | ~RGBController_AOCKeyboard(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | AOCKeyboardController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/AOCMouseController/RGBController_AOCMouse.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AOCMouse.h | 3 | | | 4 | | RGBController for AOC mouse | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 20 Apr 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "AOCMouseController.h" 16 | 17 | class RGBController_AOCMouse : public RGBController 18 | { 19 | public: 20 | RGBController_AOCMouse(AOCMouseController* controller_ptr); 21 | ~RGBController_AOCMouse(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | AOCMouseController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/AOCMousematController/RGBController_AOCMousemat.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AOCMousemat.h | 3 | | | 4 | | RGBController for AOC mousemat | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 15 Apr 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "AOCMousematController.h" 16 | 17 | class RGBController_AOCMousemat : public RGBController 18 | { 19 | public: 20 | RGBController_AOCMousemat(AOCMousematController* controller_ptr); 21 | ~RGBController_AOCMousemat(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | AOCMousematController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/AlienwareMonitorController/AlienwareMonitorController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AlienwareMonitorController.h | 3 | | | 4 | | Detector for Alienware monitors | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 08 May 2025 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | class AlienwareMonitorController 19 | { 20 | public: 21 | AlienwareMonitorController(hid_device* dev_handle, const char* path); 22 | ~AlienwareMonitorController(); 23 | 24 | std::string GetLocation(); 25 | std::string GetSerialString(); 26 | void SendColor(unsigned char led_id, unsigned char r, unsigned char g, unsigned char b); 27 | 28 | private: 29 | hid_device* dev; 30 | std::string location; 31 | 32 | void Initialize(); 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/AnnePro2Controller/AnnePro2Controller.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | AnnePro2Controller.h | 3 | | | 4 | | Driver for Obins Lab AnnePro2 keyboard | 5 | | | 6 | | Sergey Gavrilov (DrZlo13) 06 Jun 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | #include 17 | #include "RGBController.h" 18 | 19 | class AnnePro2Controller 20 | { 21 | public: 22 | AnnePro2Controller(hid_device* dev_handle, const char* path); 23 | ~AnnePro2Controller(); 24 | 25 | std::string GetDeviceLocation(); 26 | std::string GetSerialString(); 27 | 28 | void SendDirect 29 | ( 30 | unsigned char frame_count, 31 | unsigned char * frame_data 32 | ); 33 | 34 | private: 35 | hid_device* dev; 36 | std::string location; 37 | }; 38 | -------------------------------------------------------------------------------- /Controllers/AnnePro2Controller/RGBController_AnnePro2.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AnnePro2.h | 3 | | | 4 | | RGBController for Obins Lab AnnePro2 keyboard | 5 | | | 6 | | Sergey Gavrilov (DrZlo13) 06 Jun 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "AnnePro2Controller.h" 16 | 17 | class RGBController_AnnePro2 : public RGBController 18 | { 19 | public: 20 | RGBController_AnnePro2(AnnePro2Controller* controller_ptr); 21 | ~RGBController_AnnePro2(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | AnnePro2Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/ArcticController/ArcticController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | ArcticController.h | 3 | | | 4 | | Driver for Arctic devices | 5 | | | 6 | | Armin Wolf (Wer-Wolf) 09 Jan 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "RGBController.h" 16 | #include "serial_port.h" 17 | 18 | class ArcticController 19 | { 20 | public: 21 | ArcticController(const std::string &portname); 22 | ~ArcticController(); 23 | 24 | void SetChannels(std::vector colors); 25 | bool IsPresent(); 26 | 27 | std::string GetLocation(); 28 | 29 | private: 30 | std::string port_name; 31 | serial_port serialport; 32 | }; 33 | -------------------------------------------------------------------------------- /Controllers/AsusAuraUSBController/AsusAuraUSBController/RGBController_AsusAuraMainboard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AsusAuraMainboard.h | 3 | | | 4 | | RGBController for ASUS Aura mainboard | 5 | | | 6 | | rytypete 30 Aug 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController_AsusAuraUSB.h" 15 | #include "AsusAuraMainboardController.h" 16 | 17 | class RGBController_AuraMainboard : public RGBController_AuraUSB 18 | { 19 | public: 20 | RGBController_AuraMainboard(AuraMainboardController* controller_ptr); 21 | 22 | void DeviceSaveMode(); 23 | 24 | private: 25 | void DeviceUpdateShutdownEffect(); 26 | }; 27 | -------------------------------------------------------------------------------- /Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AsusTUFLaptop_Linux.h | 3 | | | 4 | | RGBController for ASUS TUF laptop | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "AsusTUFLaptopController_Linux.h" 14 | 15 | class RGBController_AsusTUFLaptopLinux : public RGBController 16 | { 17 | public: 18 | RGBController_AsusTUFLaptopLinux(AsusTUFLaptopLinuxController* controller_ptr); 19 | 20 | void SetupZones() override; 21 | 22 | void ResizeZone(int zone, int new_size) override; 23 | 24 | void DeviceUpdateLEDs() override; 25 | void UpdateZoneLEDs(int zone) override; 26 | void UpdateSingleLED(int led) override; 27 | 28 | void DeviceUpdateMode() override; 29 | 30 | private: 31 | AsusTUFLaptopLinuxController* controller; 32 | }; 33 | -------------------------------------------------------------------------------- /Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Windows.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_AsusTUFLaptop_Windows.h | 3 | | | 4 | | RGBController for ASUS TUF laptop | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "AsusTUFLaptopController_Windows.h" 13 | #include "RGBController.h" 14 | 15 | class RGBController_AsusTUFLaptopWMI : public RGBController 16 | { 17 | public: 18 | RGBController_AsusTUFLaptopWMI(AsusTUFLaptopController* controller_ptr); 19 | virtual ~RGBController_AsusTUFLaptopWMI(); 20 | 21 | void SetupZones(); 22 | 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | void DeviceSaveMode(); 31 | 32 | private: 33 | AsusTUFLaptopController* controller; 34 | 35 | void ReadConfiguration(); 36 | void ControllerSetMode(bool save); 37 | }; 38 | -------------------------------------------------------------------------------- /Controllers/ColorfulGPUController/ColorfulGPUController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | ColorfulGPUController.h | 3 | | | 4 | | Driver for Colorful GPU | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "i2c_smbus.h" 14 | #include "RGBController.h" 15 | 16 | typedef unsigned char colorful_gpu_dev_id; 17 | 18 | #define COLORFUL_PACKET_LENGTH_V1 11 19 | #define COLORFUL_PACKET_LENGTH_V2 122 20 | 21 | class ColorfulGPUController 22 | { 23 | public: 24 | ColorfulGPUController(i2c_smbus_interface* bus, colorful_gpu_dev_id dev); 25 | ~ColorfulGPUController(); 26 | 27 | std::string GetDeviceLocation(); 28 | void SetDirect(RGBColor color); 29 | 30 | private: 31 | i2c_smbus_interface * bus; 32 | colorful_gpu_dev_id dev; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/ColorfulGPUController/RGBController_ColorfulGPU.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_ColorfulGPU.h | 3 | | | 4 | | RGBController for Colorful GPU | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "ColorfulGPUController.h" 14 | 15 | class RGBController_ColorfulGPU : public RGBController 16 | { 17 | public: 18 | RGBController_ColorfulGPU(ColorfulGPUController* colorful_gpu_ptr); 19 | ~RGBController_ColorfulGPU(); 20 | 21 | void SetupZones(); 22 | void ResizeZone(int zone, int new_size); 23 | 24 | void DeviceUpdateLEDs(); 25 | void UpdateZoneLEDs(int zone); 26 | void UpdateSingleLED(int led); 27 | 28 | void DeviceUpdateMode(); 29 | 30 | private: 31 | ColorfulGPUController* controller; 32 | }; 33 | -------------------------------------------------------------------------------- /Controllers/CorsairController/CorsairDeviceGuard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | CorsairDeviceGuard.cpp | 3 | | | 4 | | DeviceGuard for Corsair devices | 5 | | | 6 | | Evan Mulawski 04 Sep 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "DeviceGuard.h" 15 | 16 | #ifdef _WIN32 17 | #include 18 | #endif 19 | 20 | class CorsairDeviceGuard : public DeviceGuard 21 | { 22 | public: 23 | CorsairDeviceGuard(); 24 | 25 | void Acquire() override; 26 | void Release() override; 27 | 28 | private: 29 | #ifdef _WIN32 30 | HANDLE mutex_handle; 31 | 32 | HANDLE CreateWindowsMutex(); 33 | #endif 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/CorsairHydro2Controller/CorsairHydro2Controller.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | CorsairHydro2Controller.h | 3 | | | 4 | | Driver for Corsair H100i v2 | 5 | | | 6 | | Tim Demand (tim.dmd) 10 Jan 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | #include "RGBController.h" 17 | 18 | class CorsairHydro2Controller 19 | { 20 | public: 21 | CorsairHydro2Controller(libusb_device_handle* dev_handle); 22 | ~CorsairHydro2Controller(); 23 | 24 | std::string GetLocation(); 25 | 26 | void SetLED(std::vector& colors); 27 | 28 | private: 29 | libusb_device_handle* dev; 30 | std::string firmware_version; 31 | std::string location; 32 | 33 | void SendInit(); 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_CorsairHydro2.h | 3 | | | 4 | | RGBController for Corsair H100i v2 | 5 | | | 6 | | Tim Demand (tim.dmd) 10 Jan 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "CorsairHydro2Controller.h" 16 | 17 | class RGBController_CorsairHydro2 : public RGBController 18 | { 19 | public: 20 | RGBController_CorsairHydro2(CorsairHydro2Controller* controller_ptr); 21 | ~RGBController_CorsairHydro2(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | CorsairHydro2Controller* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2SoftwareController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | CorsairPeripheralV2SoftwareController.h | 3 | | | 4 | | Driver for Corsair V2 peripherals - software modes | 5 | | | 6 | | Chris M (Dr_No) 11 Aug 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "CorsairPeripheralV2Controller.h" 16 | 17 | #include 18 | #include 19 | 20 | class CorsairPeripheralV2SWController : public CorsairPeripheralV2Controller 21 | { 22 | public: 23 | CorsairPeripheralV2SWController(hid_device* dev_handle, const char* path, std::string name); 24 | ~CorsairPeripheralV2SWController(); 25 | 26 | void SetLedsDirect(std::vector colors); 27 | 28 | private: 29 | 30 | }; 31 | -------------------------------------------------------------------------------- /Controllers/DebugController/RGBController_Debug.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_Debug.h | 3 | | | 4 | | RGBController for debug devices | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController_Dummy.h" 13 | 14 | class RGBController_Debug : public RGBController_Dummy 15 | { 16 | public: 17 | RGBController_Debug(); 18 | void ResizeZone(int zone, int newSize) override; 19 | }; 20 | -------------------------------------------------------------------------------- /Controllers/DreamCheekyController/DreamCheekyController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DreamCheekyController.h | 3 | | | 4 | | Driver for Dream Cheeky devices | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 06 Sep 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | 17 | class DreamCheekyController 18 | { 19 | public: 20 | DreamCheekyController(hid_device* dev_handle, const char* path); 21 | ~DreamCheekyController(); 22 | 23 | std::string GetDeviceLocation(); 24 | std::string GetSerialString(); 25 | 26 | void SetColor(unsigned char red, unsigned char grn, unsigned char blu); 27 | 28 | private: 29 | hid_device* dev; 30 | std::string location; 31 | }; 32 | -------------------------------------------------------------------------------- /Controllers/DygmaRaiseController/RGBController_DygmaRaise.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_DygmaRaise.h | 3 | | | 4 | | RGBController for Dygma Raise keyboard | 5 | | | 6 | | Timo Schlegel (@eispalast) Dec 12 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "DygmaRaiseController.h" 16 | 17 | class RGBController_DygmaRaise : public RGBController 18 | { 19 | public: 20 | RGBController_DygmaRaise(DygmaRaiseController* controller_ptr); 21 | ~RGBController_DygmaRaise(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | DygmaRaiseController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/EKController/RGBController_EKController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_EKController.h | 3 | | | 4 | | RGBController for EK Loop Connect | 5 | | | 6 | | Chris M (Dr_No) 16 Jul 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "EKController.h" 16 | 17 | class RGBController_EKController : public RGBController 18 | { 19 | public: 20 | RGBController_EKController(EKController* controller_ptr); 21 | ~RGBController_EKController(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | EKController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/FanBusController/FanBusController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | FanBusController.h | 3 | | | 4 | | Driver for FanBus devices | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 12 Jan 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "FanBusInterface.h" 16 | #include "RGBController.h" 17 | 18 | class FanBusController 19 | { 20 | public: 21 | FanBusController(FanBusInterface* bus_ptr, unsigned char dev_addr); 22 | ~FanBusController(); 23 | 24 | std::string GetLocation(); 25 | 26 | void SetLEDs(std::vector colors); 27 | 28 | private: 29 | std::string port_name; 30 | FanBusInterface* bus; 31 | unsigned char dev; 32 | }; 33 | -------------------------------------------------------------------------------- /Controllers/FanBusController/RGBController_FanBus.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_FanBus.h | 3 | | | 4 | | RGBController for FanBus devices | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 12 Jan 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "FanBusController.h" 16 | 17 | class RGBController_FanBus : public RGBController 18 | { 19 | public: 20 | RGBController_FanBus(FanBusController* controller_ptr); 21 | ~RGBController_FanBus(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | FanBusController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/GaiZongGaiKeyboardController/RGBController_GaiZhongGai.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_GaiZhongGai.h | 3 | | | 4 | | RGBController for GaiZhongGai keyboard | 5 | | | 6 | | An Yang 24 Jun 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | #include "RGBController.h" 14 | #include "GaiZhongGaiController.h" 15 | 16 | class RGBController_GaiZhongGaiKeyboard : public RGBController 17 | { 18 | public: 19 | RGBController_GaiZhongGaiKeyboard(GaiZhongGaiKeyboardController* controller_ptr); 20 | ~RGBController_GaiZhongGaiKeyboard(); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | GaiZhongGaiKeyboardController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/GigabyteRGBFusion2BlackwellGPUController/GigabyteRGBFusion2BlackwellGPUDefinitions.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | GigabyteRGBFusion2BlackwellGPUDefinitions.h | 3 | | | 4 | | Definitions for Gigabyte RGB Fusion 2 Blackwell GPU | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #define RGB_FUSION_2_BLACKWELL_GPU_NUMBER_OF_ZONES 6 13 | -------------------------------------------------------------------------------- /Controllers/GigabyteRGBFusion2GPUController/RGBController_GigabyteRGBFusion2GPU.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_GigabyteRGBFusion2GPU.h | 3 | | | 4 | | RGBController for Gigabyte Aorus RGB Fusion 2 GPU | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "GigabyteRGBFusion2GPUController.h" 14 | 15 | #define RGB_FUSION_2_GPU_NUMBER_OF_ZONES 5 16 | 17 | class RGBController_RGBFusion2GPU : public RGBController 18 | { 19 | public: 20 | RGBController_RGBFusion2GPU(RGBFusion2GPUController* controller_ptr); 21 | ~RGBController_RGBFusion2GPU(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | void DeviceSaveMode(); 33 | 34 | private: 35 | RGBFusion2GPUController* controller; 36 | }; 37 | -------------------------------------------------------------------------------- /Controllers/HPOmen30LController/RGBController_HPOmen30L.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_HPOmen30L.h | 3 | | | 4 | | RGBController for HP Omen 30L | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "HPOmen30LController.h" 14 | 15 | class RGBController_HPOmen30L : public RGBController 16 | { 17 | public: 18 | RGBController_HPOmen30L(HPOmen30LController* controller_ptr); 19 | ~RGBController_HPOmen30L(); 20 | 21 | void SetupZones(); 22 | 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | HPOmen30LController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/HYTEMousematController/HYTEMousematController_Windows/HYTEMousematController_Windows.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | HYTEMousematController_Windows.h | 3 | | | 4 | | Driver for HYTE mousemat (Serial implementation for | 5 | | Windows) | 6 | | | 7 | | Adam Honse (calcprogrammer1@gmail.com) 18 Jul 2023 | 8 | | | 9 | | This file is part of the OpenRGB project | 10 | | SPDX-License-Identifier: GPL-2.0-only | 11 | \*---------------------------------------------------------*/ 12 | 13 | #pragma once 14 | 15 | #include 16 | #include "RGBController.h" 17 | #include "serial_port.h" 18 | 19 | class HYTEMousematController 20 | { 21 | public: 22 | HYTEMousematController(char* port); 23 | ~HYTEMousematController(); 24 | 25 | std::string GetLocation(); 26 | 27 | void FirmwareAnimationControl(bool enabled); 28 | void StreamingCommand(RGBColor* colors); 29 | 30 | private: 31 | std::string port_name; 32 | serial_port * serialport = nullptr; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/HYTENexusController/RGBController_HYTENexus.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_HYTENexus.h | 3 | | | 4 | | RGBController for HYTE Nexus | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 12 Nov 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "HYTENexusController.h" 15 | #include "RGBController.h" 16 | 17 | class RGBController_HYTENexus : public RGBController 18 | { 19 | public: 20 | RGBController_HYTENexus(HYTENexusController* controller_ptr); 21 | ~RGBController_HYTENexus(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | HYTENexusController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/InstantMouseController/InstantMouseDevices.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | InstantMouseController.h | 3 | | | 4 | | Driver for Instant mouse | 5 | | | 6 | | shafiahaz2478 29 Aug 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | #pragma once 12 | 13 | #define INSTANTMOUSEDEVICES_H 14 | 15 | #define INSTANT_MICROELECTRONICS_VID 0x30FA 16 | #define ADVANCED_GTA_250_PID 0x1030 17 | #define ANKO_KM43243952_VID 0x1440 18 | #define ANKO_KM43277483_VID 0x1540 19 | #define ANTESPORTS_GM600_PID 0x1040 20 | -------------------------------------------------------------------------------- /Controllers/InstantMouseController/RGBController_InstantMouse.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_InstantMouse.h | 3 | | | 4 | | RGBController for Instant mouse | 5 | | | 6 | | Morgan Guimard (morg) 19 Jan 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "InstantMouseController.h" 16 | 17 | class RGBController_InstantMouse : public RGBController 18 | { 19 | public: 20 | RGBController_InstantMouse(InstantMouseController* controller_ptr); 21 | ~RGBController_InstantMouse(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | InstantMouseController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/KasaSmartController/RGBController_KasaSmart.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_KasaSmart.h | 3 | | | 4 | | RGBController for Kasa Smart bulbs | 5 | | | 6 | | Devin Wendt (umbreon222) 16 Feb 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "KasaSmartController.h" 16 | 17 | class RGBController_KasaSmart : public RGBController 18 | { 19 | public: 20 | RGBController_KasaSmart(KasaSmartController* controller_ptr); 21 | ~RGBController_KasaSmart(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | KasaSmartController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/KeychronKeyboardController/RGBController_KeychronKeyboard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_KeychronKeyboard.h | 3 | | | 4 | | RGBController for Keychron keyboard | 5 | | | 6 | | Morgan Guimard (morg) 20 Feb 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "KeychronKeyboardController.h" 16 | 17 | class RGBController_KeychronKeyboard : public RGBController 18 | { 19 | public: 20 | RGBController_KeychronKeyboard(KeychronKeyboardController* controller_ptr); 21 | ~RGBController_KeychronKeyboard(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | KeychronKeyboardController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/LIFXController/RGBController_LIFX.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LIFX.cpp | 3 | | | 4 | | RGBController for LIFX | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 05 Feb 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "LIFXController.h" 16 | 17 | class RGBController_LIFX : public RGBController 18 | { 19 | public: 20 | RGBController_LIFX(LIFXController* controller_ptr); 21 | ~RGBController_LIFX(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | LIFXController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/LenovoControllers/LenovoM300Controller/RGBController_LenovoM300.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LenovoM300.h | 3 | | | 4 | | RGBController for Lenovo Legion M300 mouse | 5 | | | 6 | | Wayne Riordan 09 Jan 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "LenovoM300Controller.h" 16 | 17 | class RGBController_LenovoM300 : public RGBController 18 | { 19 | public: 20 | RGBController_LenovoM300(LenovoM300Controller* controller_ptr); 21 | ~RGBController_LenovoM300(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | LenovoM300Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/LenovoMotherboardController/RGBController_LenovoMotherboard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LenovoMotherboard.h | 3 | | | 4 | | RGBController for Lenovo motherboard | 5 | | | 6 | | Morgan Guimard (morg) 26 Dec 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "LenovoMotherboardController.h" 16 | 17 | class RGBController_LenovoMotherboard : public RGBController 18 | { 19 | public: 20 | RGBController_LenovoMotherboard(LenovoMotherboardController* controller_ptr); 21 | ~RGBController_LenovoMotherboard(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | LenovoMotherboardController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/LexipMouseController/RGBController_LexipMouse.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LexipMouse.h | 3 | | | 4 | | RGBController for Lexip mouse | 5 | | | 6 | | Morgan Guimard (morg) 21 Feb 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "LexipMouseController.h" 16 | 17 | class RGBController_LexipMouse : public RGBController 18 | { 19 | public: 20 | RGBController_LexipMouse(LexipMouseController* controller_ptr); 21 | ~RGBController_LexipMouse(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | LexipMouseController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/LightSaltController/RGBController_LightSaltKeyboard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LightSaltKeyboard.h | 3 | | | 4 | | RGBController for LightSalt Keyboard | 5 | | | 6 | | James Buren (braewoods) 23 Jul 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController_LightSalt.h" 15 | 16 | class RGBController_LightSaltKeyboard : public RGBController_LightSalt 17 | { 18 | public: 19 | RGBController_LightSaltKeyboard(LightSaltController* controller_ptr); 20 | }; 21 | -------------------------------------------------------------------------------- /Controllers/LightSaltController/RGBController_LightSaltKeypad.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LightSaltKeypad.h | 3 | | | 4 | | RGBController for LightSalt Keypad | 5 | | | 6 | | James Buren (braewoods) 23 Jul 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController_LightSalt.h" 15 | 16 | class RGBController_LightSaltKeypad : public RGBController_LightSalt 17 | { 18 | public: 19 | RGBController_LightSaltKeypad(LightSaltController* controller_ptr); 20 | }; 21 | -------------------------------------------------------------------------------- /Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LinuxLED.h | 3 | | | 4 | | RGBController for Linux sysfs LEDs | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 25 Sep 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "LinuxLEDController_Linux.h" 16 | 17 | class RGBController_LinuxLED : public RGBController 18 | { 19 | public: 20 | RGBController_LinuxLED(LinuxLEDController* controller_ptr); 21 | ~RGBController_LinuxLED(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | LinuxLEDController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/LogitechController/LogitechG203LController/RGBController_LogitechG203L.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_LogitechG203L.h | 3 | | | 4 | | Driver for Logitech G203L | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "LogitechG203LController.h" 14 | 15 | class RGBController_LogitechG203L : public RGBController 16 | { 17 | public: 18 | RGBController_LogitechG203L(LogitechG203LController* controller_ptr); 19 | ~RGBController_LogitechG203L(); 20 | 21 | void SetupZones(); 22 | 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | LogitechG203LController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/MSI3ZoneController/MSI3ZoneController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | MSI3ZoneController.h | 3 | | | 4 | | Driver for MSI/SteelSeries 3-Zone keyboard | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 25 Dec 2019 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | #include "RGBController.h" 17 | 18 | class MSI3ZoneController 19 | { 20 | public: 21 | MSI3ZoneController(hid_device* dev_handle, const char* path); 22 | ~MSI3ZoneController(); 23 | 24 | char* GetDeviceName(); 25 | std::string GetDeviceLocation(); 26 | std::string GetSerialString(); 27 | 28 | void SetLEDs(std::vector colors); 29 | 30 | private: 31 | char device_name[32]; 32 | hid_device* dev; 33 | std::string location; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/MSI3ZoneController/RGBController_MSI3Zone.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_MSI3Zone.h | 3 | | | 4 | | RGBController for MSI/SteelSeries 3-Zone keyboard | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 25 Dec 2019 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "MSI3ZoneController.h" 16 | 17 | class RGBController_MSI3Zone : public RGBController 18 | { 19 | public: 20 | RGBController_MSI3Zone(MSI3ZoneController* controller_ptr); 21 | ~RGBController_MSI3Zone(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | MSI3ZoneController* controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/MSIOptixController/RGBController_MSIOptix.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_MSIOptix.h | 3 | | | 4 | | RGBController for MSI Optix | 5 | | | 6 | | Morgan Guimard (morg) 10 Jan 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "MSIOptixController.h" 16 | 17 | class RGBController_MSIOptix : public RGBController 18 | { 19 | public: 20 | RGBController_MSIOptix(MSIOptixController* controller_ptr); 21 | ~RGBController_MSIOptix(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | MSIOptixController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/MSIRGBController/RGBController_MSIRGB.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_MSIRGB.h | 3 | | | 4 | | RGBController for MSI-RGB motherboard | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 14 Feb 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "MSIRGBController.h" 16 | 17 | class RGBController_MSIRGB : public RGBController 18 | { 19 | public: 20 | RGBController_MSIRGB(MSIRGBController* controller_ptr); 21 | ~RGBController_MSIRGB(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | MSIRGBController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/MSIVigorController/RGBController_MSIVigorGK30.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_MSIVigorGK30.h | 3 | | | 4 | | RGBController for MSI Vigor GK30 | 5 | | | 6 | | Morgan Guimard (morg) 01 Jun 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "MSIVigorGK30Controller.h" 16 | 17 | class RGBController_MSIVigorGK30 : public RGBController 18 | { 19 | public: 20 | RGBController_MSIVigorGK30(MSIVigorGK30Controller* controller_ptr); 21 | ~RGBController_MSIVigorGK30(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | MSIVigorGK30Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/MadCatzCyborgController/RGBController_MadCatzCyborg.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_MadCatzCyborg.h | 3 | | | 4 | | RGB Controller for MadCatz Cyborg Gaming Light | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "MadCatzCyborgController.h" 14 | 15 | class RGBController_MadCatzCyborg : public RGBController 16 | { 17 | public: 18 | RGBController_MadCatzCyborg(MadCatzCyborgController* controller_ptr); 19 | ~RGBController_MadCatzCyborg(); 20 | 21 | void SetupZones(); 22 | void ResizeZone(int zone, int new_size); 23 | 24 | void DeviceUpdateLEDs(); 25 | void UpdateZoneLEDs(int zone); 26 | void UpdateSingleLED(int led); 27 | 28 | void DeviceUpdateMode(); 29 | void SetCustomMode(); 30 | 31 | private: 32 | MadCatzCyborgController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/N5312AController/RGBController_N5312A.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_N5312A.h | 3 | | | 4 | | RGBController for N5312A | 5 | | | 6 | | Morgan Guimard (morg) 02 Apr 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "N5312AController.h" 16 | 17 | class RGBController_N5312A : public RGBController 18 | { 19 | public: 20 | RGBController_N5312A(N5312AController* controller_ptr); 21 | ~RGBController_N5312A(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | N5312AController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/NVIDIAIlluminationController/nvapi_accessor_Windows_Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | nvapi_accessor_Windows_Linux.h | 3 | | | 4 | | NVAPI accessor for NVIDIA NVAPI illumination API | 5 | | | 6 | | Carter Miller (GingerRunner) 20 Jun 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #include "nvapi.h" 13 | 14 | // NVAPI Direct Calls 15 | #define NVAPI_ZONE_GET_CONTROL 0 16 | #define NVAPI_ZONE_SET_CONTROL 1 17 | #define NVAPI_CONTROL_BUFFER_TIME_MS 30 18 | 19 | class nvapi_accessor 20 | { 21 | public: 22 | nvapi_accessor(NV_PHYSICAL_GPU_HANDLE handle); 23 | NV_STATUS nvapi_zone_control(char nvapi_call, NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS* zone_control_struct); 24 | 25 | private: 26 | NV_PHYSICAL_GPU_HANDLE handle; 27 | }; 28 | -------------------------------------------------------------------------------- /Controllers/NZXTHue1Controller/RGBController_NZXTHue1.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_NZXTHue1.h | 3 | | | 4 | | RGBController for NZXT Hue 1 (Smart Device V1) | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 16 Apr 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "NZXTHue1Controller.h" 16 | 17 | class RGBController_NZXTHue1 : public RGBController 18 | { 19 | public: 20 | RGBController_NZXTHue1(NZXTHue1Controller* controller_ptr); 21 | ~RGBController_NZXTHue1(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | NZXTHue1Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/NanoleafController/RGBController_Nanoleaf.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_Nanoleaf.h | 3 | | | 4 | | RGBController for Nanoleaf | 5 | | | 6 | | Nikita Rushmanov 13 Jan 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "NanoleafController.h" 16 | 17 | class RGBController_Nanoleaf : public RGBController 18 | { 19 | 20 | public: 21 | RGBController_Nanoleaf(std::string a_address, int a_port, std::string a_auth_token); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | NanoleafController controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/NvidiaESAController/RGBController_NvidiaESA.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_NvidiaESA.h | 3 | | | 4 | | RGBController for NVIDIA ESA | 5 | | | 6 | | Morgan Guimard (morg) 18 Feb 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "NvidiaESAController.h" 16 | 17 | class RGBController_NvidiaESA : public RGBController 18 | { 19 | public: 20 | RGBController_NvidiaESA(NvidiaESAController* controller_ptr); 21 | ~RGBController_NvidiaESA(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | NvidiaESAController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/PNYGPUController/RGBController_PNYGPU.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PNYGPU.h | 3 | | | 4 | | RGBController for PNY Turing GPU | 5 | | | 6 | | KendallMorgan 17 Oct 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PNYGPUController.h" 16 | 17 | class RGBController_PNYGPU : public RGBController 18 | { 19 | public: 20 | RGBController_PNYGPU(PNYGPUController* controller_ptr); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | PNYGPUController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PNYLovelaceGPU.h | 3 | | | 4 | | RGBController for PNY Lovelace GPU | 5 | | | 6 | | yufan 01 Oct 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PNYLovelaceGPUController.h" 16 | 17 | class RGBController_PNYLovelaceGPU : public RGBController 18 | { 19 | public: 20 | RGBController_PNYLovelaceGPU(PNYLovelaceGPUController* controller_ptr); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | PNYLovelaceGPUController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/PalitGPUController/PalitGPUController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | PalitGPUController.h | 3 | | | 4 | | Driver for Palit GPU | 5 | | | 6 | | Manatsawin Hanmongkolchai 11 Apr 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "i2c_smbus.h" 16 | 17 | typedef unsigned char palit_dev_id; 18 | 19 | enum 20 | { 21 | PALIT_GPU_MODE_DIRECT = 0x00, 22 | }; 23 | 24 | enum 25 | { 26 | PALIT_GPU_REG_LED = 0x03, 27 | }; 28 | 29 | class PalitGPUController 30 | { 31 | public: 32 | PalitGPUController(i2c_smbus_interface* bus, palit_dev_id dev); 33 | ~PalitGPUController(); 34 | 35 | std::string GetDeviceLocation(); 36 | 37 | void SetDirect(unsigned char red, unsigned char green, unsigned char blue); 38 | 39 | private: 40 | i2c_smbus_interface* bus; 41 | palit_dev_id dev; 42 | 43 | }; 44 | -------------------------------------------------------------------------------- /Controllers/PalitGPUController/RGBController_PalitGPU.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PalitGPU.h | 3 | | | 4 | | RGBController for Palit GPU | 5 | | | 6 | | Manatsawin Hanmongkolchai 11 Apr 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PalitGPUController.h" 16 | 17 | class RGBController_PalitGPU : public RGBController 18 | { 19 | public: 20 | RGBController_PalitGPU(PalitGPUController* controller_ptr); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | PalitGPUController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/PatriotViperController/RGBController_PatriotViper.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PatriotViper.h | 3 | | | 4 | | RGBController for Patriot Viper RAM | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 01 Jan 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PatriotViperController.h" 16 | 17 | class RGBController_PatriotViper : public RGBController 18 | { 19 | public: 20 | RGBController_PatriotViper(PatriotViperController* viper_ptr); 21 | ~RGBController_PatriotViper(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | PatriotViperController* viper; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/PatriotViperMouseController/PatriotViperMouseController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | PatriotViperMouseController.h | 3 | | | 4 | | Detector for Patriot Viper Mouse | 5 | | | 6 | | mi4code 23 May 2025 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "StringUtils.h" 16 | #include 17 | #include "RGBController.h" 18 | 19 | class PatriotViperMouseController 20 | { 21 | public: 22 | PatriotViperMouseController(hid_device* dev_handle, const char* path); 23 | ~PatriotViperMouseController(); 24 | 25 | std::string GetLocation(); 26 | std::string GetSerial(); 27 | void SetRGB(std::vector colors); 28 | 29 | private: 30 | hid_device* _dev; 31 | std::string _location; 32 | }; -------------------------------------------------------------------------------- /Controllers/PatriotViperSteelController/RGBController_PatriotViperSteel.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PatriotViperSteel.h | 3 | | | 4 | | RGBController for Patriot Viper Steel RAM | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "RGBController.h" 13 | #include "PatriotViperSteelController.h" 14 | 15 | class RGBController_PatriotViperSteel : public RGBController 16 | { 17 | public: 18 | RGBController_PatriotViperSteel(PatriotViperSteelController *controller_ptr); 19 | ~RGBController_PatriotViperSteel(); 20 | 21 | void SetupZones(); 22 | void ResizeZone(int zone, int new_size); 23 | 24 | void DeviceUpdateLEDs(); 25 | void UpdateZoneLEDs(int zone); 26 | void UpdateSingleLED(int led); 27 | 28 | void DeviceUpdateMode(); 29 | 30 | private: 31 | PatriotViperSteelController *controller; 32 | }; 33 | -------------------------------------------------------------------------------- /Controllers/PhilipsHueController/RGBController_PhilipsHue.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PhilipsHue.h | 3 | | | 4 | | RGBController for Philips Hue | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 15 Sep 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PhilipsHueController.h" 16 | 17 | class RGBController_PhilipsHue : public RGBController 18 | { 19 | public: 20 | RGBController_PhilipsHue(PhilipsHueController* controller_ptr); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | PhilipsHueController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/PhilipsWizController/RGBController_PhilipsWiz.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_PhilipsWiz.h | 3 | | | 4 | | RGBController for Philips Wiz | 5 | | | 6 | | Adam Honse (calcprogrammer1@gmail.com) 03 Nov 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "PhilipsWizController.h" 16 | 17 | class RGBController_PhilipsWiz : public RGBController 18 | { 19 | public: 20 | RGBController_PhilipsWiz(PhilipsWizController* controller_ptr); 21 | ~RGBController_PhilipsWiz(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | PhilipsWizController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/RazerController/RazerDeviceGuard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RazerDeviceGuard.h | 3 | | | 4 | | DeviceGuard for Razer devices | 5 | | | 6 | | Aytac Kayadelen 18 May 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "DeviceGuard.h" 15 | 16 | #ifdef _WIN32 17 | #include 18 | #endif 19 | 20 | class RazerDeviceGuard : public DeviceGuard 21 | { 22 | public: 23 | RazerDeviceGuard(); 24 | 25 | void Acquire() override; 26 | void Release() override; 27 | 28 | private: 29 | #ifdef _WIN32 30 | HANDLE mutex_handle; 31 | 32 | HANDLE CreateWindowsMutex(); 33 | #endif 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/RoccatController/RoccatEloController/RGBController_RoccatElo.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_RoccatElo.h | 3 | | | 4 | | RGBController for Roccat Elo | 5 | | | 6 | | Flora Aubry 02 Jan 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "RoccatEloController.h" 16 | 17 | class RGBController_RoccatElo : public RGBController 18 | { 19 | public: 20 | RGBController_RoccatElo(RoccatEloController* controller_ptr); 21 | ~RGBController_RoccatElo(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | RoccatEloController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/RoccatController/RoccatKovaController/RGBController_RoccatKova.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_RoccatKova.h | 3 | | | 4 | | RGBController for Roccat Kova | 5 | | | 6 | | Gustash 01 Dec 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "RoccatKovaController.h" 16 | 17 | class RGBController_RoccatKova : public RGBController 18 | { 19 | public: 20 | RGBController_RoccatKova(RoccatKovaController *controller_ptr); 21 | ~RGBController_RoccatKova(); 22 | 23 | void SetupZones(); 24 | 25 | void ResizeZone(int zone, int new_size); 26 | 27 | void DeviceUpdateLEDs(); 28 | void UpdateZoneLEDs(int zone); 29 | void UpdateSingleLED(int led); 30 | 31 | void DeviceUpdateMode(); 32 | 33 | private: 34 | RoccatKovaController *controller; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | GenesisXenon200Controller.h | 3 | | | 4 | | Driver for Genesis Xenon 200 mouse | 5 | | | 6 | | chrabonszcz Jul 2023 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "RGBController.h" 16 | 17 | class GenesisXenon200Controller 18 | { 19 | public: 20 | GenesisXenon200Controller(hid_device* dev_handle, hid_device* cmd_dev_handle, const char* path); 21 | ~GenesisXenon200Controller(); 22 | 23 | void SaveMode(unsigned char mode, unsigned char value, RGBColor color); 24 | std::string GetLocationString(); 25 | private: 26 | hid_device* dev; 27 | hid_device* cmd_dev; 28 | std::string location; 29 | }; 30 | -------------------------------------------------------------------------------- /Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------*\ 2 | | RGBController_SinowealthKeyboard.h | 3 | | | 4 | | Definitions and types for Sinowealth | 5 | | Keyboard, Hopefully generic, this was | 6 | | made spefically for FL eSports F11 KB | 7 | | | 8 | | Dmitri Kalinichenko (Dima-Kal) 23/06/2021 | 9 | \*-----------------------------------------=*/ 10 | 11 | #pragma once 12 | 13 | #include "RGBController.h" 14 | #include "SinowealthKeyboardController.h" 15 | 16 | class RGBController_SinowealthKeyboard : public RGBController 17 | { 18 | public: 19 | RGBController_SinowealthKeyboard(SinowealthKeyboardController* controller_ptr); 20 | ~RGBController_SinowealthKeyboard(); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | SinowealthKeyboardController* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/SonyGamepadController/SonyDS4Controller/RGBController_SonyDS4.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_SonyDS4.h | 3 | | | 4 | | RGBController for Sony Dualshock 4 | 5 | | | 6 | | Pol Rius (alpemwarrior) 24 Sep 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "SonyDS4Controller.h" 16 | 17 | class RGBController_SonyDS4 : public RGBController 18 | { 19 | public: 20 | RGBController_SonyDS4(SonyDS4Controller* controller_ptr); 21 | ~RGBController_SonyDS4(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | SonyDS4Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/SteelSeriesController/color32.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | color32.h | 3 | | | 4 | | Class to hold 32-bit color data | 5 | | | 6 | | David Lee (RAMChYLD) 15 Nov 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | typedef struct 15 | { 16 | unsigned char red; 17 | unsigned char green; 18 | unsigned char blue; 19 | unsigned char alpha; 20 | } color32; 21 | -------------------------------------------------------------------------------- /Controllers/TecknetController/RGBController_Tecknet.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_Tecknet.h | 3 | | | 4 | | RGBController for Tecknet devices | 5 | | | 6 | | Chris M (Dr_No) 29 Jul 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "TecknetController.h" 16 | 17 | class RGBController_Tecknet : public RGBController 18 | { 19 | public: 20 | RGBController_Tecknet(TecknetController* controller_ptr); 21 | ~RGBController_Tecknet(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | TecknetController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/ThingMController/RGBController_BlinkController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_BlinkController.h | 3 | | | 4 | | RGBController for ThingM Blink | 5 | | | 6 | | Eric S (edbgon) 01 Oct 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "BlinkController.h" 16 | 17 | class RGBController_BlinkController : public RGBController 18 | { 19 | public: 20 | RGBController_BlinkController(BlinkController* controller_ptr); 21 | ~RGBController_BlinkController(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | BlinkController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/TrustController/TrustGXT114Controller/RGBController_TrustGXT114.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_TrustGXT114.h | 3 | | | 4 | | RGBController for Trust GXT 114 | 5 | | | 6 | | Morgan Guimard (morg) 24 Jan 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "TrustGXT114Controller.h" 16 | 17 | class RGBController_TrustGXT114 : public RGBController 18 | { 19 | public: 20 | RGBController_TrustGXT114(TrustGXT114Controller* controller_ptr); 21 | ~RGBController_TrustGXT114(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | TrustGXT114Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/TrustController/TrustGXT180Controller/RGBController_TrustGXT180.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_TrustGXT180.h | 3 | | | 4 | | RGBController for Trust GXT 180 | 5 | | | 6 | | Morgan Guimard (morg) 24 Mar 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "TrustGXT180Controller.h" 16 | 17 | class RGBController_TrustGXT180 : public RGBController 18 | { 19 | public: 20 | RGBController_TrustGXT180(TrustGXT180Controller* controller_ptr); 21 | ~RGBController_TrustGXT180(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | TrustGXT180Controller* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/ViewSonicController/RGBController_XG270QG.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_XG270QG.h | 3 | | | 4 | | RGBController for ViewSonic XG270QG | 5 | | | 6 | | Lanzaa 23 Jan 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "VS_XG270QG_Controller.h" 15 | #include "RGBController.h" 16 | 17 | class RGBController_XG270QG : public RGBController 18 | { 19 | public: 20 | RGBController_XG270QG(VS_XG270QG_Controller* controller_ptr); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | 31 | private: 32 | VS_XG270QG_Controller* controller; 33 | }; 34 | -------------------------------------------------------------------------------- /Controllers/WootingKeyboardController/WootingOneKeyboardController/WootingOneKeyboardController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | WootingOneKeyboardController.h | 3 | | | 4 | | Driver for Wooting One keyboard | 5 | | | 6 | | Diogo Trindade (diogotr7) 04 Mar 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "WootingKeyboardController.h" 15 | 16 | class WootingOneKeyboardController : public WootingKeyboardController 17 | { 18 | public: 19 | WootingOneKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type); 20 | ~WootingOneKeyboardController(); 21 | 22 | void SendDirect(RGBColor* colors, uint8_t colour_count); 23 | 24 | private: 25 | void SendInitialize(); 26 | bool wooting_usb_send_buffer(RGB_PARTS part_number, uint8_t* report_buffer); 27 | }; 28 | -------------------------------------------------------------------------------- /Controllers/WootingKeyboardController/WootingTwoKeyboardController/WootingTwoKeyboardController.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | WootingTwoKeyboardController.h | 3 | | | 4 | | Driver for Wooting Two keyboard | 5 | | | 6 | | Chris M (Dr_No) 09 Jul 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "WootingKeyboardController.h" 15 | 16 | class WootingTwoKeyboardController : public WootingKeyboardController 17 | { 18 | public: 19 | WootingTwoKeyboardController(hid_device* dev_handle, const char *path, uint8_t wooting_type); 20 | ~WootingTwoKeyboardController(); 21 | 22 | void SendDirect(RGBColor* colors, uint8_t colour_count); 23 | 24 | private: 25 | void SendInitialize(); 26 | bool wooting_usb_send_buffer(RGB_PARTS part_number, uint8_t* report_buffer); 27 | }; 28 | -------------------------------------------------------------------------------- /Controllers/WushiController/RGBController_WushiL50USB.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_WushiL50USB.h | 3 | | | 4 | | RGBController for Wushi L50 | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "WushiL50USBController.h" 14 | #include "RGBController.h" 15 | 16 | class RGBController_WushiL50USB : public RGBController 17 | { 18 | public: 19 | RGBController_WushiL50USB(WushiL50USBController* controller_ptr); 20 | ~RGBController_WushiL50USB(); 21 | 22 | void SetupZones(); 23 | void ResizeZone(int zone, int new_size); 24 | 25 | void DeviceUpdateLEDs(); 26 | void UpdateZoneLEDs(int zone); 27 | void UpdateSingleLED(int led); 28 | 29 | void DeviceUpdateMode(); 30 | void DeviceSaveMode(); 31 | 32 | private: 33 | WushiL50USBController * controller; 34 | WushiL50State state; 35 | }; 36 | -------------------------------------------------------------------------------- /Controllers/YeelightController/RGBController_Yeelight.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_Yeelight.h | 3 | | | 4 | | RGBController for Yeelight | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 18 Jan 2021 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "YeelightController.h" 16 | 17 | class RGBController_Yeelight : public RGBController 18 | { 19 | public: 20 | RGBController_Yeelight(YeelightController* controller_ptr); 21 | ~RGBController_Yeelight(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | YeelightController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Controllers/ZETEdgeAirProController/RGBController_ZETEdgeAirPro.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_ZETEdgeAirPro.h | 3 | | | 4 | | RGBController for ZET Edge Air Pro | 5 | | | 6 | | Morgan Guimard (morg) 29 Jan 2022 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "RGBController.h" 15 | #include "ZETEdgeAirProController.h" 16 | 17 | class RGBController_ZETEdgeAirPro : public RGBController 18 | { 19 | public: 20 | RGBController_ZETEdgeAirPro(ZETEdgeAirProController* controller_ptr); 21 | ~RGBController_ZETEdgeAirPro(); 22 | 23 | void SetupZones(); 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void DeviceUpdateMode(); 31 | 32 | private: 33 | ZETEdgeAirProController* controller; 34 | }; 35 | -------------------------------------------------------------------------------- /Documentation/Images/OpenRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/Documentation/Images/OpenRGB.png -------------------------------------------------------------------------------- /Documentation/Images/OpenRGB_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/Documentation/Images/OpenRGB_Screenshot.png -------------------------------------------------------------------------------- /Documentation/KernelParameters.md: -------------------------------------------------------------------------------- 1 | # Kernel Parameters 2 | 3 | * To resolve an ACPI conflict add the `acpi_enforce_resources=lax` kernel parameter. 4 | * If you want to check if the kernel was loaded with this option you can execute this command from the terminal once you've rebooted: `cat /proc/cmdline`. 5 | 6 | ### Arch Linux 7 | 8 | * Please see [the Arch wiki](https://wiki.archlinux.org/title/kernel_parameters) for details on how to update your bootloader. 9 | 10 | ### Debian/Ubuntu 11 | 12 | * Please see [the Ubuntu Documentation](https://wiki.ubuntu.com/Kernel/KernelBootParameters) for Kernel Parameters for more information on updating your boot parameters. 13 | 14 | ### Fedora 15 | 16 | * On Fedora, install `grubby` and then following command: `grubby --update-kernel=ALL --args="acpi_enforce_resources=lax"`. 17 | * For more information please refer to the Fedora docs for [grubby](https://docs.fedoraproject.org/en-US/fedora/latest/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader/#sec-Making_Persistent_Changes_to_a_GRUB_2_Menu_Using_the_grubby_Tool). 18 | -------------------------------------------------------------------------------- /RGBController/RGBController_Dummy.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | RGBController_Dummy.h | 3 | | | 4 | | Dummy RGBController that can mimic various devices for | 5 | | development and test purposes | 6 | | | 7 | | Adam Honse (CalcProgrammer1) 25 Feb 2020 | 8 | | | 9 | | This file is part of the OpenRGB project | 10 | | SPDX-License-Identifier: GPL-2.0-only | 11 | \*---------------------------------------------------------*/ 12 | 13 | #pragma once 14 | 15 | #include "RGBController.h" 16 | 17 | class RGBController_Dummy : public RGBController 18 | { 19 | public: 20 | RGBController_Dummy(); 21 | 22 | void SetupZones(); 23 | 24 | void ResizeZone(int zone, int new_size); 25 | 26 | void DeviceUpdateLEDs(); 27 | void UpdateZoneLEDs(int zone); 28 | void UpdateSingleLED(int led); 29 | 30 | void SetCustomMode(); 31 | void DeviceUpdateMode(); 32 | }; 33 | -------------------------------------------------------------------------------- /SPDAccessor/DDR4DirectAccessor.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DDR4DirectAccessor.h | 3 | | | 4 | | DDR4 SPD accessor implementation using direct i2c | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "SPDAccessor.h" 13 | 14 | class DDR4DirectAccessor : public DDR4Accessor 15 | { 16 | public: 17 | DDR4DirectAccessor(i2c_smbus_interface *bus, uint8_t address); 18 | virtual ~DDR4DirectAccessor(); 19 | 20 | static bool isAvailable(i2c_smbus_interface *bus, uint8_t address); 21 | 22 | virtual SPDAccessor * copy(); 23 | virtual uint8_t at(uint16_t addr); 24 | 25 | private: 26 | uint8_t current_page = 0xFF; 27 | static const uint16_t SPD_DDR4_EEPROM_LENGTH = 512; 28 | static const uint8_t SPD_DDR4_EEPROM_PAGE_SHIFT = 8; 29 | static const uint8_t SPD_DDR4_EEPROM_PAGE_MASK = 0xFF; 30 | 31 | void set_page(uint8_t page); 32 | }; 33 | -------------------------------------------------------------------------------- /SPDAccessor/EE1004Accessor_Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | EE1004Accessor_Linux.h | 3 | | | 4 | | SPD accessor implementation using e1004 driver on Linux | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "SPDAccessor.h" 13 | 14 | class EE1004Accessor : public DDR4Accessor 15 | { 16 | public: 17 | EE1004Accessor(i2c_smbus_interface *bus, uint8_t address); 18 | virtual ~EE1004Accessor(); 19 | 20 | static bool isAvailable(i2c_smbus_interface *bus, uint8_t address); 21 | 22 | virtual SPDAccessor *copy(); 23 | virtual uint8_t at(uint16_t addr); 24 | 25 | private: 26 | static const char *SPD_EE1004_PATH; 27 | 28 | uint8_t dump[512]; 29 | bool valid; 30 | 31 | void readEEPROM(); 32 | }; 33 | -------------------------------------------------------------------------------- /SPDAccessor/SPD5118Accessor_Linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | SPD5118Accessor_Linux.h | 3 | | | 4 | | DDR5 SPD accessor implementation using spd5118 driver | 5 | | on Linux | 6 | | | 7 | | This file is part of the OpenRGB project | 8 | | SPDX-License-Identifier: GPL-2.0-only | 9 | \*---------------------------------------------------------*/ 10 | 11 | #pragma once 12 | 13 | #include "SPDAccessor.h" 14 | 15 | class SPD5118Accessor : public DDR5Accessor 16 | { 17 | public: 18 | SPD5118Accessor(i2c_smbus_interface *bus, uint8_t address); 19 | virtual ~SPD5118Accessor(); 20 | 21 | static bool isAvailable(i2c_smbus_interface *bus, uint8_t address); 22 | 23 | virtual SPDAccessor *copy(); 24 | virtual uint8_t at(uint16_t addr); 25 | 26 | private: 27 | static const char *SPD_SPD5118_PATH; 28 | 29 | uint8_t dump[2048]; 30 | bool valid; 31 | 32 | void readEEPROM(); 33 | }; 34 | -------------------------------------------------------------------------------- /SPDAccessor/SPDDetector.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | SPDDetector.h | 3 | | | 4 | | Detector for DRAM modules using SPD information | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include "SPDAccessor.h" 13 | #include "SPDCommon.h" 14 | 15 | class SPDDetector 16 | { 17 | public: 18 | SPDDetector(i2c_smbus_interface *bus, uint8_t address, SPDMemoryType mem_type); 19 | 20 | bool is_valid() const; 21 | SPDMemoryType memory_type() const; 22 | uint8_t spd_address() const; 23 | i2c_smbus_interface *smbus() const; 24 | 25 | private: 26 | i2c_smbus_interface *bus; 27 | uint8_t address; 28 | SPDMemoryType mem_type; 29 | bool valid; 30 | 31 | void detect_memory_type(); 32 | }; 33 | -------------------------------------------------------------------------------- /StringUtils.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | StringUtils.h | 3 | | | 4 | | String utility functions | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | 14 | class StringUtils 15 | { 16 | public: 17 | static const char* wchar_to_char(const wchar_t* pwchar); 18 | static std::string wstring_to_string(const std::wstring wstring); 19 | static std::string u16string_to_string(const std::u16string wstring); 20 | static const std::string remove_null_terminating_chars(std::string input); 21 | }; 22 | -------------------------------------------------------------------------------- /SuspendResume/SuspendResume.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | SuspendResume.h | 3 | | | 4 | | Suspend/resume common implementation | 5 | | | 6 | | Zach Deibert (zachdeibert) 12 Nov 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | class SuspendResumeListenerBase 15 | { 16 | protected: 17 | virtual void OnSuspend() = 0; 18 | virtual void OnResume() = 0; 19 | }; 20 | 21 | #ifdef _WIN32 22 | #include "SuspendResume_Windows.h" 23 | #endif 24 | 25 | #ifdef __APPLE__ 26 | #include "SuspendResume_MacOS.h" 27 | #endif 28 | 29 | #if defined(__linux__) || defined(__FreeBSD__) 30 | #include "SuspendResume_Linux_FreeBSD.h" 31 | #endif 32 | -------------------------------------------------------------------------------- /SuspendResume/SuspendResume_MacOS.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | SuspendResume_MacOS.h | 3 | | | 4 | | Suspend/resume MacOS implementation | 5 | | | 6 | | Zach Deibert (zachdeibert) 12 Nov 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include "SuspendResume.h" 16 | #include "IOKit/pwr_mgt/IOPMLib.h" 17 | #include "IOKit/IOMessage.h" 18 | 19 | class SuspendResumeListener : public SuspendResumeListenerBase 20 | { 21 | protected: 22 | SuspendResumeListener(); 23 | virtual ~SuspendResumeListener(); 24 | 25 | private: 26 | static void SystemPowerCallback(void *refcon, io_service_t service, uint32_t message_type, void *message_argument); 27 | 28 | io_connect_t root_port; 29 | IONotificationPortRef port_ref; 30 | io_object_t notifier; 31 | }; 32 | -------------------------------------------------------------------------------- /SuspendResume/SuspendResume_Windows.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | SuspendResume_Windows.h | 3 | | | 4 | | Suspend/resume Windows implementation | 5 | | | 6 | | Zach Deibert (zachdeibert) 12 Nov 2024 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include 15 | #include 16 | #include "SuspendResume.h" 17 | 18 | #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 19 | #define NEFResultType long 20 | #else 21 | #define NEFResultType qintptr 22 | #endif 23 | 24 | class SuspendResumeListener : public SuspendResumeListenerBase, private QAbstractNativeEventFilter 25 | { 26 | protected: 27 | SuspendResumeListener(); 28 | virtual ~SuspendResumeListener(); 29 | 30 | private: 31 | bool nativeEventFilter(const QByteArray &event_type, void *message, NEFResultType *result); 32 | }; 33 | -------------------------------------------------------------------------------- /cli.h: -------------------------------------------------------------------------------- 1 | #ifndef CLI_H 2 | #define CLI_H 3 | 4 | unsigned int cli_pre_detection(int argc, char* argv[]); 5 | unsigned int cli_post_detection(); 6 | 7 | enum 8 | { 9 | RET_FLAG_PRINT_HELP = 1, 10 | RET_FLAG_START_GUI = 2, 11 | RET_FLAG_I2C_TOOLS = 4, 12 | RET_FLAG_START_MINIMIZED = 8, 13 | RET_FLAG_NO_DETECT = 16, 14 | RET_FLAG_CLI_POST_DETECTION = 32, 15 | RET_FLAG_START_SERVER = 64, 16 | RET_FLAG_NO_AUTO_CONNECT = 128, 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /debian/changelog.in: -------------------------------------------------------------------------------- 1 | openrgb (__VERSION__) UNRELEASED; urgency=medium 2 | 3 | * Builds from git master. See git history for more information. 4 | 5 | -- Adam Honse Sun, 12 Apr 2020 22:57:34 -0500 6 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: openrgb 2 | Maintainer: Adam Honse 3 | Section: misc 4 | Priority: optional 5 | Standards-Version: 3.9.2 6 | Build-Depends: 7 | debhelper (>= 9), 8 | pkg-config, 9 | qtbase5-dev, 10 | qtbase5-dev-tools, 11 | qttools5-dev-tools, 12 | qt5-qmake, 13 | libusb-1.0-0-dev, 14 | libhidapi-dev, 15 | libmbedtls-dev, 16 | Homepage: https://gitlab.com/CalcProgrammer1/OpenRGB 17 | 18 | Package: openrgb 19 | Architecture: any 20 | Depends: 21 | ${shlibs:Depends}, 22 | ${misc:Depends}, 23 | udev, 24 | Recommends: 25 | openrgb-dkms-drivers, 26 | Conflicts: 27 | openrgb-udev, 28 | Description: Open source RGB lighting control 29 | OpenRGB controls RGB lighting 30 | -------------------------------------------------------------------------------- /debian/openrgb.postinst: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # -e is not set should this step fail for whatever reason the installation is still valid 4 | set -u -o pipefail 5 | 6 | # Reload rules 7 | if [ -f /bin/udevadm ]; then 8 | udevadm control --reload-rules || echo "done" 9 | udevadm trigger || : 10 | else 11 | echo 12 | echo "\/-------------------------------------------------------\\" 13 | echo "\| Critical: This system does not have udev installed. \|" 14 | echo "\| \|" 15 | echo "\| Please install udev with: sudo apt -y install udev \|" 16 | echo "\\-------------------------------------------------------\/" 17 | echo 18 | fi 19 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | export QT_SELECT := qt5 3 | 4 | %: 5 | dh $@ --parallel 6 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /dependencies/hidapi-win/x64/hidapi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/hidapi-win/x64/hidapi.dll -------------------------------------------------------------------------------- /dependencies/hidapi-win/x64/hidapi.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/hidapi-win/x64/hidapi.lib -------------------------------------------------------------------------------- /dependencies/hidapi-win/x86/hidapi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/hidapi-win/x86/hidapi.dll -------------------------------------------------------------------------------- /dependencies/hidapi-win/x86/hidapi.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/hidapi-win/x86/hidapi.lib -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [enwi] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: 'Status: Available, Type: Bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug**: 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce**: 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior**: 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Console log/Error message**: 24 | If applicable, add a console log or error message to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. MacOS, Windows, Linux, ESP32 SDK, Arduino] 28 | - Version [e.g. 22] 29 | 30 | **Additional context** 31 | Add any other context about the problem here. 32 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: 'Status: Available, Type: Enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Compiled Dynamic libraries 12 | *.so 13 | *.dylib 14 | *.dll 15 | 16 | # Fortran module files 17 | *.mod 18 | *.smod 19 | 20 | # Compiled Static libraries 21 | *.lai 22 | *.la 23 | *.a 24 | *.lib 25 | 26 | # Executables 27 | *.exe 28 | *.out 29 | *.app 30 | 31 | # build directory 32 | /build* 33 | /out 34 | /bin 35 | 36 | # Generated documentation 37 | /doc/html 38 | 39 | # General 40 | .DS_Store 41 | .AppleDouble 42 | .LSOverride 43 | .vs 44 | 45 | # Icon must end with two \r 46 | Icon 47 | 48 | # Thumbnails 49 | ._* 50 | 51 | # Files that might appear in the root of a volume 52 | .DocumentRevisions-V100 53 | .fseventsd 54 | .Spotlight-V100 55 | .TemporaryItems 56 | .Trashes 57 | .VolumeIcon.icns 58 | .com.apple.timemachine.donotpresent 59 | 60 | # Directories potentially created on remote AFP share 61 | .AppleDB 62 | .AppleDesktop 63 | Network Trash Folder 64 | Temporary Items 65 | .apdisk 66 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/mbedtls"] 2 | path = lib/mbedtls 3 | url = https://github.com/ARMmbed/mbedtls.git 4 | [submodule "lib/json"] 5 | path = lib/json 6 | url = https://github.com/nlohmann/json.git 7 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/cmake/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 2 | message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") 3 | endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 4 | 5 | file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 6 | string(REGEX REPLACE "\n" ";" files "${files}") 7 | foreach(file ${files}) 8 | message(STATUS "Uninstalling $ENV{DESTDIR}${file}") 9 | if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 10 | exec_program( 11 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 12 | OUTPUT_VARIABLE rm_out 13 | RETURN_VALUE rm_retval 14 | ) 15 | if(NOT "${rm_retval}" STREQUAL 0) 16 | message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") 17 | endif(NOT "${rm_retval}" STREQUAL 0) 18 | else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 19 | message(STATUS "File $ENV{DESTDIR}${file} does not exist.") 20 | endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 21 | endforeach(file) 22 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/cmake/hueplusplus-config.cmake.in: -------------------------------------------------------------------------------- 1 | # -config file of the hueplusplus package 2 | # It defines the following 3 | # hueplusplus_FOUND - which indicates that the module was found 4 | # hueplusplus_INCLUDE_DIR 5 | 6 | set(hueplusplus_FOUND TRUE) 7 | set(hueplusplus_INCLUDE_DIR "@INSTALL_INCLUDE_DIR@") 8 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "/usr/**/*" # ingnore all unix system ressources 3 | - "**/json*.*" # ignore all json files 4 | - "**/hueplusplus/include/json/*" # ignore all files in json folder 5 | - "**/hueplusplus/test/*" # ignore all files in test folder 6 | - "**/hueplusplus/build/**/*" # ignore all files in build folder 7 | - "**/test/**/*" # ignore all files in test folders 8 | - "**/v1/**/*" # ignore all macros files 9 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(bridge_setup BridgeSetup.cpp) 2 | set_property(TARGET bridge_setup PROPERTY CXX_STANDARD 14) 3 | set_property(TARGET bridge_setup PROPERTY CXX_EXTENSIONS OFF) 4 | target_link_libraries(bridge_setup hueplusplusstatic) 5 | 6 | add_executable(lights_off LightsOff.cpp) 7 | set_property(TARGET lights_off PROPERTY CXX_STANDARD 14) 8 | set_property(TARGET lights_off PROPERTY CXX_EXTENSIONS OFF) 9 | target_link_libraries(lights_off hueplusplusstatic) 10 | 11 | 12 | add_executable(username_config UsernameConfig.cpp) 13 | set_property(TARGET lights_off PROPERTY CXX_STANDARD 14) 14 | set_property(TARGET lights_off PROPERTY CXX_EXTENSIONS OFF) 15 | target_link_libraries(username_config hueplusplusstatic) 16 | 17 | add_custom_target(hueplusplus_examples) 18 | add_dependencies(hueplusplus_examples bridge_setup lights_off username_config) 19 | 20 | # Snippets for documentation, not included with the examples target 21 | add_executable(hueplusplus_snippets Snippets.cpp) 22 | set_property(TARGET hueplusplus_snippets PROPERTY CXX_STANDARD 14) 23 | set_property(TARGET hueplusplus_snippets PROPERTY CXX_EXTENSIONS OFF) 24 | target_link_libraries(hueplusplus_snippets hueplusplusstatic) 25 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/include/hueplusplus/HueExceptionMacro.h: -------------------------------------------------------------------------------- 1 | /** 2 | \file HueException.h 3 | Copyright Notice\n 4 | Copyright (C) 2020 Jan Rogall - developer\n 5 | Copyright (C) 2020 Moritz Wirger - developer\n 6 | 7 | This file is part of hueplusplus. 8 | 9 | hueplusplus is free software: you can redistribute it and/or modify 10 | it under the terms of the GNU Lesser General Public License as published by 11 | the Free Software Foundation, either version 3 of the License, or 12 | (at your option) any later version. 13 | 14 | hueplusplus is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU Lesser General Public License for more details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with hueplusplus. If not, see . 21 | **/ 22 | 23 | #include "HueException.h" 24 | 25 | //! \def CURRENT_FILE_INFO 26 | //! \brief Creates the FileInfo for the current line. 27 | #ifndef CURRENT_FILE_INFO 28 | #define CURRENT_FILE_INFO (::hueplusplus::FileInfo{__FILE__, __LINE__, __func__}) 29 | #endif -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/lgtm.yml: -------------------------------------------------------------------------------- 1 | path_classifiers: 2 | #docs: 3 | 4 | # The default behavior is to tag all files created during the 5 | # build as `generated`. Results are hidden for generated code. You can tag 6 | # further files as being generated by adding them to the `generated` section. 7 | #generated: 8 | # By default, all files not checked into the repository are considered to be 9 | # 'generated'. 10 | 11 | # The default behavior is to tag library code as `library`. Results are hidden 12 | # for library code. You can tag further files as being library code by adding them 13 | # to the `library` section. 14 | library: 15 | # Classify all files in the top-level directory lib/mbedtls as library code. 16 | - lib/mbedtls 17 | 18 | # The default behavior is to tag template files as `template`. Results are hidden 19 | # for template files. You can tag further files as being template files by adding 20 | # them to the `template` section. 21 | #template: 22 | 23 | test: 24 | # Classify all files in the top-level directory test/ as test code. 25 | - test 26 | -------------------------------------------------------------------------------- /dependencies/hueplusplus-1.2.0/test/CMakeLists.txt.in: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.2) 2 | 3 | project(googletest-download NONE) 4 | 5 | include(ExternalProject) 6 | ExternalProject_Add(googletest 7 | GIT_REPOSITORY https://github.com/google/googletest.git 8 | GIT_TAG main 9 | SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" 10 | BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build" 11 | CONFIGURE_COMMAND "" 12 | BUILD_COMMAND "" 13 | INSTALL_COMMAND "" 14 | TEST_COMMAND "" 15 | ) 16 | -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/MinGW32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/MinGW32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/MinGW64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/MinGW64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2013/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2013/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2015/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2015/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2017/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2017/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2019/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2019/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS32/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS32/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS32/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.dll -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.exp -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS64/dll/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/VS2022/MS64/static/libusb-1.0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/VS2022/MS64/static/libusb-1.0.lib -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/dpfp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/dpfp.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/dpfp_threaded.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/dpfp_threaded.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/fxload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/fxload.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/hotplugtest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/hotplugtest.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/init_context.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/init_context.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/listdevs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/listdevs.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/sam3u_benchmark.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/sam3u_benchmark.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/set_option.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/set_option.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/stress.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/stress.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/stress_mt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/stress_mt.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/testlibusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/testlibusb.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin32/xusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin32/xusb.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/dpfp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/dpfp.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/dpfp_threaded.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/dpfp_threaded.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/fxload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/fxload.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/hotplugtest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/hotplugtest.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/init_context.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/init_context.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/listdevs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/listdevs.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/sam3u_benchmark.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/sam3u_benchmark.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/set_option.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/set_option.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/stress.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/stress.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/stress_mt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/stress_mt.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/testlibusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/testlibusb.exe -------------------------------------------------------------------------------- /dependencies/libusb-1.0.27/examples/bin64/xusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/libusb-1.0.27/examples/bin64/xusb.exe -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/include/mbedtls/private_access.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file private_access.h 3 | * 4 | * \brief Macro wrapper for struct's members. 5 | */ 6 | /* 7 | * Copyright The Mbed TLS Contributors 8 | * SPDX-License-Identifier: Apache-2.0 9 | * 10 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 11 | * not use this file except in compliance with the License. 12 | * You may obtain a copy of the License at 13 | * 14 | * http://www.apache.org/licenses/LICENSE-2.0 15 | * 16 | * Unless required by applicable law or agreed to in writing, software 17 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 18 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | * See the License for the specific language governing permissions and 20 | * limitations under the License. 21 | */ 22 | 23 | #ifndef MBEDTLS_PRIVATE_ACCESS_H 24 | #define MBEDTLS_PRIVATE_ACCESS_H 25 | 26 | #ifndef MBEDTLS_ALLOW_PRIVATE_ACCESS 27 | #define MBEDTLS_PRIVATE(member) private_##member 28 | #else 29 | #define MBEDTLS_PRIVATE(member) member 30 | #endif 31 | 32 | #endif /* MBEDTLS_PRIVATE_ACCESS_H */ 33 | -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x64/mbedcrypto.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x64/mbedcrypto.lib -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x64/mbedtls.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x64/mbedtls.lib -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x64/mbedx509.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x64/mbedx509.lib -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x86/mbedcrypto.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x86/mbedcrypto.lib -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x86/mbedtls.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x86/mbedtls.lib -------------------------------------------------------------------------------- /dependencies/mbedtls-3.2.1/lib/x86/mbedx509.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/mbedtls-3.2.1/lib/x86/mbedx509.lib -------------------------------------------------------------------------------- /dependencies/winring0/Win32/WinRing0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/Win32/WinRing0.dll -------------------------------------------------------------------------------- /dependencies/winring0/Win32/WinRing0.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/Win32/WinRing0.lib -------------------------------------------------------------------------------- /dependencies/winring0/Win32/WinRing0.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/Win32/WinRing0.sys -------------------------------------------------------------------------------- /dependencies/winring0/x64/WinRing0x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/x64/WinRing0x64.dll -------------------------------------------------------------------------------- /dependencies/winring0/x64/WinRing0x64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/x64/WinRing0x64.lib -------------------------------------------------------------------------------- /dependencies/winring0/x64/WinRing0x64.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/dependencies/winring0/x64/WinRing0x64.sys -------------------------------------------------------------------------------- /i2c_smbus/i2c_smbus_linux.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | i2c_smbus_linux.h | 3 | | | 4 | | Linux i2c/smbus driver | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 14 Feb 2019 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #include "i2c_smbus.h" 13 | 14 | class i2c_smbus_linux : public i2c_smbus_interface 15 | { 16 | public: 17 | int handle; 18 | 19 | private: 20 | s32 i2c_smbus_xfer(u8 addr, char read_write, u8 command, int size, i2c_smbus_data* data); 21 | s32 i2c_xfer(u8 addr, char read_write, int* size, u8* data); 22 | }; 23 | -------------------------------------------------------------------------------- /i2c_smbus/i2c_smbus_nvapi.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | i2c_smbus_nvapi.h | 3 | | | 4 | | Nvidia NvAPI I2C driver | 5 | | | 6 | | Adam Honse (CalcProgrammer1) 21 Feb 2020 | 7 | | | 8 | | This file is part of the OpenRGB project | 9 | | SPDX-License-Identifier: GPL-2.0-only | 10 | \*---------------------------------------------------------*/ 11 | 12 | #pragma once 13 | 14 | #include "i2c_smbus.h" 15 | #include "nvapi.h" 16 | 17 | class i2c_smbus_nvapi : public i2c_smbus_interface 18 | { 19 | public: 20 | i2c_smbus_nvapi(NV_PHYSICAL_GPU_HANDLE handle); 21 | s32 i2c_read_block_data(u8 addr, u8 length, u8 *values); 22 | s32 i2c_write_block_data(u8 addr, u8 length, u8 *values); 23 | 24 | private: 25 | s32 i2c_smbus_xfer(u8 addr, char read_write, u8 command, int mode, i2c_smbus_data* data); 26 | s32 i2c_xfer(u8 addr, char read_write, int* size, u8* data); 27 | NV_PHYSICAL_GPU_HANDLE handle; 28 | }; 29 | -------------------------------------------------------------------------------- /i2c_tools/i2c_tools.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | i2c_tools.h | 3 | | | 4 | | Utility functions for communicating with and reverse | 5 | | engineering i2c devices | 6 | | | 7 | | This file is part of the OpenRGB project | 8 | | SPDX-License-Identifier: GPL-2.0-only | 9 | \*---------------------------------------------------------*/ 10 | 11 | #include 12 | #include "i2c_smbus.h" 13 | 14 | #define MODE_AUTO 0 15 | #define MODE_QUICK 1 16 | #define MODE_READ 2 17 | #define MODE_FUNC 3 18 | 19 | std::string i2c_detect(i2c_smbus_interface * bus, int mode); 20 | 21 | std::string i2c_dump(i2c_smbus_interface * bus, unsigned char address); 22 | 23 | std::string i2c_read(i2c_smbus_interface * bus, unsigned char address, unsigned char regaddr, unsigned char size); 24 | -------------------------------------------------------------------------------- /interop/DeviceGuard.cpp: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuard.cpp | 3 | | | 4 | | An abstract interface for acquiring and releasing | 5 | | a guard on a device, serving as a foundation for | 6 | | implementing device-specific synchronization mechanisms | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #include "DeviceGuard.h" 15 | 16 | DeviceGuard::DeviceGuard() 17 | { 18 | 19 | } 20 | 21 | DeviceGuard::~DeviceGuard() 22 | { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /interop/DeviceGuard.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuard.h | 3 | | | 4 | | An abstract interface for acquiring and releasing | 5 | | a guard on a device, serving as a foundation for | 6 | | implementing device-specific synchronization mechanisms | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #pragma once 15 | 16 | class DeviceGuard 17 | { 18 | public: 19 | DeviceGuard(); 20 | virtual ~DeviceGuard(); 21 | 22 | virtual void Acquire() = 0; 23 | virtual void Release() = 0; 24 | }; 25 | -------------------------------------------------------------------------------- /interop/DeviceGuardLock.cpp: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuardLock.cpp | 3 | | | 4 | | Represents a lock for a device guard, ensuring | 5 | | exclusive access to a device when acquired and | 6 | | releasing it when destroyed | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #include "DeviceGuardLock.h" 15 | 16 | DeviceGuardLock::DeviceGuardLock(DeviceGuard& guard_ref) : guard(guard_ref) 17 | { 18 | guard.Acquire(); 19 | } 20 | 21 | DeviceGuardLock::~DeviceGuardLock() 22 | { 23 | guard.Release(); 24 | } 25 | -------------------------------------------------------------------------------- /interop/DeviceGuardLock.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuardLock.h | 3 | | | 4 | | Represents a lock for a device guard, ensuring | 5 | | exclusive access to a device when acquired and | 6 | | releasing it when destroyed | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #pragma once 15 | 16 | #include "DeviceGuard.h" 17 | 18 | class DeviceGuardLock 19 | { 20 | public: 21 | DeviceGuardLock(DeviceGuard& guard_ref); 22 | ~DeviceGuardLock(); 23 | 24 | private: 25 | DeviceGuard& guard; 26 | }; 27 | -------------------------------------------------------------------------------- /interop/DeviceGuardManager.cpp: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuardManager.cpp | 3 | | | 4 | | Responsible for managing a DeviceGuard implementation, | 5 | | allowing clients to wait for exclusive access to a | 6 | | device using the DeviceGuardLock it provides | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #include "DeviceGuardManager.h" 15 | 16 | DeviceGuardManager::DeviceGuardManager(DeviceGuard* guard_ptr) : guard(guard_ptr) 17 | { 18 | 19 | } 20 | 21 | DeviceGuardManager::~DeviceGuardManager() 22 | { 23 | delete guard; 24 | } 25 | 26 | DeviceGuardLock DeviceGuardManager::AwaitExclusiveAccess() 27 | { 28 | return DeviceGuardLock(*guard); 29 | } 30 | -------------------------------------------------------------------------------- /interop/DeviceGuardManager.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | DeviceGuardManager.h | 3 | | | 4 | | Responsible for managing a DeviceGuard implementation, | 5 | | allowing clients to wait for exclusive access to a | 6 | | device using the DeviceGuardLock it provides | 7 | | | 8 | | Evan Mulawski 09 May 2023 | 9 | | | 10 | | This file is part of the OpenRGB project | 11 | | SPDX-License-Identifier: GPL-2.0-only | 12 | \*---------------------------------------------------------*/ 13 | 14 | #pragma once 15 | 16 | #include "DeviceGuardLock.h" 17 | 18 | class DeviceGuardManager 19 | { 20 | public: 21 | DeviceGuardManager(DeviceGuard* guard_ptr); 22 | ~DeviceGuardManager(); 23 | 24 | DeviceGuardLock AwaitExclusiveAccess(); 25 | 26 | private: 27 | DeviceGuard* guard; 28 | }; 29 | -------------------------------------------------------------------------------- /mac/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | OpenRGB 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | ${ASSETCATALOG_COMPILER_APPICON_NAME} 11 | CFBundleIdentifier 12 | ${PRODUCT_BUNDLE_IDENTIFIER} 13 | CFBundleName 14 | OpenRGB 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | ${QMAKE_SHORT_VERSION} 19 | CFBundleSignature 20 | ${QMAKE_PKGINFO_TYPEINFO} 21 | CFBundleVersion 22 | ${QMAKE_FULL_VERSION} 23 | NOTE 24 | This file was generated by Qt/QMake. 25 | NSHumanReadableCopyright 26 | Distributed under GNU General Public License v2.0 27 | 28 | 29 | -------------------------------------------------------------------------------- /qt/OpenRGB.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/qt/OpenRGB.icns -------------------------------------------------------------------------------- /qt/OpenRGB.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/qt/OpenRGB.ico -------------------------------------------------------------------------------- /qt/OpenRGBConsolePage/OpenRGBConsolePage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBConsolePage.h | 3 | | | 4 | | User interface for OpenRGB console page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBConsolePage.h" 14 | 15 | namespace Ui 16 | { 17 | class OpenRGBConsolePage; 18 | } 19 | 20 | class Ui::OpenRGBConsolePage : public QFrame 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit OpenRGBConsolePage(QWidget *parent = nullptr); 26 | ~OpenRGBConsolePage(); 27 | 28 | private slots: 29 | void changeEvent(QEvent *event); 30 | void on_log_level_currentIndexChanged(int); 31 | void on_clear_clicked(); 32 | void on_refresh_clicked(); 33 | 34 | private: 35 | Ui::OpenRGBConsolePageUi *ui; 36 | 37 | void Refresh(); 38 | }; 39 | -------------------------------------------------------------------------------- /qt/OpenRGBDMXSettingsPage/OpenRGBDMXSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBDMXSettingsEntry.h | 3 | | | 4 | | User interface for OpenRGB DMX settings entry | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "nlohmann/json.hpp" 14 | 15 | using json = nlohmann::json; 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBDMXSettingsEntry; 20 | class OpenRGBDMXSettingsEntryUi; 21 | } 22 | 23 | class Ui::OpenRGBDMXSettingsEntry : public QWidget 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit OpenRGBDMXSettingsEntry(QWidget *parent = nullptr); 29 | ~OpenRGBDMXSettingsEntry(); 30 | void loadFromSettings(const json& data); 31 | json saveSettings(); 32 | const char* settingsSection(); 33 | 34 | private: 35 | Ui::OpenRGBDMXSettingsEntryUi *ui; 36 | 37 | private slots: 38 | void changeEvent(QEvent *event); 39 | }; 40 | -------------------------------------------------------------------------------- /qt/OpenRGBDMXSettingsPage/OpenRGBDMXSettingsPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBDMXSettingsPage.h | 3 | | | 4 | | User interface for OpenRGB DMX settings page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBDMXSettingsPage.h" 14 | #include "OpenRGBDMXSettingsEntry.h" 15 | 16 | namespace Ui 17 | { 18 | class OpenRGBDMXSettingsPage; 19 | } 20 | 21 | class Ui::OpenRGBDMXSettingsPage : public QWidget 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBDMXSettingsPage(QWidget *parent = nullptr); 27 | ~OpenRGBDMXSettingsPage(); 28 | 29 | private slots: 30 | void changeEvent(QEvent *event); 31 | void on_AddDMXDeviceButton_clicked(); 32 | 33 | void on_RemoveDMXDeviceButton_clicked(); 34 | 35 | void on_SaveDMXConfigurationButton_clicked(); 36 | 37 | private: 38 | Ui::OpenRGBDMXSettingsPageUi* ui; 39 | std::vector entries; 40 | 41 | }; 42 | -------------------------------------------------------------------------------- /qt/OpenRGBDeviceInfoPage/OpenRGBDeviceInfoPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBDeviceInfoPage.h | 3 | | | 4 | | User interface for OpenRGB device information page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "RGBController.h" 14 | #include "ui_OpenRGBDeviceInfoPage.h" 15 | 16 | namespace Ui 17 | { 18 | class OpenRGBDeviceInfoPage; 19 | } 20 | 21 | class Ui::OpenRGBDeviceInfoPage : public QFrame 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBDeviceInfoPage(RGBController *dev, QWidget *parent = nullptr); 27 | ~OpenRGBDeviceInfoPage(); 28 | 29 | RGBController* GetController(); 30 | 31 | private: 32 | RGBController* controller; 33 | Ui::OpenRGBDeviceInfoPageUi* ui; 34 | 35 | private slots: 36 | void changeEvent(QEvent *event); 37 | }; 38 | -------------------------------------------------------------------------------- /qt/OpenRGBE131SettingsPage/OpenRGBE131SettingsPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBE131SettingsPage.h | 3 | | | 4 | | User interface for OpenRGB E1.31 settings page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBE131SettingsPage.h" 14 | #include "OpenRGBE131SettingsEntry.h" 15 | 16 | namespace Ui 17 | { 18 | class OpenRGBE131SettingsPage; 19 | } 20 | 21 | class Ui::OpenRGBE131SettingsPage : public QWidget 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBE131SettingsPage(QWidget *parent = nullptr); 27 | ~OpenRGBE131SettingsPage(); 28 | 29 | private slots: 30 | void changeEvent(QEvent *event); 31 | void on_AddE131DeviceButton_clicked(); 32 | 33 | void on_RemoveE131DeviceButton_clicked(); 34 | 35 | void on_SaveE131ConfigurationButton_clicked(); 36 | 37 | private: 38 | Ui::OpenRGBE131SettingsPageUi *ui; 39 | std::vector entries; 40 | }; 41 | -------------------------------------------------------------------------------- /qt/OpenRGBElgatoKeyLightSettingsPage/OpenRGBElgatoKeyLightSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBElgatoKeyLightSettingsEntry.h | 3 | | | 4 | | User interface for OpenRGB Elgato Key Light entry | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "nlohmann/json.hpp" 14 | 15 | using json = nlohmann::json; 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBElgatoKeyLightSettingsEntry; 20 | class OpenRGBElgatoKeyLightSettingsEntryUi; 21 | } 22 | 23 | class Ui::OpenRGBElgatoKeyLightSettingsEntry : public QDialog 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit OpenRGBElgatoKeyLightSettingsEntry(QWidget *parent = nullptr); 29 | ~OpenRGBElgatoKeyLightSettingsEntry(); 30 | void loadFromSettings(const json& data); 31 | json saveSettings(); 32 | const char* settingsSection(); 33 | 34 | private: 35 | Ui::OpenRGBElgatoKeyLightSettingsEntryUi *ui; 36 | 37 | private slots: 38 | void changeEvent(QEvent *event); 39 | }; 40 | -------------------------------------------------------------------------------- /qt/OpenRGBElgatoKeyLightSettingsPage/OpenRGBElgatoKeyLightSettingsEntry.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | OpenRGBElgatoKeyLightSettingsEntryUi 4 | 5 | 6 | 7 | 0 8 | 0 9 | 225 10 | 85 11 | 12 | 13 | 14 | Elgato Key Light Settings Entry 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | IP: 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /qt/OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsEntry.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | OpenRGBElgatoLightStripSettingsEntryUi 4 | 5 | 6 | 7 | 0 8 | 0 9 | 225 10 | 85 11 | 12 | 13 | 14 | Elgato Light Strip Settings Entry 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | IP: 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /qt/OpenRGBGreyscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/qt/OpenRGBGreyscale.png -------------------------------------------------------------------------------- /qt/OpenRGBHardwareIDsDialog/OpenRGBHardwareIDsDialog.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBHardwareIDsDialog.h | 3 | | | 4 | | User interface for OpenRGB Hardware IDs dialog | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBHardwareIDsDialog.h" 14 | 15 | namespace Ui 16 | { 17 | class OpenRGBHardwareIDsDialog; 18 | } 19 | 20 | class Ui::OpenRGBHardwareIDsDialog : public QDialog 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit OpenRGBHardwareIDsDialog(QWidget *parent = nullptr); 26 | ~OpenRGBHardwareIDsDialog(); 27 | 28 | int show(); 29 | 30 | private slots: 31 | void on_CopyToClipboardButton_clicked(); 32 | 33 | private: 34 | Ui::OpenRGBHardwareIDsDialogUi *ui; 35 | QStringList strings; 36 | }; 37 | -------------------------------------------------------------------------------- /qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBLIFXSettingsEntry.h | 3 | | | 4 | | User interface for OpenRGB LIFX settings entry | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #include 11 | #include "nlohmann/json.hpp" 12 | 13 | using json = nlohmann::json; 14 | 15 | namespace Ui 16 | { 17 | class OpenRGBLIFXSettingsEntry; 18 | class OpenRGBLIFXSettingsEntryUi; 19 | } 20 | 21 | class Ui::OpenRGBLIFXSettingsEntry : public QWidget 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBLIFXSettingsEntry(QWidget *parent = nullptr); 27 | ~OpenRGBLIFXSettingsEntry(); 28 | void loadFromSettings(const json& data); 29 | json saveSettings(); 30 | const char* settingsSection(); 31 | void setName(QString name); 32 | 33 | private: 34 | Ui::OpenRGBLIFXSettingsEntryUi *ui; 35 | 36 | private slots: 37 | void changeEvent(QEvent *event); 38 | }; 39 | -------------------------------------------------------------------------------- /qt/OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBLIFXSettingsPage.h | 3 | | | 4 | | User interface for OpenRGB LIFX settings page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBLIFXSettingsPage.h" 14 | #include "OpenRGBLIFXSettingsEntry.h" 15 | 16 | namespace Ui 17 | { 18 | class OpenRGBLIFXSettingsPage; 19 | } 20 | 21 | class Ui::OpenRGBLIFXSettingsPage : public QWidget 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBLIFXSettingsPage(QWidget *parent = nullptr); 27 | ~OpenRGBLIFXSettingsPage(); 28 | 29 | private slots: 30 | void changeEvent(QEvent *event); 31 | void on_AddLIFXDeviceButton_clicked(); 32 | 33 | void on_RemoveLIFXDeviceButton_clicked(); 34 | 35 | void on_SaveLIFXConfigurationButton_clicked(); 36 | 37 | private: 38 | Ui::OpenRGBLIFXSettingsPageUi *ui; 39 | std::vector entries; 40 | 41 | }; 42 | -------------------------------------------------------------------------------- /qt/OpenRGBNanoleafSettingsPage/OpenRGBNanoleafNewDeviceDialog.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBNanoleafNewDeviceDialog.h | 3 | | | 4 | | User interface for OpenRGB Nanoleaf dialog | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #include 11 | #include "ui_OpenRGBNanoleafNewDeviceDialog.h" 12 | #include "OpenRGBDialog.h" 13 | 14 | struct NanoleafDevice 15 | { 16 | std::string ip; 17 | unsigned int port; 18 | }; 19 | 20 | namespace Ui 21 | { 22 | class OpenRGBNanoleafNewDeviceDialog; 23 | } 24 | 25 | class Ui::OpenRGBNanoleafNewDeviceDialog : public QDialog 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | explicit OpenRGBNanoleafNewDeviceDialog(QWidget *parent = nullptr); 31 | ~OpenRGBNanoleafNewDeviceDialog(); 32 | 33 | NanoleafDevice show(); 34 | 35 | private: 36 | Ui::OpenRGBNanoleafNewDeviceDialogUi *ui; 37 | 38 | private slots: 39 | void changeEvent(QEvent *event); 40 | }; 41 | -------------------------------------------------------------------------------- /qt/OpenRGBNanoleafSettingsPage/OpenRGBNanoleafScanningThread.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBNanoleafScanningThread.h | 3 | | | 4 | | OpenRGB Nanoleaf scanning thread | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #include 11 | 12 | class OpenRGBNanoleafScanningThread : public QThread 13 | { 14 | Q_OBJECT 15 | 16 | void run(); 17 | 18 | int SendMDNSQuery(); 19 | 20 | signals: 21 | void DeviceFound(QString address, int port); 22 | 23 | public: 24 | void EmitDeviceFound(QString address, int port); 25 | }; 26 | -------------------------------------------------------------------------------- /qt/OpenRGBPhilipsWizSettingsPage/OpenRGBPhilipsWizSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBPhilipsWizSettingsEntry.h | 3 | | | 4 | | User interface for OpenRGB Philips Wiz settings entry | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "nlohmann/json.hpp" 14 | 15 | using json = nlohmann::json; 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBPhilipsWizSettingsEntry; 20 | class OpenRGBPhilipsWizSettingsEntryUi; 21 | } 22 | 23 | class Ui::OpenRGBPhilipsWizSettingsEntry : public QWidget 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit OpenRGBPhilipsWizSettingsEntry(QWidget *parent = nullptr); 29 | ~OpenRGBPhilipsWizSettingsEntry(); 30 | void loadFromSettings(const json& data); 31 | json saveSettings(); 32 | const char* settingsSection(); 33 | 34 | private: 35 | Ui::OpenRGBPhilipsWizSettingsEntryUi *ui; 36 | 37 | private slots: 38 | void changeEvent(QEvent *event); 39 | }; 40 | -------------------------------------------------------------------------------- /qt/OpenRGBPluginContainer/OpenRGBPluginContainer.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBPluginContainer.h | 3 | | | 4 | | User interface entry for OpenRGB plugin container widget| 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBPluginContainer.h" 14 | 15 | namespace Ui 16 | { 17 | class OpenRGBPluginContainer; 18 | } 19 | 20 | class Ui::OpenRGBPluginContainer : public QWidget 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit OpenRGBPluginContainer(QWidget *plugin, QWidget *parent = nullptr); 26 | ~OpenRGBPluginContainer(); 27 | void Hide(); 28 | void Show(); 29 | 30 | QWidget* plugin_widget; 31 | 32 | private: 33 | Ui::OpenRGBPluginContainerUi *ui; 34 | 35 | private slots: 36 | void changeEvent(QEvent *event); 37 | }; 38 | -------------------------------------------------------------------------------- /qt/OpenRGBPluginContainer/OpenRGBPluginContainer.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | OpenRGBPluginContainerUi 4 | 5 | 6 | 7 | 0 8 | 0 9 | 256 10 | 120 11 | 12 | 13 | 14 | 15 | 0 16 | 0 17 | 18 | 19 | 20 | Plugin Container 21 | 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 0 31 | 32 | 33 | 0 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /qt/OpenRGBPluginsPage/OpenRGBPluginsList.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBPluginsList.h | 3 | | | 4 | | User interface entry for OpenRGB plugin list widget | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | class OpenRGBPluginsList : public QListWidget 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | OpenRGBPluginsList(QWidget *parent = nullptr); 22 | 23 | signals: 24 | void PluginsDropped(std::vector); 25 | 26 | protected: 27 | void dropEvent(QDropEvent *event) override; 28 | void dragEnterEvent(QDragEnterEvent *event) override; 29 | void dragMoveEvent(QDragMoveEvent *event) override; 30 | }; 31 | -------------------------------------------------------------------------------- /qt/OpenRGBProfileSaveDialog/OpenRGBProfileSaveDialog.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBProfileSaveDialog.h | 3 | | | 4 | | User interface entry for OpenRGB profile save dialog | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_OpenRGBProfileSaveDialog.h" 14 | #include "OpenRGBDialog.h" 15 | 16 | namespace Ui 17 | { 18 | class OpenRGBProfileSaveDialog; 19 | } 20 | 21 | class Ui::OpenRGBProfileSaveDialog : public QDialog 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit OpenRGBProfileSaveDialog(QWidget *parent = nullptr); 27 | ~OpenRGBProfileSaveDialog(); 28 | 29 | std::string show(); 30 | 31 | private: 32 | Ui::OpenRGBProfileSaveDialogUi *ui; 33 | 34 | private slots: 35 | void changeEvent(QEvent *event); 36 | }; 37 | -------------------------------------------------------------------------------- /qt/OpenRGBQMKORGBSettingsPage/OpenRGBQMKORGBSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBQMKORGBSettingsEntry.h | 3 | | | 4 | | User interface entry for OpenRGB QMK configuration | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "nlohmann/json.hpp" 14 | 15 | using json = nlohmann::json; 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBQMKORGBSettingsEntry; 20 | class OpenRGBQMKORGBSettingsEntryUi; 21 | } 22 | 23 | class Ui::OpenRGBQMKORGBSettingsEntry : public QWidget 24 | { 25 | Q_OBJECT 26 | 27 | private slots: 28 | void changeEvent(QEvent *event); 29 | 30 | public: 31 | explicit OpenRGBQMKORGBSettingsEntry(QWidget *parent = nullptr); 32 | ~OpenRGBQMKORGBSettingsEntry(); 33 | void loadFromSettings(const json& data); 34 | json saveSettings(); 35 | const char* settingsSection(); 36 | 37 | private: 38 | Ui::OpenRGBQMKORGBSettingsEntryUi *ui; 39 | }; 40 | -------------------------------------------------------------------------------- /qt/OpenRGBServerInfoPage/OpenRGBServerInfoPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBServerInfoPage.h | 3 | | | 4 | | User interface for server information page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "RGBController.h" 14 | #include "ui_OpenRGBServerInfoPage.h" 15 | #include "NetworkServer.h" 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBServerInfoPage; 20 | } 21 | 22 | class Ui::OpenRGBServerInfoPage : public QFrame 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit OpenRGBServerInfoPage(NetworkServer * server, QWidget *parent = nullptr); 28 | ~OpenRGBServerInfoPage(); 29 | 30 | public slots: 31 | void UpdateInfo(); 32 | 33 | private slots: 34 | void changeEvent(QEvent *event); 35 | void on_ServerStartButton_clicked(); 36 | void on_ServerStopButton_clicked(); 37 | 38 | private: 39 | Ui::OpenRGBServerInfoPageUi *ui; 40 | 41 | NetworkServer* network_server; 42 | }; 43 | -------------------------------------------------------------------------------- /qt/OpenRGBSoftwareInfoPage/OpenRGBSoftwareInfoPage.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBSoftwareInfoPage.h | 3 | | | 4 | | User interface for software information page | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | 14 | namespace Ui 15 | { 16 | class OpenRGBSoftwareInfoPage; 17 | class OpenRGBSoftwareInfoPageUi; 18 | } 19 | 20 | class Ui::OpenRGBSoftwareInfoPage : public QFrame 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit OpenRGBSoftwareInfoPage(QWidget *parent = nullptr); 26 | ~OpenRGBSoftwareInfoPage(); 27 | 28 | private: 29 | Ui::OpenRGBSoftwareInfoPageUi *ui; 30 | 31 | private slots: 32 | void changeEvent(QEvent *event); 33 | }; 34 | -------------------------------------------------------------------------------- /qt/OpenRGBThemeManager.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBThemeManager.h | 3 | | | 4 | | Functionality for managing dark theme mode | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | 14 | class OpenRGBThemeManager 15 | { 16 | public: 17 | static void Init(); 18 | static void SetDarkTheme(); 19 | static bool IsDarkTheme(); 20 | }; 21 | -------------------------------------------------------------------------------- /qt/OpenRGBYeelightSettingsPage/OpenRGBYeelightSettingsEntry.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | OpenRGBYeelightSettingsEntry.h | 3 | | | 4 | | User interface for Yeelight settings entry | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "nlohmann/json.hpp" 14 | 15 | using json = nlohmann::json; 16 | 17 | namespace Ui 18 | { 19 | class OpenRGBYeelightSettingsEntry; 20 | class OpenRGBYeelightSettingsEntryUi; 21 | } 22 | 23 | class Ui::OpenRGBYeelightSettingsEntry : public QWidget 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit OpenRGBYeelightSettingsEntry(QWidget *parent = nullptr); 29 | ~OpenRGBYeelightSettingsEntry(); 30 | void loadFromSettings(const json& data); 31 | json saveSettings(); 32 | const char* settingsSection(); 33 | 34 | private: 35 | Ui::OpenRGBYeelightSettingsEntryUi *ui; 36 | 37 | private slots: 38 | void changeEvent(QEvent *event); 39 | void on_HostIPChooserButton_clicked(); 40 | }; 41 | -------------------------------------------------------------------------------- /qt/QTooltipedSlider.cpp: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | QTooltipedSlider.cpp | 3 | | | 4 | | Qt widget for OpenRGB tooltiped slider | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #include 11 | #include "QTooltipedSlider.h" 12 | 13 | QTooltipedSlider::QTooltipedSlider(QWidget *parent) : 14 | QSlider(parent) 15 | { 16 | connect(this, &QSlider::sliderMoved,[&](int value) { 17 | QToolTip::showText(QCursor::pos(), QString("%1").arg(value), nullptr); 18 | }); 19 | } 20 | -------------------------------------------------------------------------------- /qt/QTooltipedSlider.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | QTooltipedSlider.h | 3 | | | 4 | | Qt widget for OpenRGB tooltiped slider | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | 14 | class QTooltipedSlider : public QSlider 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | explicit QTooltipedSlider(QWidget *parent = nullptr); 20 | }; 21 | -------------------------------------------------------------------------------- /qt/TabLabel.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | TabLabel.h | 3 | | | 4 | | Qt widget for OpenRGB tab label | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include "ui_TabLabel.h" 14 | 15 | namespace Ui 16 | { 17 | class TabLabel; 18 | } 19 | 20 | class Ui::TabLabel : public QWidget 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | TabLabel(int icon, QString name, char* original, char* context); 26 | ~TabLabel(); 27 | 28 | private: 29 | Ui::TabLabelUi *ui; 30 | char* label; 31 | char* ctxt; 32 | 33 | private slots: 34 | void changeEvent(QEvent *event); 35 | }; 36 | -------------------------------------------------------------------------------- /qt/fonts/OpenRGB.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/qt/fonts/OpenRGB.ttf -------------------------------------------------------------------------------- /qt/macutils.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | macutils.h | 3 | | | 4 | | Utility function for dockless mode in MacOS | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #ifndef MACUTILS_H 11 | #define MACUTILS_H 12 | 13 | class MacUtils 14 | { 15 | public: 16 | static void ToggleApplicationDocklessState(bool showDock); 17 | }; 18 | 19 | #endif // MACUTILS_H 20 | -------------------------------------------------------------------------------- /qt/macutils.mm: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | macutils.mm | 3 | | | 4 | | Utility function for dockless mode in MacOS | 5 | | | 6 | | This file is part of the OpenRGB project | 7 | | SPDX-License-Identifier: GPL-2.0-only | 8 | \*---------------------------------------------------------*/ 9 | 10 | #import 11 | #include "macutils.h" 12 | 13 | void MacUtils::ToggleApplicationDocklessState(bool showDock) 14 | { 15 | ProcessApplicationTransformState transformState = showDock ? ProcessApplicationTransformState(kProcessTransformToForegroundApplication) : ProcessApplicationTransformState(kProcessTransformToUIElementApplication); 16 | ProcessSerialNumber psn = { 0, kCurrentProcess }; 17 | TransformProcessType(&psn, transformState); 18 | } 19 | -------------------------------------------------------------------------------- /qt/org.openrgb.OpenRGB.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Version=1.5 4 | Name=OpenRGB 5 | Comment=Control RGB lighting 6 | Icon=org.openrgb.OpenRGB 7 | StartupWMClass=openrgb 8 | TryExec=openrgb 9 | Exec=openrgb 10 | Terminal=false 11 | Categories=Utility; 12 | -------------------------------------------------------------------------------- /qt/org.openrgb.OpenRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/qt/org.openrgb.OpenRGB.png -------------------------------------------------------------------------------- /qt/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.openrgb.OpenRGB.png 4 | fonts/OpenRGB.ttf 5 | OpenRGBGreyscale.png 6 | 7 | 8 | -------------------------------------------------------------------------------- /scripts/AppImage.patch: -------------------------------------------------------------------------------- 1 | --- a/OpenRGB.pro 2 | +++ b/OpenRGB.pro 3 | @@ -443,8 +443,6 @@ contains(QMAKE_PLATFORM, linux) { 4 | PKGCONFIG += \ 5 | libusb-1.0 6 | 7 | - TARGET = $$lower($$TARGET) 8 | - 9 | HEADERS += $$CONTROLLER_H_LINUX 10 | 11 | HEADERS += \ 12 | --- a/qt/org.openrgb.OpenRGB.desktop 13 | +++ b/qt/org.openrgb.OpenRGB.desktop 14 | @@ -4,7 +4,7 @@ Name=OpenRGB 15 | Comment=Control RGB lighting 16 | Icon=org.openrgb.OpenRGB 17 | StartupWMClass=openrgb 18 | -TryExec=openrgb 19 | -Exec=openrgb 20 | +TryExec=OpenRGB 21 | +Exec=OpenRGB 22 | Terminal=false 23 | Categories=Utility; 24 | -------------------------------------------------------------------------------- /scripts/banner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/scripts/banner.bmp -------------------------------------------------------------------------------- /scripts/build-package-files.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | PROJECT_FILE="OpenRGB.pro" 3 | VERSION_PATTERN="__VERSION__" 4 | INFILE_SUFFIX=".in" 5 | 6 | if [ -z "$1" ]; then 7 | echo "ERROR! No file give to parse." 8 | exit 1 9 | fi 10 | 11 | INFILE_PATH=${1}${INFILE_SUFFIX} 12 | 13 | if [ ! -e ${INFILE_PATH} ]; then 14 | echo "ERROR! Source file ${INFILE_PATH} missing." 15 | exit 1 16 | fi 17 | 18 | if [ -e ${1} ]; then 19 | echo "Warning: File ${1} exists and will be overwritten" 20 | fi 21 | 22 | VERSION_VAR="VERSION_NUM" 23 | QMAKE_EXE="qmake" 24 | 25 | if [[ ${1} == *"debian"* ]]; then 26 | VERSION_VAR="VERSION_DEB" 27 | QMAKE_EXE="qmake" 28 | fi 29 | 30 | if [[ ${1} == *"fedora"* ]]; then 31 | VERSION_VAR="VERSION_RPM" 32 | QMAKE_EXE="qmake-qt5" 33 | fi 34 | 35 | PACKAGE_VERSION=$(${QMAKE_EXE} ${PROJECT_FILE} 2>&1 | grep ${VERSION_VAR} | cut -d ':' -f 3 | tr -d ' ') 36 | echo $PACKAGE_VERSION 37 | 38 | sed -e "s/${VERSION_PATTERN}/${PACKAGE_VERSION}/g" ${INFILE_PATH} > ${1} 39 | -------------------------------------------------------------------------------- /scripts/dialog_background.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CalcProgrammer1/OpenRGB/5b1b9b011a929c6167447603dc572c5d2fd7e819/scripts/dialog_background.bmp -------------------------------------------------------------------------------- /scripts/git-get-branch.ps1: -------------------------------------------------------------------------------- 1 | $HASH = git log --pretty=%h -1 2 | git show-ref | select-string $HASH | select-string -NotMatch HEAD | foreach {$_ -replace '.*/(.*)','$1'} 3 | -------------------------------------------------------------------------------- /scripts/git-get-branch.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | git show-ref | grep $(git log --pretty=%h -1) | sed 's|.*/\(.*\)|\1|' | sort -u | grep -v HEAD 4 | -------------------------------------------------------------------------------- /scripts/openrgb-udev-install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | STEAMOS=0 4 | STEAMOS_READONLY=0 5 | 6 | # Test for SteamOS and disable readonly mode if we're running on it 7 | if command -v steamos-readonly >& /dev/null 8 | then 9 | # Test if SteamOS readonly mode is enabled 10 | if sudo steamos-readonly status | grep 'enabled' 11 | then 12 | echo "steamos readonly mode is true" 13 | STEAMOS_READONLY=1 14 | fi 15 | 16 | STEAMOS=1 17 | sudo steamos-readonly disable 18 | fi 19 | 20 | # Download udev rules file 21 | wget https://openrgb.org/releases/release_0.9/60-openrgb.rules 22 | 23 | # Move udev rules file to udev rules directory 24 | sudo mv 60-openrgb.rules /usr/lib/udev/rules.d 25 | 26 | # Reload the rules 27 | sudo udevadm control --reload-rules 28 | sudo udevadm trigger 29 | 30 | if [ "$STEAMOS" = 1 ] ; then 31 | if [ "$STEAMOS_READONLY" = 1 ] ; then 32 | sudo steamos-readonly enable 33 | fi 34 | fi 35 | -------------------------------------------------------------------------------- /serial_port/find_usb_serial_port.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------*\ 2 | | find_usb_serial_port.h | 3 | | | 4 | | Finds the serial port path(s) of USB serial port devices| 5 | | given the USB VID and PID of the device | 6 | | | 7 | | This file is part of the OpenRGB project | 8 | | SPDX-License-Identifier: GPL-2.0-only | 9 | \*---------------------------------------------------------*/ 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | std::vector find_usb_serial_port(unsigned short vid, unsigned short pid); 22 | --------------------------------------------------------------------------------