Commit Graph
15 Commits
Author SHA1 Message Date
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
homelab black d4e1ed5245 Controllers: RoccatVulcan: Add Japanese (JIS) layout support for Vulcan II Max 2026-07-10 00:14:02 -05:00
Adam Honse 3a74c85be8 Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues 2026-07-07 01:35:34 -05:00
Adam Honse 25a753b97a RGBController API Overhaul
* Reorganize and clean up RGBController API functions
    * Add functions to get protected RGBController member values
    * Make NetworkClient, ProfileManager, and ResourceManager friend classes so they can access protected members
    * Protected previously-public RGBController members
        * Information strings (name, vendor, description, version, serial location)
        * Device type
        * Active mode
        * Flags
        * LEDs vector
        * LED alternate names vector
        * Modes vector
        * Colors vector
        * Zones vector
    * Add CONTROLLER_FLAG_HIDDEN to allow plugins to hide controllers from control GUI
    * Add update reason codes to RGBController update callback and signal updates on more RGBController events
    * Add loop zone types and segmented zone type
    * Add matrix map field to segments
    * Rework matrix_map_type from using pointers to vector to prevent memory leaks
    * Rework KeyboardLayoutManager to return new matrix_map_type
    * Add access mutex to RGBController API
    * Add per-zone modes ot RGBController API
    * Add JSON description functions to RGBController API
2026-07-07 01:35:34 -05:00
rjc862003 d2af6289dd Roccat vulcan ii max support 2026-04-09 13:28:33 -05:00
Sascha Hannes 9efdd13e58 Add Roccat Vulcan TKL Pro 2026-01-04 18:42:48 -06:00
Matthias Bielak d0d9f04751 Add support for Turtle Beach Vulcan II TKL Pro 2025-12-10 13:58:05 -06:00
Adam Honse c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse 079e344c5a Store name in RoccatControllers to avoid setting it in detectors 2025-08-16 02:07:11 -05:00
morg 43021f9a15 Add support for Turtle Beach - Vulcan TKL. Closes #4419 2024-11-13 16:25:57 +00:00
Lobo Tommy 986b21e02b Adding Turtle Beach Vulcan II support 2024-11-07 14:45:14 +00:00
Julien "_FrnchFrgg_" Rivaud bdfd2a3290 Add support for Turtle Beach (ex ROCCAT) Vulkan II 2024-10-20 19:57:22 +00:00
Adam Honse d37068b65d Fix signedness comparison warning in RGBController_RoccatVulcanKeyboard.cpp 2024-07-07 18:32:04 -05:00
Adam Honse 90744b58dd Update Roccat Vulcan keyboard controller files to new standardized header comment 2024-06-17 21:22:23 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00