35 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 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 7fdb006465 Fix warning in WootingV1KeyboardController 2026-03-02 23:01:29 -06:00
Diogo Trindade 298d80e056 Add support for Wooting devices with firmware v2.12 and above 2025-12-25 23:59:54 -06: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 d069947252 Store name in WootingKeyboardController to avoid setting it in detector 2025-08-14 22:56:43 -05:00
4rcheria a2330fea6a Add Wooting 80HE support 2025-04-05 13:31:26 +02:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
crashniels 26e0cc545e Add support for the Wooting UwU RGB 2024-08-11 17:24:20 +02:00
Adam Honse c6e315ff2a Fix wstring to string conversion warning in WootingTwoKeyboardController.cpp 2024-08-07 22:04:51 -05:00
Adam Honse 68709e91f9 Fix wstring to string conversion warning in WootingOneKeyboardController.cpp 2024-08-07 22:04:41 -05:00
James Buren 66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
Adam Honse 27342c71ac Fix possible loss of data warning in RGBController_WootingKeyboard.cpp 2024-07-30 00:19:34 -05: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 d1a638e6f0 Update Wooting keyboard controller files to new standardized header comment 2024-06-22 19:29:35 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
Jack Greiner 571aa6c7ce Fix missing REGISTER_HID_DETECTOR_PU entries for Wooting Two ARM boards 2023-06-27 00:34:57 +00:00
Jack Greiner 7ef9051093 Fix naming scheme of Wooting Two 60HE (ARM) and Wooting Two HE (ARM) 2023-06-26 19:59:29 +00:00
Jack Greiner 20351158f3 Add support for Wooting Two HE (ARM) 2023-06-26 13:55:23 +00:00
morg 70ba6a2133 Add support for Wooting Two 60HE (ARM) 2023-06-05 18:19:05 +00:00
Shayne Hartford 7836a637b9 New Wooting PIDs 2022-09-15 01:48:07 +00:00
Adam Honse 1396cc8f92 Remove SetCustomMode from all controllers beginning with the letters V, W, Y, and Z 2022-08-21 21:37:21 -05:00
Adam Honse bba7fa9fd2 Fix a bunch of compiler warnings 2022-07-17 22:33:20 -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
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
Chris 84de7ebc3e Splitting out the WootingTwoKeyboardController
* Added WootingOneKeyboardController.h
* Added WootingOneKeyboardController.cpp
* Added WootingTwoKeyboardController.h
* Added WootingTwoKeyboardController.cpp
* Unified the WootingKeyboardController as a virtual class
* Modified WootingKeyboardControllerDetect to use the new controllers
* Wooting One & Two use the old controller
* Wooting Two LE & HE use the new controller
* Adding Udev rules for the WootingTwo LE & HE
2021-07-25 18:52:00 +00:00
Chris bd8704a8a6 Adding more DEBUG information
Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-07-07 23:33:03 -05:00
Chris 79e1233635 Adding Wooting Two keyboards support
+ Add full matrix map
+ Amend WootingKeyboardController::SendDirect to support extra keys
+ Adjust WootingKeyboardController::wooting_usb_send_buffer to support extra buffer
2021-07-07 23:18:24 -05:00
Chris ad6d605c88 Changing Wooting KB detection to PU
* Simplified detection
* Adding more useful data to `info page`
* Adding DEBUG logging
2021-07-07 23:15:14 -05:00
Shayne Hartford 62906e7f10 Add Wooting LE & HE and fix Wooting initialization on Linux
Commits squashed and amended to remove commented code by Adam Honse <calcprogrammer1@gmail.com>
2021-07-07 23:08:00 -05:00
Adam Honse 5616f547e4 Fix a bunch of warnings 2021-04-29 13:42:49 -05:00
Diogo Trindade 5e2b04618d Initial Wooting One controller
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com
2021-04-18 16:26:18 -05:00