Commit Graph

9 Commits

Author SHA1 Message Date
Adam Honse
c4dd171397 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-02-02 17:10:37 -06:00
Adam Honse
7a5783559b Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-01-31 22:05:38 -06:00
Adam Honse
ca72e084eb Split out detection system from ResourceManager into DetectionManager
* Split detection system out into its own class, DetectionManager
    * Clean up ResourceManger's many callbacks into just two, one for detection and one general purpose
2026-01-31 22:05:38 -06:00
Adam Honse
403ea4e6a6 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-01-31 22:05:38 -06:00
Daniel Lamphere
9fd352efc4 Prevent division by zero crash in QMK OpenRGB controllers 2026-01-04 12:51:34 -06:00
Adam Honse
c509698b54 Fix a bunch of warnings 2025-12-15 19:21:15 -06:00
Egor Vorontsov
7886dc4c14 Added VialRGB dynamic detector. 2025-11-24 20:37:08 -06:00
Adam Honse
63936126f3 Perform VialRGB version and flag checks before registering QMK VialRGB controllers 2025-10-09 11:28:10 -05:00
Adam Honse
6aa8eb6101 Clean up OpenRGB and VialRGB QMK controllers into a common folder and move keymap definitions to QMK common files 2025-10-07 17:07:28 -05:00