Adam Honse (4222c3e0) at 19 Mar 05:00
Zone and Segment type updates
Adam Honse (305fb871) at 19 Mar 02:11
Zone and Segment type updates
Adam Honse (ee675c31) at 19 Mar 01:45
Zone and Segment type updates
Adam Honse (c1e550d0) at 18 Mar 23:43
Zone and Segment type updates
Adam Honse (01a80776) at 17 Mar 16:38
Zone and Segment type updates
Adam Honse (a8a97fa3) at 17 Mar 12:50
Legion 5 gen10
Initial commit for Lenovo Legion 5 Gen 10 (15AHP15 2025)
Closes #4927
LenovoDevices.h
#define LEGION_5GEN10 0xC195
LenovoUSBControllerDetect.cpp
VID 0x048D, PID 0xC195) with DetectLenovoLegionUSBControllersGen7And8 using LENOVO_PAGE (0xFF89) and LENOVO_USAGE (0x07)LenovoUSBController_Gen7_8.cpp
SetGen10PayloadLength, setLedsByGroup, setLedsDirect) to include LEGION_5GEN10, consistent with LEGION_7GEN10 handlingRGBController_Lenovo_Gen7_8.cpp
Keyboard only — this device has no Neon, Logo, or Vents zonesRipple, Audio Bounce Lighting, Audio Ripple Lighting, Direct
master is protected by default when creating a fork, so it is recommended to not use it as your source).New Device issue raised for this device is linked to this MR with a keyword Closes / Resolves / Implements
New Device issue to provide ongoing support.RGBController_* filePlease rebase and I will merge.
Adam Honse (f38b61b9) at 17 Mar 05:04
Zone and Segment type updates
Adam Honse (6e39c9b3) at 16 Mar 16:49
Zone and Segment type updates
Adam Honse (da6061bb) at 16 Mar 15:29
Add X570 AORUS XTREME zone mapping for IT8297BX
Add board-specific layout for the X570 AORUS XTREME with correct register-to-zone assignments determined by empirical testing with liquidctl:
LED3 (0x22) -> Back I/O LED4 (0x23) -> PCIe LED7 (0x26) -> CPU Header
Previously this board fell through to the generic catch-all layout which mapped Back I/O to LED1 and CPU Header to LED2, resulting in only the PCIe zone (LED4) responding to color changes.
Resolves part of Issue #475.
Adam Honse (3b6e1e0e) at 16 Mar 05:04
Zone and Segment type updates
Adam Honse (82c216e6) at 16 Mar 03:22
[WIP] Rework DeviceResizeZone into DeviceConfigureZone to allow for...
Direct mode is the most important mode as it is used for software based effects like the effects plugin, so if the device is capable of direct mode we absolutely want to support it. If it does not have a method to set individual key LEDs (assuming it is a per key RGB keyboard) or does not have a method to set the keyboard zone(s) to a static color without saving to device, then it does not have a suitable mode for direct mode and we can remove it, but I think it's unlikely that one device out of their entire lineup lacks software effects capability when all the others have it.
Is Direct mode not supported on the keyboard only devices?
Adam Honse (7b926c52) at 13 Mar 05:08
[WIP] Rework DeviceResizeZone into DeviceConfigureZone to allow for...
On all of your #defined constants, prefix them with the controller in question like "REALTEK_BRIDGE_LED_EFFECT_SPECTRUM", this makes it less likely for a conflict if the same generic names were used by multiple controllers' header files that happen to be included in the same place.
"this->wrapper" should be renamed "controller", the function argument should be "controller_ptr". See examples in other RGBController classes.
See StringUtils.h for common string conversion functions. Add a new function there if additional functionality is needed. I don't like having generic helper functions scattered throughout the code that aren't directly related to controlling the device in question.