3979 Commits
Author SHA1 Message Date
vimozyoko da927bbf0e ASRock GPU: Fix Direct mode white flashing and add hardware effect modes
- Use mode 0xE1 (Direct) instead of 0x01 (Static) for streaming updates
  to prevent WS2812 interrupt timing glitches and white flashes
- Add hardware effect modes: Static, Breathing, Strobe, Spectrum Cycle,
  Random, Wave, Spring, Stack, Scan, Rainbow, and Off
- Add SaveConfig (command 0x12) to commit configuration to flash
  when requested via DeviceSaveMode
2026-10-26 11:47:26 -05:00
Adam Honse 21867810dd Re-add Palit GPUs missed in the PNY/Palit controller rework 2026-10-26 11:22:56 -05:00
wlof 1f90c15b77 AsusAuraUSB: fix addressable header effect channels on AULA3-AR32 mainboards 2026-10-26 11:13:03 -05:00
Florian 84d872e8ce RoyuanKeyboardController: full main backlight support for Akko PC75B Plus (3151:4003) 2026-10-25 18:46:09 -05:00
Ken Sanislo 4956e43e99 Logitech HID++ 2.0: pace 0x8080 key writes by their ACKs 2026-10-25 18:21:44 -05:00
Andrey Eliseev f7e5cae93a Fix led_id for Razer Viper and Razer Viper Mini 2026-10-25 16:30:14 -05:00
wlof 7f0654436a HID LampArray: add Headset, Microphone and Speaker kinds and name unbound lamps 2026-10-25 16:09:59 -05:00
JAO1988 a54f2923ac Added MSI Z890 GAMING PLUS WIFI6E 2026-10-25 16:09:38 -05:00
Timo Brunner 75ca9dc0ea Add support for Gainward GeForce RTX 5070 Ti Phoenix-S and correct ID line order in pci_ids/pci_ids.h 2026-10-25 16:08:24 -05:00
Adam Honse f1e54cf74b Split out AsusLegacyUSBController detector 2026-10-25 16:07:28 -05:00
Adam Honse 3484289f7a Reorganize AsusAuraUSBController folder, split up detector file 2026-10-25 15:34:37 -05:00
Timo Brunner e357589fbe Add support for Gainward GeForce RTX 5070 Ti Phoenix 2026-10-24 21:54:06 -05:00
Adam Honse c43424b4ba Rename AsusAuraTUFKeyboardController to AsusAuraKeyboardController after merging the remaining devices from the old AsusAuraKeyboardController into it 2026-10-23 22:47:20 -05:00
Adam Honse db0a315326 Migrate remaining keyboards in AsusAuraKeyboardController to AsusAuraTUFKeyboardController 2026-10-23 00:04:26 -05:00
Daniel Clark bbc77470a7 Update Onboard RGB zone counts for latest firmwares. 2026-10-21 22:08:00 -05:00
Jochem Kuipers 763e325f9b Add ASRock Radeon RX 7900 XT Phantom Gaming 20GB OC detection 2026-10-20 16:51:54 -05:00
Adam Honse 0a4763734f Add LED ID to razer device type to eliminate a large switch/case statement in RazerController 2026-10-20 15:38:29 -05:00
Adam Honse 72262b8386 Razer Basilisk V4 Pro 2026-10-20 11:33:59 -05:00
Rainer Haake 7182807a28 Add TUXEDO Stellaris 16 Gen7 AMD keyboard layout (STELLARIS16A07) 2026-10-19 13:03:41 -05:00
tzhou 1ef4796842 Fixed missing del, right arrow, and down arrow keys
Signed-off-by: tzhou <tzhou@noreply.codeberg.org>
2026-10-19 11:45:03 -05:00
xoxo e6a96c65b1 Clevo ITE8291: add LED Map setting for keyboards with a different LED wiring 2026-10-18 14:59:28 -05:00
Francis De Brabandere 869afcb9ad Add support for Framework Desktop ARGB header 2026-10-18 14:23:38 -05:00
Anatoly 2be1521a9c Add support for MSI Clutch GM11 2026-10-18 14:21:11 -05:00
John Scripter d4798c1206 Added support for Asus ROG Strix Scope NX TKL Moonlight White keyboard 2026-10-18 04:07:00 +00:00
Adam Honse e2bae772a9 Convert SkydimoSerialController to use USB Serial detector 2026-10-17 15:16:50 -05:00
Adam Honse d0d2bfb553 Convert NZXTHuePlusController to use USB Serial detector 2026-10-17 15:16:50 -05:00
Adam Honse c907bfdc20 Convert BlinkyTapeController to use USB Serial detector 2026-10-17 15:16:50 -05:00
Adam Honse 68f2357def Convert HYTEMousematController to use USB Serial detector 2026-10-17 15:16:50 -05:00
Adam Honse 03a47eed54 Convert HYTENexusController to use USB Serial detector 2026-10-17 15:16:50 -05:00
XZH 3df6daa3e2 Add support for Colorful iGame GeForce RTX 5060 Ultra W DUO OC 2026-10-17 15:13:58 -05:00
JAO1988 2544151f15 Add support for MSI GeForce RTX 3070 Gaming Trio Plus 2026-10-16 15:57:58 -05:00
Petru Mare 96e198adea Fix Sinowealth mouse config corruption on mode changes 2026-10-16 12:54:13 -05:00
Petru Mare 70de7051b4 Fix double hid_close in SinowealthController destructor 2026-10-16 12:51:38 -05:00
Daniel Clark 3926dca676 Fix Cooler Master ARGB Gen2 A1 V2 controller support 2026-10-16 12:24:10 -05:00
Gajjar Pratham Jayesh e752d91efe Add wired Kreo Swarm keyboard support 2026-10-16 11:47:36 -05:00
Pratham Personal 7d5fecf55f Fix Sinowealth 010C identity query buffer length 2026-10-16 13:34:11 +00:00
Adam Honse 46bfeb026f Fix remaining uses of GetActiveMode within device controllers except for odd case in Philips Hue Entertainment controller 2026-10-15 11:06:38 -05:00
Adam Honse 9d64a8f5db Replace GetActiveMode with raw active_mode inside RGBController_ENESMBus.cpp to avoid deadlock 2026-10-15 07:54:30 -05:00
Julien Tanay 504b881f00 refactor(roccat): use switch/case for the Vulcan II Mini direct mode check
Rework IsBigEndianDirectMode() into a switch/case with the default case keeping the existing firmware version behavior, so future device-specific additions do not turn into chains of if blocks.

Also trim logging per review feedback: keep info for device init plus warnings and errors for faults, drop the info logs from the direct mode enable and mode switch paths, and tag every entry with the ROCCATVULCANKEYBOARD constant.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Julien Tanay e498c9679d style(roccat): remove redundant comments in Vulcan II Mini driver
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Julien Tanay 24a0eceb35 feat(roccat): add info, warning and error logging to Vulcan keyboard controller
Log firmware version and layout at init, mode changes and direct mode
switches at info level. Log failed HID report writes as errors and a
device that does not report ready as a warning.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Julien Tanay c7264709e6 fix(roccat): initialize WaitUntilReady buffer to fix macOS crash on Vulcan detection
WaitUntilReady() read buf[1] before the first hid_get_feature_report
filled it. Indeterminate read is UB; Apple clang -O2 collapses the
whole function to a trap, crashing the app during device detection
on macOS. memset the buffer after allocation, matching the style of
SendMode/SendColors/InitDeviceInfo.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Julien Tanay fd8014781a fix(roccat): correct Vulcan II Mini LED mapping and static mode commit
The Vulcan II Mini report uses 107 color slots of which only 69 are
wired to LEDs. Map the 69 compacted LED indices from the layout
tables onto the wired report slots in both the static 0x11 report
and the direct 0xA1 color frames, so per-key colors land on the
correct physical keys.

Replace the placeholder Mini layout matrices and LED names with the
tables derived from a hardware slot sweep of a physical FR AZERTY
board (firmware 1.29): 69 LEDs on a 5x15 matrix, UK ISO and US ANSI
name tables.

Set the Mini static report marker byte to 0xFB and always use a
little-endian length field in the Mini direct color frame, matching
USB captures.

Send the capture-exact 123-byte 0x13 keepalive report three times
after a static 0x11 report; the board only commits static colors
while the keepalive is being sent.

Verified on hardware: static mode colors the full board and a
left-to-right gradient lands on the correct keys. Direct color
frames are byte-exact against captures and covered by unit tests
(1285 checks) reconstructing the reports with a mock hidapi.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Julien Tanay 369245891f feat(roccat): add support for Vulcan II Mini keyboard
Add the ROCCAT Vulcan II Mini (USB 1e7d:2f09) to the unified
RoccatVulcanKeyboardController driver:

- Detector: register PID 0x2F09 with control interface 1
  (usage page 0xFF01) and LED interface 3 (usage page 0xFF00),
  same as the Vulcan II family.
- Controller: v2 protocol parameters (init report 0x09, direct
  enable 0x0E), colour frame of 345 bytes streamed as six 64-byte
  packets (0xA1 prefix, RGB per LED), mode packet of 332 bytes with
  the Mini-specific 0x02/0x0B header bytes.
- Layouts: US (68 LEDs) and UK (69 LEDs) 5x16 matrix maps with
  per-key LED ids, covering the 60% block plus the nav cluster and
  arrow keys.

Protocol constants and the LED index map are ported from Mola19's
unmerged branch (OpenRGB issue #3193) and are pending verification
against the USB captures and the physical device.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-14 07:42:05 -05:00
Venatrix “Joe” Ritz bab1c134a3 TurtleBeachKP7Controller: fix unsynchronized hid_write causing heap corruption 2026-10-13 20:07:24 -05:00
Pablo Costa Oubiña 54f82e7004 MSI GPU v2: add RTX 50 series effect modes 2026-10-13 11:45:53 -05:00
as9220 eb86697032 Add support for Corsair Scimitar Elite RGB (1B1C:1BE3) 2026-10-12 19:33:38 -05:00
Venatrix “Joe” Ritz feab05b6e2 Govee: send LAN scan to the subnet broadcast address instead of multicast 2026-10-12 00:13:22 -05:00
Andrei 3f2f28015d RazerController: support mice connected through the Mouse Dock Pro 2026-10-11 19:36:33 -05:00
Sergei Baranov efea04dd06 Add read timeouts to all Corsair Lighting Node and Hydro Platinum commands to prevent lockup 2026-10-11 19:28:59 -05:00