Commit Graph

13 Commits

Author SHA1 Message Date
Adam Honse
f488585724 Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-01-17 01:04:20 -06:00
Adam Honse
3f1a5036db 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-17 01:04:02 -06:00
Adam Honse
a3b023d86c 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-11 13:10:40 -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
2967ccb1cb Add a mutex and remove a timeout to reduce flicker on HYTE Q60 logo LEDs 2025-08-12 13:10:36 -05:00
Adam Honse
03d5dd6008 Fix name initialization typo in HYTENexusController 2025-08-12 10:14:00 -05:00
Adam Honse
d5f8e2cac9 Store name in HYTENexusController to avoid setting it in detector 2025-08-11 18:02:26 -05:00
Adam Honse
66c9691c87 Add exception for HYTE NP50 third channel, which needs to send 750 bytes according to documentation 2025-07-25 00:57:00 -05:00
Adam Honse
73d09e7c1c Fix HYTE Nexus Portal NP50 2025-07-25 00:30:37 -05:00
Adam Honse
12a3b1f83e Delete controller when deleting HYTE RGBControllers 2025-07-14 16:45:01 -05:00
Adam Honse
ed014ec73e Implement matrix for HYTE THICC Q60 LCD zone 2025-03-08 18:06:55 -06:00
Adam Honse
3d171c222b Fix HYTE THICC Q60 2024-12-02 19:15:16 -06:00
Adam Honse
80ac9b3f0d Initial commit for HYTE Nexus controller 2024-11-26 21:12:33 +00:00