Commit Graph
28 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 39f112bb98 Add optional HID device hotplug support (requires https://gitlab.com/OpenRGBDevelopers/hidapi-hotplug) 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 0269cdd068 Store name in HyperXMousematControllers to avoid setting it in detector 2025-08-11 17:24:00 -05:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Adam Honse b4d15b9545 Move wstring to string conversion to StringUtils.cpp and update most HID get serial number functions to use it 2024-07-28 17:42:01 -05:00
Adam Honse 056485fabf Update HyperX mousemat controller files to new standardized header comment 2024-05-24 13:57:38 -05:00
morg 167acdf769 Add HyperX Pulsefire Mat RGB Mouse Pad XL support 2023-04-24 08:56:06 +02:00
Adam Honse 4c67d849b4 Use hidapi wrapper for HyperX mousemat controller 2023-01-28 11:46:31 -06:00
morg aafac9862a Add HyperX Pulsfire mousemat support 2022-10-01 19:25:57 +00:00
Adam Honse 35e049a8bb Remove SetCustomMode from all controllers beginning with the letter H 2022-08-14 01:55:19 -05:00
Chris 524675108d Automatic generation of markdown pages for supported devices
+ Added build-supported-devices.sh script
+ Added new target in CI/CD to build at compile time
2022-05-30 13:30:44 +10:00
Chris bc10e3f772 Automatic generation of udev rules for supported devices
+ Added build-udev-rules.sh script
+ Added new custom target in Linux section of .pro to accommodate new rules location
2022-04-17 12:31:02 +10:00
Adam Honse f1ed2abe53 Code cleanup round 6 2022-01-19 23:08:29 -06:00
Adam Honse d13d54fcfd Fix access conflicts in HyperX controllers where keepalive thread was directly accessing hardware 2021-08-02 12:41:24 -05:00
mike 22acdd1fed Check return code from hid_get_serial_number_string() in GetSerialString()
Amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-06-04 22:14:05 -05:00
morg dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
Adam Honse d19baf1365 Fill in serial field for all HID controllers using hidapi 2020-12-03 00:01:42 -06:00
Adam Honse ca3c2ad541 Add HID: prefix to all HID detector locations 2020-12-02 12:18:56 -06:00
Adam Honse 09a9a5c257 Add vendor string to RGBController API and update all controllers with vendor information, add vendor to device information page 2020-12-01 19:24:52 -06:00
Adam Honse 23ed6955bf Update zones for HyperX Fury Ultra mousemat 2020-11-26 04:05:19 -06:00
k1-801 dc2b41a0e2 Massive HID detectors update
Commit amended to undo change to device list management, still working through that merge request.  Want to work this one in first.  Changes by Adam Honse <calcprogrammer1@gmail.com>
2020-11-25 02:17:18 -06:00
Adam Honse bcd49298cd Call DeviceUpdateLEDs rather than UpdateLEDs for HyperX keepalive threads 2020-11-23 02:59:05 -06:00
k1-801 dde857dfb4 Tiny threads fixes & a little bit of safety 2020-11-15 13:28:29 -06:00
Adam Honse 7dfbdade39 Initial support for HyperX Fury Ultra mousemat (Direct mode only) 2020-10-26 12:51:59 -05:00