24 Commits
Author SHA1 Message Date
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 fe4ca34528 Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-07-07 01:35:34 -05:00
Adam Honse 30e35eb44c 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-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
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 b8628bb495 Store name in BloodyB820RController to avoid setting it in detector 2025-08-01 11:37:40 -05:00
Adam Honse 9c26f79ca6 Store name in BloodyMouseController to avoid setting it in detector 2025-08-01 11:35:38 -05:00
Chris M 3117dd0885 Added Bloody W90 Pro Mouse
* Added new PID and usage to A4Tech_Detector
* Added PID to layout switch in RGBController_BloodyMouse
* Resolves #4466
2025-01-09 02:27:33 +00:00
RedBlackAka 914cf1b3ff Clean up names of several devices 2024-12-27 07:41:33 +00:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Chris M c23bbbd32a Added Bloody W70 Max Mouse
* Added new PID and usage to A4Tech_Detector
* Added PID to layout switch in RGBController_BloodyMouse
* Resolves #4296
2024-08-29 09:51:29 +10:00
James Buren 66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
Adam Honse f825e476b9 Fix wstring to string conversion warnings in BloodyMouseController.cpp 2024-07-30 00:25:57 -05:00
Adam Honse b12c27c21e Fix wstring to string conversion warnings in BloodyB820RController.cpp 2024-07-30 00:23:15 -05:00
Chris M aa4483183c Removed *.md file creation from Supported Devices
* Added Dummy Controller processing
* Other fixes to broken detector replacements
* Removed file exemptions in runner script
2024-05-31 16:22:34 +00:00
Adam Honse f38b7485f7 Start updating file header comments to standardized new format 2024-05-03 00:05:12 -05:00
Adam Honse b6d5c64c5b Formatting and organizational cleanup for controllers beginning with A 2024-04-30 23:45:41 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
Adam Honse 06ca1448d1 Fix more warnings 2024-04-28 16:15:09 -05:00
Mohammed Julfikar Ali Mahbub 7d3c02c0c5 Added support for A4Tech B820R Keyboard 2024-04-06 19:19:47 +00:00
morg c8c5f77595 Add support for Bloody W90 MAX. Closes #3500 2023-10-18 22:43:17 +00:00
Adam Honse eab96d1b36 Remove SetCustomMode from all controllers beginning with the letter A 2022-08-09 22:58:40 -05:00
Chris M da6e790ee6 Initial commit for the Bloody MP 50RS to resolve #2579 2022-07-08 20:29:58 +00:00
Chris 2414b41b94 Initial commit for the Bloody W60 Pro to resolve #2560
+ Adding BloodyMouseController
+ Adding RGBController_BloodyMouse
+ Adding A4Tech_Detector to register Bloody W60 detector
2022-07-04 01:56:32 +10:00