Commit Graph
49 Commits
Author SHA1 Message Date
Adam Honse 70f79e97b4 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-05-07 17:24:45 -05:00
Adam Honse 5133887632 Add optional HID device hotplug support (requires https://gitlab.com/OpenRGBDevelopers/hidapi-hotplug) 2026-05-07 17:24:45 -05:00
Adam Honse 52f0049025 Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-05-07 17:24:45 -05:00
Adam Honse ad364871c6 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-05-07 17:24:45 -05:00
Adam Honse b0c7dba441 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-05-07 17:24:44 -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 ca554d9ef6 Store name in HyperXMouseControllers to avoid setting it in detectors 2025-08-10 21:26:58 -05:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
James Buren 66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +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 b43f31ebfb Update HyperX mouse controller files to new standardized header comment 2024-05-24 13:57:28 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
rc_05 f39409b7aa Added support for HyperX Pulsefire Core (HP Inc. version) 2024-04-29 21:37:14 +00:00
Adam Honse 5532e2e290 Remove duplicate 2024-03-17 17:19:48 -05:00
ArthurGamerHD 1150e04983 Initial commit for HP's HyperX Pulsefire Surge 2024-03-17 22:06:29 +00:00
Shane Fagan 4f30868a3b Fixes Pulsefire Haste not being detected on Linux 2023-06-22 00:20:11 +00:00
morg 89ef2b1a8b Add HyperX Pulsfire Haste new variant 2023-04-30 18:20:24 +00:00
AnAvrgDev 9e9a583009 Added support for newer version (HP version) of Hyperx Pulsefire Dart (Wired & Wireless) 2023-01-27 14:26:56 +01:00
Chris M 204ad90ec7 Minor spelling correction to HyperX meta data
* Correcting the metadata names for the HyperX Pulsefire Dart and Raid.
2022-10-20 16:38:50 +00:00
Adam Honse 35e049a8bb Remove SetCustomMode from all controllers beginning with the letter H 2022-08-14 01:55:19 -05:00
morg e8e24ac243 Add support for HyperX Pulsefire Raid mouse. Closes #1745 2022-06-02 18:03:43 +00: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 6b9f7129b3 Add HyperX Pulsefire Core (same protocol as HyperX Pulsefire FPS Pro) 2021-08-27 10:44:45 -05:00
Adam Honse ab9a7674bd Initial HyperX Pulsefire Haste support 2021-08-19 19:20:12 -05: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
Santeri Pikarinen e7e311d931 HyperX Pulsefire Dart: Various fixes, feature additions and clean up
* Fixed payload missing the Report ID (caused issues with Windows, issue #1069)
* Fixed an invalid usage page value for wired mode
* Fixed a potential memory leak when rescanning devices (issue #1007)
* Fixed an issue where multiple color changes were sent too fast
* Renamed "Trigger Fade" mode to the [standardized mode name](https://gitlab.com/CalcProgrammer1/OpenRGB/-/wikis/Common-Modes#common-openrgb-modes) "Reactive"
* Added proper brightness control
* Added manual saving functionality
* Cleaned up some indentations
2021-08-02 01:15:07 +00: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
santeri3700 f7a68e6fe2 Add support for HyperX Pulsefire Dart
Commit amended to address review comments by Adam Honse <calcprogrammer1@gmail.com>
2021-02-06 14:05:40 -06:00
morg dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
Adam Honse 6c3baf477c Add controller for HyperX Pulsefire FPS Pro mouse (new NGenuity firmware) 2020-12-26 03:05:46 -06: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
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 43cea0a1b2 Use HID path for Location on HyperX Mouse controller 2020-10-04 18:14:54 -05:00
Adam Honse f3ccaf1a2b Move RGBController files for device controllers into the Controllers directory 2020-09-29 20:54:04 +00:00
Adam Honse 0345eb582b More warning fixes 2020-09-02 19:03:43 -05:00
Adam Honse c58d458062 Remove non-direct modes 2020-08-23 15:18:08 -05:00
Adam Honse d96fd19c6c Clean up profile setup packets 2020-08-23 15:16:09 -05:00
Adam Honse 9f91170240 Initial implementation of Pulsefire Surge direct mode (requires new firmware?) 2020-08-23 15:16:09 -05:00
Adam Honse f716a05947 Add detector names and display them in the progress bar 2020-08-07 14:01:59 -05:00
pobrn ddc69778dc Modular detection system with resource manager.
Includes pull request !87 with modifications by Adam Honse (calcprogrammer1@gmail.com).
2020-08-05 00:23:34 -05:00
Adam Honse f288f63087 Update default DPI and add some modes to Pulsefire Surge controller 2020-08-02 22:38:42 -05:00
Adam Honse 00cc6978a2 Initial HyperX Pulsefire Surge controller 2020-07-28 20:37:12 -05:00
Adam Honse fd7a5fc057 Add empty files/classes for HyperX Pulsefire Surge 2020-07-25 17:36:24 -05:00