Commit Graph

3675 Commits

Author SHA1 Message Date
Dmitry K
73cd84f43c [next] Fix memory leak in serial port detection 2026-07-07 17:13:59 -05:00
Adam Honse
e69c9eedae Add display name fields to controller and zone instead of editing the existing name field 2026-07-07 01:35:35 -05:00
Adam Honse
9182d1e566 Add ConfigureDevice and the ability to configure device name 2026-07-07 01:35:35 -05:00
Adam Honse
4f1c623093 Use RGBControllerInterface for plugin API 2026-07-07 01:35:35 -05:00
Adam Honse
831a7cf5eb Implement network request to get list of I2C buses so that the Get Hardware IDs dialog works in local client mode 2026-07-07 01:35:35 -05:00
Adam Honse
fd7dbd618d LogManager cleanup 2026-07-07 01:35:35 -05:00
Adam Honse
103b5f27bb Settings Rework
* Add JSON string configuration field to RGBController to store device-specific configurations
    * This JSON string holds both configuration and schema
    * Add settings schema tracking to SettingsManager
    * Implement dynamic settings widget that generates a settings UI based on a JSON schema
    * Implement SettingsManager callback for notifying of settings changes and settings schema updates
    * Always enable Entire Device zone option and use it to enable Edit Device
    * Rename SaveSizes to SaveConfiguration in ProfileManager and Sizes.json to Configuration.json
    * Add zone flag for indicating that a zone's geometry may change, informing profile manager to ignore this check
    * Remove Theme setting and Theme Manager, as this didn't work on most setups anyways and Qt6 has proper Windows dark theming
2026-07-07 01:35:35 -05:00
Kasslim
ea00807a06 Correct spelling Busses -> Buses
Commits merged by Adam Honse <calcprogrammer1@gmail.com>
2026-07-07 01:35:35 -05:00
诺诺
95b1133395 Add Nollie controller OS2.1 2026-07-07 01:35:35 -05:00
Adam Honse
e9f430d8ed Rework adding segments with ConfigureZone 2026-07-07 01:35:34 -05:00
Adam Honse
a306cf815b Zone and Segment type updates
* Add zone flags to indicate if fields are manually configurable and if they have been manually configured
  * Add flags field to segment type
  * Add segment flags for group start and group member
  * Add color mode support flags to zone (RGB, RBG, GRB, GBR, BRG, BGR)
  * Add color mode enum to zone
  * Update zone and segment description functions to support new fields
  * Rename the effects-only configurable size flag
  * Remove zone type and matrix map configuration from E1.31 manual configuration, use zone editor instead
  * Rework DeviceResizeZone to DeviceConfigureZone
  * Rework most ARGB controllers to allow zone customizations
  * Rework DRGBController to define devices in DRGBDevices list (similar to RazerDevices)
  * Rework NollieController to define devices in NollieDevices list (similar to RazerDevices)
2026-07-07 01:35:34 -05:00
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
248668ea7d Drop support for old hidapi versions that don't support usage information 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
ee6343900b Revert "Nollie 2.1 firmware for Master"
This reverts commit 07e7feca56.
2026-07-07 01:35:33 -05:00
Adam Honse
3818398d86 Handle differences in supported features protocol packet between Keychron QMK and ZMK 2026-07-07 01:34:16 -05:00
Adam Honse
0973f6149b Add Keychron Ultra 8K (ZMK) keyboards to Keychron QMK controller as they implement the same protocol 2026-07-07 01:22:02 -05:00
Adam Honse
1e1fb09821 Fix up mode setup in QMK Keychron controller 2026-07-05 17:20:39 -05:00
Adam Honse
dfe099fe9b Fix warning in LogitechControllerDetect.cpp 2026-07-04 15:10:48 -05:00
Adam Honse
3b6450f188 Fix warnings in MSILaptopController.cpp 2026-07-04 13:42:17 -05:00
Adam Honse
971a2cc300 Fix warnings in QMKKeychronController 2026-07-04 13:41:57 -05:00
Adam Honse
3932a9614c Minor cleanups and warning fixes 2026-06-29 18:08:48 -05:00
Adam Honse
4dde4fffe3 Fix unused variable warning in CorsairCommanderCoreController.cpp 2026-06-29 14:40:29 -05:00
Adam Honse
57d38be688 Fix unused variable warnings in CorsairDRAMController.cpp 2026-06-29 14:39:30 -05:00
Vedant Bhandare
1a6943fe17 Add support for MSI PRO Z890-P WIFI (MS-7E34) 2026-06-28 15:55:58 -05:00
Dante M
cde2343d09 MSI Mystic Light: Add support for MSI PRO B760M-VC WIFI (MS-7D37) 2026-06-28 15:50:09 -05:00
Adam Honse
c746b30287 Add Keychron K-series V2 keyboards from wls_2025q1 branch 2026-06-28 15:45:48 -05:00
Ace
3582b96dd9 Fix Logitech G915 TKL: correct PID mapping and HID packet sizes 2026-06-28 03:21:57 -05:00
Adam Honse
d258065e36 Convert static class variables to defines to fix linker error in debug builds 2026-06-28 01:30:40 -05:00
Adam Honse
7627466891 Get Keychron firmware version 2026-06-28 01:30:32 -05:00
Adam Honse
6fc68f4e62 Add the rest of the Keychron keyboards in the 2025q3 branch 2026-06-27 20:03:50 -05:00
Adam Honse
75bac1fd4e Add all the Keychron K series keyboards from the 2025q3 firmware branch 2026-06-26 10:17:06 -05:00
Richard Harris
94042375a7 Add support for SayoDevice E1 2026-06-25 20:16:18 -05:00
Adam Honse
103306c6c8 Add all the Keychron C series keyboards from the 2025q3 firmware branch 2026-06-25 16:04:22 -05:00
Adam Honse
6d37d262ea Add all the Keychron Q series keyboards from the 2025q3 firmware branch 2026-06-25 12:55:39 -05:00
Adam Honse
473331dd3a Add option to skip reads for most packets as even short reads slow K57 effects 2026-06-25 01:27:22 -05:00
Adam Honse
bc9d03ef48 Use short wait for StartTransaction if CTRL1 is selected, as K57 does not appear to respond and we only use the response for determining if switching to CTRL1 is needed 2026-06-25 01:15:10 -05:00
Sam Van maele
740c88fe0c Corsair V2: Fix K70 RGB PRO crash & add spacebar side lights 2026-06-25 00:42:56 -05:00
D W
684ef09168 Razer BlackWidow v4 Pro: new USB IPU values after upgrading firmware 2026-06-25 00:41:36 -05:00
Adam Honse
e3b08fc15d Move Corsair K57 (Wired) to CorsairPeripheralV2Controller as it uses the same protocol 2026-06-25 00:35:01 -05:00
Adam Honse
5c931a61b4 Add support for Keychron K10 V2 in QMKKeychronController 2026-06-24 23:33:23 -05:00
Wolfieee Wolf
ad7534d00d fix(razer): apply Tartarus V2 keypad LED layout in OpenRGB 2026-06-24 22:01:20 -05:00
Richard Harris
c81f8699f1 Add support for Govee H6022 Smart Table Lamp 2 2026-06-24 21:52:47 -05:00
Adam Honse
c5abe47859 Create a common type for storing QMK LED info and use it in both VialRGB and Keychron controllers 2026-06-24 11:55:26 -05:00
Nikhil Jeikar P M
8fdd0e40f8 Adding support for MSI PRO X870E-S EVO WIFI 2026-06-24 16:14:26 +05:30
HorrorTroll
a6a07ba0d7 Added support for Colorful iGame GeForce RTX 5060 Ultra W OC when using OC mode 2026-06-23 23:50:18 -05:00
Ken Sanislo
614fef4189 G515 LS TKL and G502 X PLUS support, via Logitech HID++ 2.0 controller with feature discovery 2026-06-23 19:33:18 -05:00