Commit Graph

5073 Commits

Author SHA1 Message Date
Adam Honse
4d4cb534cd [WIP] Add optional HID device hotplug support (requires hidapi hotplug support) 2026-01-18 18:16:25 -06:00
Adam Honse
bd68d8801b SDK v6: Use unique IDs for identifying RGBControllers in SDK protocol 2026-01-18 15:42:10 -06:00
Adam Honse
9ea308e432 Rework list handling in ResourceManager by having NetworkClient own its own list rather than sharing ResourceManager's list 2026-01-17 01:04:27 -06:00
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
66ce594e76 Detection progress SDK integration, NetworkClient callback rework 2026-01-17 01:04:13 -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
20ae2f397a SDK Version 6 Updates
* SDK Protocol
    * Server sends its name to client
    * ProfileManager
      * Rename existing profile commands
      * Add Upload Profile, Download Profile, and Get Active Profile commands
    * SettingsManager
      * Add Get, Set, and Save Settings commands
    * Add zone::active_mode, zone::mode fields for zone-specific modes
    * Add NET_PACKET_ID_RGBCONTROLLER_UPDATEZONEMODE packet for updating zone modes
    * Add segment::matrix_map to segment packet
    * Add NET_PACKET_ID_RGBCONTROLLER_SIGNALUPDATE packet for passing SignalUpdate signal from server to clients
  * NetworkServer
    * Formatting cleanup
    * Use per-controller threads for handling NetworkServer controller-specific packets to avoid delays from controller mutexes
  * NetworkClient
    * Formatting cleanup
  * RGBController
    * Clean up and modularize descriptor functions
2026-01-17 01:01:10 -06:00
Adam Honse
87bc125696 Rework Profiles to use JSON format
* Update OpenRGB Plugin Interface to include functions for loading/saving profile JSON data into OpenRGB profiles
    * Update ProfileManager to handle auto-load profiles (Exit, Open, Resume, Suspend) and move their settings to ProfileManager section
    * Update ProfileManager to store profiles in "profiles" folder in .json format
    * Update ProfileManager to store size profile in sizes.json
    * Update ProfileManager to perform device UpdateMode/UpdateColors when loading profile
    * Code cleanup of ProfileManager and profile-related code
2026-01-11 13:10:55 -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
26d1a8bf2a Move plugin SDK integration from callback into plugin API and PluginManager 2026-01-11 12:55:00 -06:00
Adam Honse
a7395d9eeb Update Plugin API to 5 and SDK Protocol to 6 2026-01-11 12:55:00 -06:00
Adam Honse
7569526297 Update default builds to Qt6
* Update Debian packages to use Qt6
  * Update Fedora packages to use Qt6
  * Update default AppImage builds to use Qt6
  * Update default Windows builds to use Qt6
  * Update default MacOS builds to use Qt6
2026-01-11 12:55:00 -06:00
Adam Honse
f948d6e1d3 Clean up some stuff in the Mountain keyboard controllers that violated conventions
* Mountain60KeyboardController's detector was setting the name member directly, this is an outdated convention that breaks the RGBController rework, moved to a Controller member
    * Mountain60KeyboardController had some sort of HID redetect logic, this should not be part of the Controller, this will be handled in the future by HID hotplugging
    * Both MountainKeyboardControllers defined static variables to keep track of current mode, moved these to class members so that they won't conflict if two instances exist
    * Don't send any device updates as part of SetupZones
2026-01-11 03:41:52 -06:00
Adam Honse
416898b97b Remove QMessageLogger debugging stuff left in Mountain keyboard controller 2026-01-11 02:22:13 -06:00
Adam Honse
ec2290ae47 Drop Ubuntu 22.04 test as it has started failing 2026-01-11 02:02:49 -06:00
Adam Honse
02e0504227 Fix controls on OpenRGBClientInfoPage list not working on Qt6 2026-01-11 00:37:43 -06:00
Soufian Batta
0b45eac52c Add Support on Mountain Everest 60 Device /3 2026-01-10 15:20:38 -06:00
Francesco
15a3deadbe Added MSI B850M GAMING PLUS WIFI (MS-7E66) 2026-01-10 15:19:03 -06:00
Kasslim
c1db812b67 Linux SPD accessors out-of-bounds check 2026-01-10 00:48:01 -06:00
Matthew Everitt
ccee553257 Fix swapped PCI device IDs for Palit 5070Ti / 5080 2026-01-10 00:27:27 -06:00
Serhat Öktem
69ccd56fef Turkish language file 2026-01-09 23:53:34 -06:00
filipesn
c13f031119 Fix support for SteelSeries Apex Pro TKL 2023 2026-01-09 23:51:32 -06:00
Matthew Everitt
5a484a0ef3 Enable support for MSI PRO B850-P WIFI (MS-7E56) motherboard 2026-01-09 21:55:45 +00:00
Skydust
95648b20b9 Fix wrong @detectors for Corsair Commander Core for udev rules generation 2026-01-08 20:06:02 +01:00
Alexender Yatsenko
72dc73cf88 Add support for Gigabyte Radeon RX 6700 XT GAMING OC 12G (1458:232D) 2026-01-06 15:23:02 -06:00
Richard Harris
5cfd064da1 Robobloq Monitor Light Strip support 2026-01-06 08:18:42 -06:00
Husky2490
de3482c791 Fixed direct mode on ASRock Polychrome USB devices 2026-01-06 00:45:31 -06:00
Adam Honse
d09c66900d Set TCP_QUICKACK on Linux to improve responsiveness when using client/service configuration 2026-01-06 00:23:52 -06:00
Ektor Angelopoulos
2a1b7a9e2e Fixed MSI B450 Tomahawk Max not being detected 2026-01-05 12:03:50 -06:00
Sascha Hannes
9efdd13e58 Add Roccat Vulcan TKL Pro 2026-01-04 18:42:48 -06:00
Evan Debenham
0ef5103012 Add Gigabyte RTX 4070Ti Eagle 2026-01-04 17:13:27 -06:00
Daniel Lamphere
9fd352efc4 Prevent division by zero crash in QMK OpenRGB controllers 2026-01-04 12:51:34 -06:00
Daniel Lamphere
d5db3d6428 Fix G703 Hero RGB control (wired and wireless) 2026-01-04 12:06:17 -06:00
Amadej Kastelic
b3c3e167f3 controllers/powercolor/gpu: add 6900 XT; fix controller mapping 2026-01-03 12:32:00 -06:00
Richard Harris
de35e6a403 Add Windows 11 x86_64 build products to gitignore 2026-01-02 22:27:06 +00:00
Adam Honse
36a6a864be Initialize NZXT Hue+ zones to detected size 2026-01-01 17:47:07 -06:00
Morgan Gangwere
452f3353ee Add support for MSI X870E Tomahawk Wifi (MS-7E59) 2026-01-01 09:59:40 -08:00
CjayDoesCode
b7230b661f Add MSI RX 5600 XT Gaming X 2025-12-30 11:26:14 +08:00
Venkatesh Deore
c28aa02946 [NEW DEVICE] Add support for MSI X870E GAMING PLUS WIFI (MS-7E70) 2025-12-29 19:59:47 -06:00
Dawid Kasieczka
1d208c14fa Add support for Redragon M914. Create generic Areson driver 2025-12-29 13:43:51 -06:00
Jonas Whatley
1a6d68d3bf Add Support for Gigabyte 5070 Aero OC 2025-12-29 13:37:16 -06:00
Bastiti
3d93b60e64 [New Device] Corsair Slipstream Wireless Receiver V2 2025-12-28 19:26:05 -06:00
Milan Cermak
ff6cee33c4 Razer Chroma ARGB direct mode LED restoration 2025-12-27 10:02:26 +01:00
SU wuyi
5869e5ff31 Fix JGINYUE USB controller.Add destructor function to avoid memory leaks and serial occupied. 2025-12-26 10:34:32 +00:00
Diogo Trindade
298d80e056 Add support for Wooting devices with firmware v2.12 and above 2025-12-25 23:59:54 -06:00
Ljghϯnjng
b6ad5e9223 Add support for Gigabyte RTX 4070 Aero OC 12G 2025-12-23 23:49:51 -06:00
IOXAM
4ff52d9bcf AORUS GeForce RTX 5090 MASTER & ICE on 0x71 2025-12-22 10:33:14 +00:00
Ljghϯnjng
f9f9bf0cb8 Add support for Gigabyte RTX 4070 Aero OC 12G 2025-12-21 12:15:52 -06:00
Jerry Hoogenboom
b62b2a4ad9 Add support for Gigabyte GeForce RTX 5080 Aero OC SFF 16G 2025-12-21 12:12:19 -06:00
Marco Martinez
c91a9636cd Add support for Airgoo Fan + DRGB Controller 2025-12-20 11:36:40 -06:00