Commit Graph

5 Commits

Author SHA1 Message Date
Adam Honse
c4fb51ae8d 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-04-15 00:50:11 -05:00
Frans Meulenbroeks
3150f64895 Mountain Everest 60: fix led index 2026-04-08 09:33:56 -05:00
Adam Honse
c76864dd4b Warning fixes and cleanups 2026-03-03 11:05:11 -06:00
Adam Honse
f948d6e1d3 Clean up some stuff in the Mountain keyboard controllers that violated conventions
* Mountain60KeyboardController's detector was setting the name member directly, this is an outdated convention that breaks the RGBController rework, moved to a Controller member
    * Mountain60KeyboardController had some sort of HID redetect logic, this should not be part of the Controller, this will be handled in the future by HID hotplugging
    * Both MountainKeyboardControllers defined static variables to keep track of current mode, moved these to class members so that they won't conflict if two instances exist
    * Don't send any device updates as part of SetupZones
2026-01-11 03:41:52 -06:00
Soufian Batta
0b45eac52c Add Support on Mountain Everest 60 Device /3 2026-01-10 15:20:38 -06:00