Commit Graph
57 Commits
Author SHA1 Message Date
Adam Honse fd7dbd618d LogManager cleanup 2026-07-07 01:35:35 -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 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
Aakrisht Sharma Paudel a8a97fa38d Legion 5 gen10 2026-03-17 07:50:23 -05:00
Adam Honse c76864dd4b Warning fixes and cleanups 2026-03-03 11:05:11 -06:00
idiom444 b2572eeeda Lenovo: Add Legion 7 Gen 10 (C197) support 2025-12-17 21:25:25 -08:00
Prince Nna 7ef7edb1d3 Add legion 7s gen8 2025-11-27 14:11:36 -06:00
Bnyro 665069d98f Add support for Lenovo Legion K510 keyboard 2025-11-03 11:47:36 +01: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 b331fbcd4d Store name in LenovoControllers to avoid setting it in detectors 2025-08-11 20:37:48 -05:00
robynegrul a1d7a76349 Lenovo Legion S7 Gen7 2025-07-23 21:22:28 -05:00
WalterWoshid 2c1e23fdbd Add support for Lenovo Legion Pro 7 (16IRX9H) 2025-05-30 21:36:56 +02:00
Dmitry K 20f6565f44 Monitor and Laptop device types 2025-05-15 17:34:39 -05:00
Cooper Hall 47f391a3a6 Initial Commit for Lenovo Legion 7 gen 9 2024-11-27 03:30:00 +00:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Adam Honse dae9cd2c3a Fix type in pair warning in RGBController_LenovoUSB.cpp 2024-08-07 22:03:10 -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 b98081771c Fix wstring to string conversion warning in LenovoUSBController_Gen7_8.cpp 2024-08-01 11:29:28 -05:00
Adam Honse 34957180be Fix type warning in RGBController_LenovoUSB.cpp 2024-07-31 23:41:27 -05:00
Adam Honse aae377a555 Fix wstring to string conversion warning in LenovoUSBController.cpp 2024-07-31 23:39:39 -05:00
Adam Honse 733d7fb0e5 Fix wstring to string conversion warning in Lenovo4ZoneUSBController.cpp 2024-07-31 22:42:52 -05:00
Adam Honse 44aaf3a131 Fix signedness comparison warning in RGBController_Lenovo_Gen7_8.cpp 2024-07-07 18:10:59 -05:00
Adam Honse 4723c64666 Update Lenovo USB Gen7/Gen8 controller files to new standardized header comment 2024-05-25 12:46:23 -05:00
Adam Honse f6e42f0c6d Update Lenovo USB controller files to new standardized header comment 2024-05-25 12:37:54 -05:00
Adam Honse 47a81009c8 Update Lenovo M300 controller files to new standardized header comment 2024-05-25 12:34:09 -05:00
Adam Honse a460e01718 Update Lenovo 4-zone controller files to new standardized header comment 2024-05-25 12:28:11 -05:00
Adam Honse 89645dff38 Remove LenovoGen7USBController, as it has been superseded by LenovoUSBController_Gen7_8 and is dead code 2024-04-30 18:53:50 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
Adam Honse ba57bad361 Even more warning fixes 2024-04-29 19:57:57 -05:00
Wayne Riordan 568da43bb6 Initial commit to add Lenovo Legion M300 RGB Mouse
Added support for Lenovo Legion M300 RGB Mouse.
Added all supported modes Static, Rainbow, Breathing and Off
Also Tested all modes to verify its working
2024-04-06 14:36:09 -05:00
Chris M a989166cdc Fixed regression bug from fd3434b8
* Renamed LenovoRGBController_Gen7_8 to RGBController_Lenovo_Gen7_8 to
align with naming convention
* Fixed #include statements pointing to wrong header(s)
* Corrected variable names in RGBController_Lenovo_Gen7USB.cpp
* Other style and formatting changes
2023-11-11 21:42:17 +11:00
vassilios fd3434b833 Changing current files to accomodate latest legion generation. 2023-11-10 18:11:16 +00:00
Florin9doi b1957d6c1d Fix Lenovo4Zone blue color 2023-10-30 14:21:28 +00:00
Jonathan Guzmán 6e0358d6ea Add Lenovo legion 5 udev rules detection 2023-10-03 13:09:57 +00:00
Jonathan Guzmán 16b5768736 fix "LENOVO_USEAGE" typo 2023-09-30 05:05:26 +00:00
Jonathan Guzmán caf26cc315 add new legion 5 devices 2023-09-29 05:57:45 +00:00
Peter Vazny 839701fcf8 Adds support for ANSI Lenovo Legion 7 Gen 7 2023-08-16 15:35:58 +00:00
Peter Vazny 9c01593ba8 Fixes some Y740 15" keys 2023-07-30 07:45:03 +00:00
Cooper Hall 246aa6d1a5 added multiple legion 5 and legion 5 pro models 2023-05-03 13:17:00 +00:00
Алексей Куликов 6d9e4a86a2 Add support RGB keyboard for Lenovo IdeaPad3 2023-03-19 20:44:36 +00:00
Peter Vazny 120ce6abbd Removes unnecessary memory allocation in Lenovo USB Controller 2022-12-16 18:07:20 +00:00
Peter Vazny f8d7eb8bb8 Fixes layout detection for Lenovo Legion 7S 2022-12-08 04:39:17 +00:00
Adam Honse be90537d10 Fix warnings 2022-11-27 02:52:39 -06:00
Peter Vazny 6890f2f71a Change keyboard map for Y750,Y750S,Y760,Y760S 2022-11-08 17:28:04 +00:00
Peter Vazny ccdf1af948 Lenovo - layout detection fix, additional logging, LED id fixes 2022-10-30 19:30:05 +00:00
Peter Vazny 89a6abd9ed Adds support for Lenovo Legion Y740 15" and 17" 2022-09-23 19:10:42 +00:00
Adam Honse db070be161 Fix warning in RGBController_LenovoUSB.cpp 2022-09-23 12:44:53 -05:00
Peter Vazny 91879cd063 2502 - adds Lenovo Legion 7 gen 5, Slim 7 gen 5 and Slim 7 gen 6 2022-09-19 16:36:20 +00:00