Commit Graph
34 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 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 718962c188 Store name in DasKeyboardController to avoid setting it in detector 2025-08-06 17:13:55 -05:00
mike fc3116e596 DasKeyboard: Update detection of US keyboard, and minor change to keyboard layout. 2024-10-26 19:11:21 +00: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 e300b48f5b Fix signed/unsigned mismatch warning in DasKeyboardController.cpp 2024-06-30 19:38:18 -05:00
Adam Honse e4fb4f53ae Update Das Keyboard controller files to new standardized header comment 2024-05-15 11:53:02 -05:00
Adam Honse ba57bad361 Even more warning fixes 2024-04-29 19:57:57 -05:00
Adam Honse d3c81d3306 More warning fixes 2024-04-29 18:08:33 -05:00
Michael Stummvoll 3c7f53b544 Add support for Das Keyboard 5QS 2023-01-29 21:57:37 +00:00
Chris c69a8d15f2 Correcting regression bug in metadata caused by commit 20286c285 2022-09-02 23:31:38 +10:00
Adam Honse 100e6ddb2a Remove SetCustomMode from all controllers beginning with the letter D 2022-08-10 16:04:23 -05:00
Chris 864422b4bc Fixing regression from 942a842a
+ Adding ZONE_EN_KEYBOARD constant char* to KeyNames
+ Replacing declarations of "Keyboard" zone with new constant char*
+ Adding "Keyboard" zone check RGBController_Razer.cpp before hiding keys
2022-08-02 21:03:28 +00:00
Chris 20286c285d Improving targeted detection for the Das 4Q Keyboard to resolve #2633
+ Changing to IPU detector to accurately detect keyboard first time
* Avoiding errors by adding new detector callback function
2022-07-28 17:15:38 +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
Chris d8e023b4c8 Initial commit for a canonical list of key names
+ Created RGBControllerKeyNames.h
* Adjusted every reference for key names found in `DeviceView`
* Formatting corrections
2022-02-13 15:40:15 +11:00
Adam Honse c09e4c9c92 Code cleanup round 3 2022-01-17 21:28:08 -06: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
denk_mal db9146147b activate controller for Metadot Das Keyboard 5Q 2021-03-31 12:05:31 +02:00
denk_mal 84f7f32ec2 reformat code 2021-03-31 11:13:44 +02:00
denk_mal 3a270cbea7 handle hid get error and avoid buffer overflow error 2021-03-31 11:13:17 +02:00
denk_mal e69b59d339 resend data on hid send errors 2021-03-31 11:13:13 +02:00
denk_mal 59752dce98 move call of SetupZone from class constuctor to load function 2021-03-31 11:13:06 +02:00
denk_mal 813069a359 remove unused class variables 2021-03-31 11:13:00 +02:00
denk_mal 029a04cee8 Das Keyboard version check and udev rules
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-02-15 08:26:06 -06:00
morg dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
denk_mal 582afad557 Das Keyboard 4Q Fix-up
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-01-26 12:17:43 -06:00
denk_mal bab18473aa Add support for Das Keyboard 4Q
Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-01-25 10:15:44 -06:00