Compare commits

...
895 Commits
Author SHA1 Message Date
Adam Honse 10295a19fc More progress on getting CMake build on Linux 2025-06-03 17:52:14 -05:00
Adam Honse 84f60fccc6 Add support for building with CMake 2025-05-29 20:30:02 -05:00
mi4code 0a3a1e627c Add support for Patriot Viper V550 2025-05-23 23:43:52 -05:00
Kurt Borja a4476055ec Controllers: AlienwareController: Fix number of zones probing 2025-05-20 08:02:16 -05:00
Barry H a3afb8dcd8 Change TT Riing Quad controller leds_max from 54 to 60 2025-05-19 22:22:47 -05:00
Jonathan Guzmán ca900540b4 fix Arch Linux release url. 2025-05-18 00:30:01 -05:00
Fabian Arndt 45631aa850 Added support for "Gigabyte AORUS RX 6750 XT ELITE 12G" 2025-05-17 17:30:37 +02:00
sonicpanther101 d6a4f315fb Added new device Gigabyte GeForce RTX 4070 Eagle OC 2025-05-16 08:27:09 -05:00
Peter Berendi af5f66bc9e piix4: fix SMBHSTSTS test before and after transaction 2025-05-16 02:10:34 -05:00
Fabius Mettner 6e685be02d Add support for NZXT B650E Mainboard in NZXT Hue 2 Controller and allow Resizing NZXT Hue 2 controlled devices 2025-05-16 01:42:11 -05:00
Adam Honse 95b029d49d Initial support for Govee devices 2025-05-16 01:02:44 -05:00
Dmitry K 20f6565f44 Monitor and Laptop device types 2025-05-15 17:34:39 -05:00
Grant Bakker d296f770b6 Add MSI Radeon RX 7900 XT Gaming Trio Classic 2025-05-15 12:42:23 -05:00
Barry H bbe79420b1 Added TUF RTX5070 & RTX5090, ROG Strix RTX2060, RTX2060S & RTX5070Ti 2025-05-15 11:28:45 -05:00
Adam Honse 6aa5d71ba7 Remove dead code 2025-05-15 11:14:11 -05:00
DRC_Michael b83cc7fecd add: Sapphire Radeon RX 9070 XT Pure 2025-05-12 15:41:08 -05:00
Daniel Clark 77728fd425 Implement support for ITE IT5711 RGB Controller 048D:5711. 2025-05-12 15:01:42 -05:00
LucasMZ 478cf4e9da translation: update pt_BR
- fix many strings
- update missing translations
2025-05-09 21:56:38 -03:00
Paulo 425a92521f Add Gigabyte NVIDIA 5090 Gaming OC 2025-05-09 11:47:32 -05:00
Carlos Jordão 92d8240384 HyperX Origin Core variant 2025-05-09 11:36:37 -05:00
pallaswept 138d991cf2 Signal Handling and Fix for Closing 2025-05-09 08:10:55 -05:00
Adam Honse ac13b614d6 Add new controller for Alienware monitors with old protocol, clean up
AW3423DWF controller to match new behavior
2025-05-08 20:52:17 -05:00
Fefedu973 fd4403ec68 Add support for the Alienware AW3423DWF and AW3225QF monitors 2025-05-08 19:36:19 -05:00
Adam Honse ce62d9998e Add IGNORE_TIMER_RESOLUTION back for Windows 11 but keep NtSetTimerResolution in a loop 2025-05-08 19:32:00 -05:00
Adam Honse aa66814c43 Revert "InitializeTimerResolution fix slowdown on Windows 10, drop obsolete workaround for Windows NT"
This reverts commit 4e5fd41be7.
2025-05-08 19:31:53 -05:00
Paulo 14d0388a65 Update Gigabyte Blackwell controller for multizone gpus 2025-05-08 12:10:03 -05:00
Andrei Khartchenko c1d0553866 add ASUS TUF RX 9070 XT GAMING OC 2025-05-03 04:53:23 -07:00
Adam Honse 6a80f24962 Build AppImage with qt6 2025-05-02 02:38:39 -05:00
Bond_009 ef5bab4ff7 Add support for ASUS ROG Strix GTX1070 OC BIOS 2025-05-01 14:40:46 -05:00
Paulo ce5d390a38 Add Gigabyte NVIDIA 5070 Ti Aero OC 2025-04-29 20:44:26 +00:00
mrubcich a2315a45ff Adding support for Redragon M810 Taipan. 2025-04-29 04:14:06 +00:00
Adam Honse a722a59288 Add Mastodon link 2025-04-26 03:43:46 -05:00
Joseph E 90508f7f1b Initial Razer Hanbo Chroma support 2025-04-23 08:07:34 -05:00
Naïm Favier dd034cbfa6 Fix suspend/resume on Linux 2025-04-22 07:45:49 -05:00
Ilya Navitsky 12d4ab4213 Add Belarusian translation 2025-04-22 00:22:24 -05:00
Paulo bb3d322048 Remove NVIDIA Gigabyte 5070 Ti Eagle OC from old protocol 2025-04-21 15:35:58 -05:00
Stephen Horvath 2c4b159901 Fix SPDDetector only scanning bus 0 on Linux 2025-04-21 14:42:22 -05:00
Paulo 9e6a2eb94c Add new controller for RGB Fusion 2 Blackwell GPUs 2025-04-21 14:16:34 -05:00
Peter Berendi 4e5fd41be7 InitializeTimerResolution fix slowdown on Windows 11, drop obsolete workaround for Windows NT 2025-04-21 10:58:47 -05:00
Adam Honse c02da4066c Add build-windows.bat file for managing the Windows builds and update CI to use it 2025-04-21 08:06:09 -05:00
Adam Honse 10797f049c Add Qt version to software information tab 2025-04-19 01:58:48 -05:00
breakNull 489d05a13f Implement MSI GeForce RTX 5090 32G SUPRIM LIQUID SOC RGB 2025-04-18 18:22:34 -05:00
totesNotRosalyn a24a497759 Fix warnings in Qt6 builds 2025-04-18 18:20:15 -05:00
alminljajic 45af044cd8 add: saphire RX 9070 PCIe ID's 2025-04-13 13:42:14 -05:00
Y M 49aafb263f Ukrainian translation added 2025-04-11 18:15:04 -05:00
r muk 6401cf1da2 Added support for the Gigabyte Aorus Master 5090 Ice GPU 2025-04-10 11:41:44 -05:00
RedBlackAka 1f6be26489 Update device types in RGBControllerAPI documentation [authored by Nathan] 2025-04-09 08:07:35 -05:00
xtreme5183 c623194948 Add Gigabyte RTX 5090 D MASTER 2025-04-06 13:48:13 +08:00
4rcheria a2330fea6a Add Wooting 80HE support 2025-04-05 13:31:26 +02:00
Oleksii Taranenko acca2baa57 Fixed Kingston Fury Beast DDR5 do not detect #4725 2025-04-04 08:26:33 +00:00
Shubham Vasaikar e856422674 Add support for ASUS ROG Astral GeForce RTX 5080 #4708 2025-04-03 17:39:21 -05:00
Zhi Yan 8088f81eff Add some DRGBController device IDs 2025-04-01 20:36:41 -05:00
RedBlackAka c5d5209154 Add Asus TUF RTX 5080 OC #4703 2025-03-31 23:03:25 -05:00
Alastair McFarlane ff392ba61d Add Gigabyte RTX 5070 Ti Eagle OC 2025-03-28 08:22:49 -05:00
Erik Olofsson 3ecd1eaaf1 Add Asus ROG Astral LC RTX 5090 OC 2025-03-27 23:24:29 +01:00
totesNotRosalyn fbf1e957a2 Initial commit for ZOTAC_GAMING_GeForce_RTX_2080_AMP 2025-03-26 16:11:02 -05:00
RedBlackAka a7de887036 Add Sapphire RX 6950 XT Nitro+ Pure and reorder #4697 2025-03-26 00:15:31 -05:00
RedBlackAka 9314bd23a2 Add Asus TUF RTX 4080S OC SPID #4688 2025-03-25 10:56:29 -05:00
toxyy 685b6c36ac Adds MSI GeForce RTX 5070 Ti 16G GAMING TRIO OC PLUS Implements #4705 2025-03-24 17:05:54 -05:00
Shauren d8b60fbc7c Add MSI GeForce RTX 5080 16G GAMING TRIO OC 2025-03-24 11:44:31 +01:00
Chris M 74446a3c67 Fixed profile loading on Asus ROG Strix Scope II
* Reverted regression introduced with b4d15b954
* Resolves #4632
2025-03-15 11:04:10 +11:00
RedBlackAka e0f40c52fe Add Asus ROG RTX 4090 White SPID #4676 2025-03-13 08:07:32 -05:00
Michal Malý 28e97cf2d9 Include missing <chrono> header 2025-03-10 22:53:42 +01:00
Michal Malý ef344506b7 Use qintptr instead of long when building against Qt6 2025-03-10 22:52:25 +01:00
berendi ce3ef333b7 call ResourceManager::Cleanup() on exit 2025-03-10 11:31:09 -05:00
Michal Malý 33ea73aac2 Add support for Sapphire Radeon RX 9070 XT Nitro+ 2025-03-10 08:32:08 -05:00
RedBlackAka a6094c26b1 Adds Asus TUF RTX 5070 Ti OC #4637 2025-03-09 23:49:46 -05:00
RedBlackAka 8175a273d0 Adds Nvidia RTX 5080 FE 2025-03-09 15:08:45 -05:00
RedBlackAka 7a3e8f7e52 Add Asus ROG Astral RTX 5090 OC #4666 2025-03-09 15:07:03 -05:00
IoXaM 9786ba8f24 Aorus 5090 Master Support 2025-03-09 03:59:26 +01:00
Adam Honse ed014ec73e Implement matrix for HYTE THICC Q60 LCD zone 2025-03-08 18:06:55 -06:00
RedBlackAka 9fb4314964 Add Asus ROG Astral RTX 5080 OC #4644 2025-03-08 15:14:15 -06:00
Alexander V 2157644ab1 Add simple fix for support hator skyfall/rockfall keyboards to winbond controller 2025-03-07 00:33:24 -06:00
Adam Honse 598066bfe4 Enable fractional scaling for Windows, fixes #2571 2025-03-06 23:10:31 -06:00
Chris M b6c08ef38e Added Asus ROG STRIX RTX3090 24GB Gaming GPU
* Added `0x87C5` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx3090-24g-gaming-model/)
2025-03-07 08:33:48 +11:00
Atome “Atom” Art f4b242328d Add Sony Playstation DualSense Edge PID 2025-03-06 13:31:51 -06:00
Adam Honse 84af91da9e Fix plugin removal issues 2025-03-06 11:36:10 -06:00
Daniil ひっかもりい (Hikkamorii) 3ce3447b65 Add support for Sapphire RX 7700XT Nitro+ 2025-03-05 09:50:46 -06:00
Aiden Vigue e91b5434fa Add MSI 5090 Gaming Trio OC to MSI GPU controller 2025-03-03 16:37:48 +00:00
RedBlackAka 3e32a5b36c Add Gigabyte Aorus RTX 4070 Elite 2025-03-01 18:24:54 +00:00
SytheZN 3226cda0ea Add Palit RTX 5090 Gamerock 2025-03-01 17:27:07 +00:00
Adam Honse 280646e231 Add ROG Ally X to ROG Ally controller 2025-02-28 21:44:52 -06:00
RedBlackAka 52b23717e3 Fixes for German translation 2025-02-26 00:43:59 +00:00
rom4ster c450d0a6ba Fix zone configuration in Mountain keyboard controller 2025-02-26 00:06:41 +00:00
Chris 3405fbb0eb Adjusted G502 detector from IPU to PU
* Adjusted Wired detector to accomodate old and new firmware.
* Resolves #4627
2025-02-25 17:25:43 +11:00
RedBlackAka 55b737c51c Add Norwegian translation 2025-02-25 06:11:48 +00:00
RedBlackAka 860a978676 Use NVIDIA_SUB_DEV instead of NVIDIA_DEV for sub vendor string 2025-02-25 06:10:46 +00:00
RedBlackAka d677f1e5e4 Remove unused help button from Windows titlebar 2025-02-25 06:09:15 +00:00
Adam Honse 6b84edb4fd Change suffix back to git after 1.0rc1 release candidate 2025-02-25 00:02:29 -06:00
Adam Honse 1fbacdea37 OpenRGB Release Candidate 1.0rc1 2025-02-22 11:06:06 -06:00
Adam Honse d3859ff200 Add prepare-artifacts script to download, extract, and rename CI jobs and other files to be published after a release 2025-02-22 03:21:36 -06:00
RedBlackAka 6091a16074 Add Palit RTX 2060 2025-02-21 16:06:03 +00:00
titoudoc b3dd0590cd Add support for Nvidia 5090 FE 2025-02-21 16:03:35 +00:00
RedBlackAka f6e17542f3 Installer: remove .orp association 2025-02-20 11:24:32 +00:00
RedBlackAka bf4f5480be Installer: remove Start Menu shortcut on uninstall 2025-02-18 19:42:02 +00:00
RedBlackAka 22f2c28a27 Add Gainward RTX 3060 8GB Pegasus 2025-02-18 18:41:05 +00:00
RedBlackAka c57d58d49b Miscellaneous cleanups 2025-02-17 15:46:33 +00:00
kmiit 75899a01a0 Add Colorful iGame GeForce RTX 4070 TI SUPER Ultra W 16GB 2025-02-17 17:22:55 +08:00
Adam Honse 015b28c7d1 Clean up build-msi.sh script and make XML generation more readable 2025-02-16 20:50:24 -06:00
Adam Honse b7c8d63505 Print out Wix XML when building MSI package for debugging 2025-02-16 19:40:51 -06:00
Adam Honse 1809c752ae Update mbedtls dependency to 3.2.1 2025-02-16 09:30:29 +00:00
RedBlackAka ce2dc2a042 Correct Spanish translation to fix build 2025-02-16 02:10:52 +00:00
Samuel Torres 8292575663 Edit OpenRGB_es_ES.ts 2025-02-16 01:49:47 +00:00
Adam Honse 0d6ae64b24 Update hueplusplus dependency to 1.2.0 2025-02-14 23:16:53 -06:00
RedBlackAka bb6f8e2ddd Consistent capitalization on Settings page 2025-02-13 13:54:27 +00:00
Topher Sheridan d1cdea47c7 Implement RGB support for Galax RTX 2080 Super 2025-02-12 20:26:16 +00:00
RedBlackAka 093ac9f37d Add Palit RTX 2070S Jetstream #4586 2025-02-12 20:25:46 +00:00
RedBlackAka f8b8da47a3 Add Palit 4080 SUPER GamingPro #4531 2025-02-11 21:39:37 +00:00
Adam Honse 14d3c68145 Fix warnings 2025-02-10 10:21:36 -06:00
Arimil 02af851705 Add ROG Strix RX EVA-02 Edition 2025-02-10 05:14:39 +00:00
Ivan ba0b44f12e Added another version of Gigabyte RTX 2070 Gaming OC 2025-02-10 05:09:43 +00:00
Valtekken 4b0110b33b Italian translation update 2025-02-09 19:30:18 +00:00
RedBlackAka 4b26a579f2 Add NVIDIA TITAN RTX 2025-02-09 07:11:55 +00:00
RedBlackAka 311712bf92 Add Palit RTX 3070 Gamerock #4593 2025-02-08 21:06:12 +00:00
RedBlackAka 9a5bff7a35 Capitalize Apply Changes and Get Hardware IDs on Supported page 2025-02-07 23:49:26 +00:00
Chris 7b72d11c97 Correcting G903 HERO wired Interface
*  Resolves #4212
2025-02-07 23:15:59 +11:00
Adam Honse 85625a37b2 SDK cleanup, update SDK documentation 2025-02-06 20:00:27 -06:00
Adam Honse e88f9a1f75 Fix resource manager interface 2025-02-06 20:00:27 -06:00
morg b3dfd3b4b0 Move ResourceManagerInterface to its own file. Refactor Plugin interface 2025-02-06 20:00:27 -06:00
Adam Honse 5e08608c56 Add controller flags to information tab 2025-02-06 20:00:27 -06:00
Adam Honse 8fbde8073d Do not save virtual or remote devices to sizes.ors 2025-02-06 20:00:27 -06:00
Adam Honse bb79fbfc07 Add controller flags field with flags for controller location and update behavior 2025-02-06 20:00:27 -06:00
Adam Honse 1967ec9526 Save sizes file when server processes segment changes 2025-02-06 20:00:27 -06:00
Adam Honse 012cb5e62d Fix segment creation and modification over the network protocol 2025-02-06 20:00:27 -06:00
Adam Honse e634a77860 Add LED alternate names field to SDK protocol 2025-02-06 20:00:27 -06:00
Adam Honse 1d9779d80e Add alternate LED name field to KLM overlay type for regional key layouts 2025-02-06 20:00:27 -06:00
Adam Honse 65615e2bcf Use string get functions in the Qt UI 2025-02-06 20:00:27 -06:00
Adam Honse 27cac898b0 Initial development for alternate LED names suppport in RGBController API
Alternate LED names allow an LED to have a secondary "alternate" name.  The led_alt_names vector should either be empty if alternate names are not used or be equal in size to the leds vector.  Empty strings in the led_alt_names vector indicate that a particular LED does not have an alternate name.
2025-02-06 20:00:27 -06:00
Adam Honse f627dfc2cd Increment plugin API version 2025-02-06 20:00:27 -06:00
Adam Honse 11d6b19cde Add protocol handling for resizable effects-only modes, increment protocol revision to 5 2025-02-06 20:00:27 -06:00
Adam Honse 032b6c6300 Resizable Effects-Only Zones 2025-02-06 20:00:27 -06:00
RedBlackAka e1a821f3c9 Minor cleanup of pci_ids.h 2025-02-06 21:04:00 +00:00
Shady Nawara aca9d27808 macOS smbus Piix4, SuperIO, and Nct6775 2025-02-06 17:20:30 +00:00
RedBlackAka 3eb14e411d Installer: remove unnecessary .0 from Wix version 2025-02-06 17:15:03 +00:00
morg 9dff3873ca Update FR translation file 2025-02-06 09:35:12 +01:00
RedBlackAka ec4973bd74 Update Japanese translation 2025-02-05 02:46:59 +00:00
RedBlackAka 6b54f62ad7 Add German translations for RM messages 2025-02-04 21:32:00 +00:00
RedBlackAka f65f486c5d Make capitalization of MR 2708 consistent 2025-02-04 20:45:43 +00:00
Kaladasas 8509f377df Add Asus ROG Poseidon Geforce GTX 1080 TI 2025-02-04 20:06:00 +00:00
Dmitry Kychanov 36889aafc1 Added Russian translations for RM messages 2025-02-04 17:12:30 +00:00
RedBlackAka 1f1ae20812 Add MSI RX 6650 XT Gaming X #4590 2025-02-04 14:03:45 +00:00
Chris 6934bbf802 Added translations for LOG messages
* Added C Macro to allow QT lupdate parsing
* Added QTtrranslation wrapper around dialog message
* Updated all translation files
2025-02-04 06:04:28 +00:00
Shady Nawara e39fafc64f Adds support for NZXT Kraken Elite 2024 2025-02-04 04:58:44 +00:00
RedBlackAka 58c609674d Update Japanese translation 2025-02-02 22:42:21 +00:00
RedBlackAka 2471511668 Remove a bunch of vanished entries from Chinese translations 2025-02-02 22:41:44 +00:00
RedBlackAka 9e0eb9f1a4 Installer: Remove InstallPath 2025-02-01 16:52:38 +00:00
RedBlackAka 18ac1aae7e Remove translation authors from titlebar 2025-01-31 00:07:51 +00:00
RedBlackAka a199464b4b Fix Japanese and Greek not being included 2025-01-30 20:02:17 +00:00
slichtzzz 7c46002ce0 Update Russian translation 2025-01-30 17:29:03 +00:00
RedBlackAka 5160ecd9ff Add Asus ROG RX 5700 OC #4578 2025-01-30 14:00:16 +00:00
RedBlackAka 08d00ffedc Installer: add InstallLocation to registry and allow downgrade 2025-01-29 02:42:51 +00:00
Dmitry K efb0dd607b Updated Russian translations 2025-01-28 17:06:53 +00:00
Adam Honse 0d16514899 Fix some copy paste string errors and capitalization in UI form titles caught during translation 2025-01-28 07:29:45 -06:00
RedBlackAka 041c7600b7 Add Asus ROG Radeon RX 480 non-OC #4287 2025-01-27 23:25:54 +00:00
Sebastian 47c6305f77 Added Initial Support for F360 RGB Fans with the NZXT RGB Controller 2025-01-27 20:56:35 +00:00
RedBlackAka f0025e817b Add Asus ROG RTX 4070 SUPER #4573 2025-01-26 08:03:01 +00:00
Chris 45d716d652 Adjusted Vendor name string
* Reverted Manufacturer string to Vendor name
* Added VendorID to log strings
* Other changes for Bash style and formatting
2025-01-25 09:53:31 +11:00
Chris M 220f1e6d1f Initial commit for Razer Huntsman V3 Pro
* Adding PID 0x02A6 for the Huntsman V3 Pro
* Added metadata to RazerDevices.cpp
* Registered detectors
* Added capabilities to RazerController.cpp
* Resolves #4477
2025-01-24 07:48:36 +11:00
enesuzun2002 1eb8ac2e19 Add Colorful iGame GeForce RTX 4070 SUPER Ultra W OC-V 2025-01-23 08:04:24 -06:00
RedBlackAka 13e496ff2f Add Gigabyte RTX 4070 Ti Eagle OC Rev 2 2025-01-23 13:22:28 +00:00
Андрей Белов 0b685dbc86 fix link 2025-01-23 01:12:58 -06:00
Mark Hermeling 7d37ec60b9 Add space for '\0'
ReceiveThreadFunction receives max 1024 bytes and then adds '\0' to it, so the buffer needs to be 1025 chars.
2025-01-23 01:12:30 -06:00
Adam Honse 27a37f65ea Fix AppImage patch 2025-01-23 00:30:30 -06:00
Adam Honse 3d62c5d452 Add StartupWMClass to .desktop, fix #4568 and icon on GNOME dock/taskbar 2025-01-22 23:52:42 -06:00
Adam Honse 8f67c22a4a Cleanup labels on Information page 2025-01-22 23:41:42 -06:00
RedBlackAka fc310dc440 Add Palit RTX 4070 Ti SUPER Gamingpro #4545 2025-01-22 19:35:23 +00:00
ericleco 43ab975ec1 Issue 4376 Adding support for SteelSeries Apex Pro Gen 3 keyboard 2025-01-22 19:01:05 +00:00
RedBlackAka 03190ff0fd Add Aorus RTX 2070 #1064 2025-01-22 13:56:21 +00:00
Dmitry K 894d792e23 Config option to limit the number of log files 2025-01-22 13:55:36 +00:00
Chris fc65a01a60 Added deterministic UUID's to allow MSI upgrade
* Adjusted UUID to ensure they are deterministic per App / Channel
2025-01-21 22:04:03 +00:00
Adam Honse 54802fdd4b Fix device type strings 2025-01-21 14:18:04 -06:00
Adam Honse 23dbabacc6 Set GIT_DEPTH to 0 to ensure tags are available 2025-01-20 18:08:44 -06:00
as3210 bc1e8c25ce A user complained his Cherry KB US-variant was not detected #4141 2025-01-20 20:29:50 +00:00
Milan Cermak 90b21fd977 Disabling of unneccessary DIMM DETECTOR is backwards. 2025-01-20 19:34:05 +01:00
Adam Honse a18ef1ad3a Prevent changing port settings on already opened serial port on Linux using advisory locks, default serial ports to flow control off 2025-01-19 18:35:01 -06:00
Adam Honse 116a031c6d Fix warning in PhilipsHueSettingsHandler.cpp 2025-01-19 01:45:10 -06:00
RedBlackAka 6ac3fae951 Capitalize theme names 2025-01-19 01:10:07 -06:00
RedBlackAka 29e384af98 Add MSI RTX 4070 Gaming X Slim White #4562 2025-01-19 04:13:42 +00:00
Peter Berendi 219b8909ed notice to install PowerShell 2025-01-18 02:43:47 +00:00
Adam Honse a04fe26014 Implement Hue Settings Handler to prevent json type conflicts that resulted in a multiply defined linker warning 2025-01-17 20:34:23 -06:00
berendi 236e67e46b improve retry algorithm in KingstonFuryDRAMControllerDetect.cpp 2025-01-17 18:59:19 +00:00
Adam Honse 8305572613 Fix overflow memset in JGINYUEInternalV2Controller.cpp 2025-01-17 11:24:22 -06:00
RedBlackAka 9ced0a9225 Clean up MSI GPU names 2025-01-17 14:51:26 +00:00
Adam Honse 51031cc1fe Try to fix git-get-branch.sh call on Windows 2025-01-17 08:12:32 -06:00
Chris M e2ddc03dfe Add rules to deploy MSI build
* Turn the deploy MSI build off for forks
2025-01-17 07:00:04 +00:00
Adam Honse 253bf9c077 Fix warnings about omitted parameter names in scsiapi_macos.c 2025-01-17 00:58:33 -06:00
Adam Honse d9d3bc2b6c Fix warning in JGINYUEInternalUSBV2Controller.h 2025-01-17 00:53:10 -06:00
Adam Honse 633662037a Fix warning in OpenRGBDialog.h 2025-01-17 00:48:27 -06:00
Adam Honse ce65818060 Fix warnings and improve robustness of scsiapi_linux.c 2025-01-17 00:27:21 -06:00
Adam Honse 815924b9ac Fix warning in LogitechProtocolCommon.cpp 2025-01-17 00:16:34 -06:00
Adam Honse b64b856dfd Fix warning in EVisionV2KeyboardController.cpp 2025-01-17 00:15:18 -06:00
Adam Honse 1b9ce719f8 Fix warning in OpenRGBDialog.cpp 2025-01-17 00:12:59 -06:00
Adam Honse f8cc8a38c7 Attempt to clean up Fedora build warnings 2025-01-16 23:58:17 -06:00
Adam Honse 8126fbc4a3 Fix warnings in net_port.cpp 2025-01-16 23:44:58 -06:00
Adam Honse 66487422ab Fix warning in RGBController.cpp 2025-01-16 23:44:58 -06:00
Adam Honse 39d7ce6a50 Fix warning in ResourceManager.cpp 2025-01-16 23:44:58 -06:00
Adam Honse 5db2c3af8c Fix warning in LogitechProtocolCommon.cpp 2025-01-16 23:44:58 -06:00
Anthony Moon e0a78f753d added H100i Elite PID and detector 2025-01-16 12:37:36 -08:00
Adam Honse f3c3a9cd44 Fix AUR version 2025-01-16 11:59:38 -06:00
Adam Honse ae248d6d32 Update versioning scheme 2025-01-16 17:51:20 +00:00
RedBlackAka 7f04d34179 Improve Windows installer header and allow upgrading 2025-01-15 03:40:52 +00:00
Adam Honse 77fd471915 Only load segments from profile if segment count differs from base controller, prevents segment duplication on devices with autogenerated segments 2025-01-14 12:34:32 -06:00
RedBlackAka 67a0f031a7 Add Asus Tuf 7800 XT OC SPID 2025-01-14 16:56:39 +00:00
Adam Honse 50f4bb5e5a Indicate that system plugins cannot be removed by changing remove button text 2025-01-14 01:40:29 -06:00
Adam Honse 17ad77f07a Don't unload/remove plugins immediately, instead require a restart to prevent unclean unload/crash 2025-01-14 00:41:32 -06:00
Adam Honse 6f55f0e0c0 Rename Windows 64 MSI CI job 2025-01-14 00:05:05 -06:00
Adam Honse 567ad09506 Check executable directory for system plugins (in plugins folder) on Windows 2025-01-13 23:53:26 -06:00
RedBlackAka b8bfd1dddc Clean up and finish Windows installer 2025-01-14 05:01:50 +00:00
Chris cc26827c57 Adding Windows 64bit MSI package to build
* Added Windows 64bit deploy stage to CI/CD
* Created deb builder to support WINE and Wix toolset
* Created build-msi.sh to create XML manifest
2025-01-14 05:01:50 +00:00
Chris 698ababc6d Added message for users submitting to Github 2025-01-13 02:24:10 +00:00
ffernn 12dd340912 Add support for EVGA 3060 Ti FTW3 Ultra Gaming LHR 2025-01-13 02:14:45 +00:00
Hepi34 44c839c116 Implement RGB support for KFA2 RTX 2070 OC 2025-01-12 01:54:15 +00:00
Adam Honse d424b1f2b4 More protocol documentation updates 2025-01-10 21:53:21 -06:00
Adam Honse ff2188ba45 Update SDK Documentation, fix plugin protocol version type in NetworkServer 2025-01-10 11:59:53 -06:00
llyyr 1c42cdc928 Added ROG RX6600XT O8G Gaming 2025-01-10 14:05:09 +00:00
morg 3e1a0ff5a3 Prevent crashing when removing the last plugin in the list 2025-01-10 10:56:25 +01:00
morg 59e303c882 Add missing tags in logs 2025-01-10 08:53:31 +01:00
thombo f8e04f5f0f Support for MSI board 7D33 added, configuration of 7D89 corrected 2025-01-09 21:42:02 +01:00
Adam Honse 1cc41bb4cd Clean up README.md 2025-01-09 11:48:26 -06:00
Chris 990f89b94f Turn off translation for SDK and API version
* Revert 6ff4919d with better fix
* Resolves #4538
2025-01-09 18:23:59 +11:00
Adam Honse 648c0fce92 Get rid of old early prototype OpenRGBDialog, rename OpenRGBDialog2 to OpenRGBDialog 2025-01-08 23:31:34 -06:00
Barry H 014ae33f0b Chinese Traditional translation updated for v1.0 2025-01-09 03:43:21 +00:00
Adam Honse d8d7c37cf1 Fix SDK/Plugin version not displaying correctly 2025-01-08 21:03:09 -06:00
Adam Honse 471f9d3e2e Add server option to disable the size check called legacy workaround, which can be enabled to allow some old SDK apps that didn't properly implement the size to still be used 2025-01-08 20:44:20 -06:00
Chris M 3117dd0885 Added Bloody W90 Pro Mouse
* Added new PID and usage to A4Tech_Detector
* Added PID to layout switch in RGBController_BloodyMouse
* Resolves #4466
2025-01-09 02:27:33 +00:00
RedBlackAka 034a8858c5 Further improvements and fixes for German translation 2025-01-08 22:22:33 +00:00
morg 309d25e047 Remove useless ResourceManager include 2025-01-08 11:10:38 -06:00
morg accdcf1bea Move some last second code to the about to quit signal. 2025-01-08 16:54:21 +00:00
Barry H 3336817c9a Chinese Simplified translation updated for v1.0 2025-01-08 16:51:24 +00:00
RedBlackAka e570ae2b3f Update German translation for 1.0 2025-01-08 14:21:06 +00:00
Dmitry Kychanov b30992bf28 Russian translation updated for v1.0 2025-01-08 02:10:58 +00:00
Chris M 6ff4919d75 Moved Software Info API values to ensure translation
* Resolves #4538
2025-01-08 02:10:11 +00:00
Dmitry Kychanov 210f7c4993 Last minute fixes for ASUS G18 layout & Direct mode brightness 2025-01-08 03:26:51 +04:00
Dmitry K d1f90e134f [Review needed] Fix Rescan Crash on MacOS 2025-01-07 19:44:21 +00:00
RedBlackAka 20ae2d3662 Clean up Gigabyte GPU detectors 2025-01-06 22:07:38 +00:00
morg d2a9fb7c3c Refresh plugin list after a plugins scan. Fixes #4505 2025-01-06 15:16:57 +01:00
RedBlackAka c91e1dcdd9 Add fullscreen mode toggleable with F11 2025-01-05 22:48:31 +00:00
Alexey Sokolov b2ea4212fd Use a common way to check for Qt6 instead of introducing UB 2025-01-05 22:46:12 +00:00
RedBlackAka 49036313d0 Add Zotac 3080 AMP Holo non-LHR and minor cleanup 2025-01-05 22:44:58 +00:00
Barry H 8142fade24 Added ROG RX6650XT O8G Gaming from #3977 & TUF RX7600XT O16G Gaming 2025-01-05 22:43:21 +00:00
Adam Honse 02db89f7fc Add settings option to enable/disable logging to file, default to enabled 2025-01-05 16:32:32 -06:00
Chris M 7b454ce5f4 Preliminary support for Logitech FP8071
* Updated detection for differences in FP8071
2025-01-03 16:12:49 +11:00
Milan Cermak 366adce39e Patriot Controllers to use DIMM_DETECTOR 2025-01-02 19:18:37 -06:00
RedBlackAka 3546788c44 Add RTX 2060, 2060S & 2070 FE support 2025-01-02 17:20:27 +00:00
RedBlackAka 427e9d0209 Add Asus ROG RTX 2060 6G #4509 2025-01-02 14:26:55 +00:00
Chris M 8d8199a6b3 Initial commit for Razer Huntsman V3 Pro TKL White
* Adding PID 0x02A7 for the Huntsman V3 Pro TKL White
* Added metadata to RazerDevices.cpp
* Registered detectors
* Added capabilities to RazerController.cpp
* Resolves #4418
2025-01-01 10:41:03 +11:00
nicolasyang c3e352d252 Initial commit for Gigabyte Radeon RX 7800 XT GAMING OC 16G 2024-12-29 19:04:20 +00:00
Andrew Velasquez 510528ed7b Add ASUS_ROG_STRIX_RTX_4060_O8G_GAMING to pci_ids.h Tested and works. 2024-12-29 19:03:02 +00:00
Will db19bcd712 Set Skyloong GK104 Pro maximum brightness to OEM maximum 2024-12-27 07:42:28 +00:00
RedBlackAka 914cf1b3ff Clean up names of several devices 2024-12-27 07:41:33 +00:00
RedBlackAka 7085106b45 Attempt to fix dark theme on macOS 2024-12-23 07:36:17 +00:00
Milan Čermák a2867e151d HyperX controller to use DIMM_DETECTOR 2024-12-23 07:26:58 +00:00
Adam Honse 560ff5ab33 Clean up SPDAccessor, split out classes into their own files, add comments, update coding style 2024-12-21 22:21:41 +00:00
Frans Meulenbroeks 38732a8fb4 Add Controller for CoolerMaster MM712 Mouse 2024-12-20 17:41:39 +00:00
Chris M 2652e92461 Initial commit for Razer Firefly V2 Pro
+ Adding PID `0x0C08` for the Firefly V2 Pro
+ Added metadata to RazerDevices.cpp
+ Registered detectors
+ Added capabilities to RazerController.cpp
+ Resolves #4239
2024-12-20 15:00:45 +11:00
thomisus f1965b4650 Added Razer Basilisk V3 35K and V3 Pro 35K 2024-12-19 21:52:01 +00:00
Peter Berendi 2a9b7c8115 fix Kingston Fury DDR5 detection (#4479) 2024-12-19 14:32:40 +00:00
RedBlackAka 1bfd0fbd1f Add additional PCIE ID for ROG 2060S #4469 2024-12-13 21:53:43 +00:00
RedBlackAka ac9f5bed50 Initial commit for Nvidia RTX 2080 Ti FE 2024-12-13 21:52:55 +00:00
Yunus Arkan c2215cbe11 Adding support for EVision keyboard named "Gamepower ogre rgb" 2024-12-12 06:12:34 +00:00
TheMasterofBlubb 241b977904 Added alternative Pid for EVGA Z20 2024-12-12 06:11:45 +00:00
Milan Čermák ae94ce1252 Fix null pointer dereference in SPD 2024-12-10 14:37:42 +00:00
Adam Kaczinski 48f0084a9f adding fix for crash when using effects with kasa devices 2024-12-04 17:46:42 -08:00
Milan Čermák b1d5e83adc Implement common DRAM SPD module with EE1004 and SPD5118 driver support to support detecting DRAM modules using SPD information. 2024-12-04 20:41:52 +00:00
Adam Honse 3d171c222b Fix HYTE THICC Q60 2024-12-02 19:15:16 -06:00
Fabian R fe240190b3 Major fixes and improvements for CoolerMaster ARGB Gen2 A1 V2 2024-11-30 10:08:37 +00:00
Chris M 82b56e3de7 Fix broken README links
* Resolves #4415
2024-11-29 08:05:10 +11:00
morg 9d229e2a0c Prevent non AMD devices to be registered from i2c_smbus_amdadl 2024-11-28 08:11:49 +01:00
Dmitry Kychanov 89e74e6268 Added 4070 Ti per Discord request from Sayanov 2024-11-27 20:33:56 +04:00
Cooper Hall 47f391a3a6 Initial Commit for Lenovo Legion 7 gen 9 2024-11-27 03:30:00 +00:00
Adam Honse 80ac9b3f0d Initial commit for HYTE Nexus controller 2024-11-26 21:12:33 +00:00
Zach Deibert bd3cc94212 Add support for loading profiles on suspend/resume 2024-11-26 20:07:28 +00:00
Adam Honse 7d96b27f28 Fix warning in OpenRGBDialog2.cpp 2024-11-26 02:34:34 -06:00
Adam Honse a8cbf4f52f Fix warnings in OpenRGBDevicePage.cpp 2024-11-26 02:33:30 -06:00
Adam Honse f1948dc3a6 Fix warnings in OpenRGBPluginsPage.cpp 2024-11-26 02:31:39 -06:00
Adam Honse 75bebb0a4b Fix warnings in scsiapi_windows.c 2024-11-26 02:30:23 -06:00
Adam Honse 9afc7285b5 Fix warnings in ResourceManager.cpp 2024-11-26 02:28:29 -06:00
Adam Honse 1586812112 Fix warnings in RGBController.cpp 2024-11-26 02:28:19 -06:00
Adam Honse cbfb8afa0c Fix warning in PluginManager.cpp 2024-11-26 02:06:40 -06:00
Adam Honse 9dafb5cb7f Fix warnings in KeyboardLayoutManager.cpp 2024-11-26 02:06:05 -06:00
Adam Honse 4df90b1b96 Fix warnings in ResourceManager.cpp 2024-11-26 02:00:36 -06:00
Adam Honse f1da4a3b2f Fix warning in RGBController.cpp 2024-11-26 01:57:01 -06:00
Adam Honse 39c968ff2a Fix some warnings in NetworkServer.cpp 2024-11-26 01:55:35 -06:00
Adam Honse b0c3856ab4 Fix warnings in ProfileManager.cpp 2024-11-26 00:38:56 -06:00
Adam Honse 9d3956c168 Fix warnings in NetworkClient.cpp 2024-11-26 00:37:30 -06:00
Adam Honse d0397bc23a Fix warning in cli.cpp 2024-11-26 00:34:56 -06:00
Adam Honse 7eb83f1a60 Fix warnings in Thermaltake Riing controllers 2024-11-26 00:34:16 -06:00
Adam Honse b4ee1f0fb8 Fix warnings in QMK OpenRGB controller 2024-11-26 00:32:10 -06:00
Adam Honse ac802b1aa8 Fix warnings in ASUS Aura Core laptop controller 2024-11-25 23:43:13 -06:00
Adam Honse 51e38ade01 Fix warnings in Mintaka keyboard controller 2024-11-25 23:37:17 -06:00
Adam Honse b213d3f37c Fix warnings in RGBController_Luxafor.cpp 2024-11-25 19:49:28 -06:00
Adam Honse b0ba64f178 Fix warnings in JGINYUE V2 controller 2024-11-25 19:48:01 -06:00
Adam Honse 69512cbf70 Fix warning in RGBController_HYTEKeyboard.cpp 2024-11-25 19:44:39 -06:00
Adam Honse b7a3de0f10 Fix warnings in RGBController_Luxafor.cpp 2024-11-25 18:43:09 -06:00
Adam Honse 540f785e90 Fix warnings and code cleanup in RGBController_JGINYUEInternalUSBV2.cpp 2024-11-25 18:42:08 -06:00
Adam Honse 01d9655781 Fix warnings in RGBController_HYTEKeyboard.cpp 2024-11-25 18:36:52 -06:00
Fotis Papadopoulos 224d75e0e8 PNY RTX 3080Ti Revel Epic-X 2024-11-17 20:39:13 +00:00
Chris b68dacec62 Setting Linux & Windows amd64 builds to compile on MR 2024-11-16 17:46:51 +11:00
morg f45e61d651 Add support for Sapphire 6950XT TOXIC 2024-11-14 23:40:01 +01:00
Adam Honse c734e6f929 Fix merge request pipeline again 2024-11-13 20:02:48 -06:00
Chris 0539e3faeb Switching Linux & Windows amd64 builds back to auto
* Created .default_rules reference
* Renamed "Linux amd64 AppImage" build to "Linux amd64 AppImage Base"
then extended "Linux amd64 AppImage" to automate local runners
* Renamed "Windows 64" to "Windows 64 Base" and extended "Windows 64"
to automate local runners
2024-11-14 11:50:35 +11:00
morg 43021f9a15 Add support for Turtle Beach - Vulcan TKL. Closes #4419 2024-11-13 16:25:57 +00:00
Sam B e81e294479 Add Riing Trio Controller support 2024-11-12 20:33:33 +00:00
Adam Honse 378f0af781 Try to fix merge request CI not having amd64 AppImage or Windows 64 builds 2024-11-11 21:18:43 -06:00
Milan Cermak 8eba52ec30 Controller registered but no device found 2024-11-11 01:45:37 +00:00
Vasily Galkin 777725c083 Reenable forks and their MRs ability to run pipelines on gitlab.com runners 2024-11-10 22:33:24 +00:00
Adam Honse 5b7cdf786b Allow switching format for hex color code entry box between RGB (HTML) and BGR (RGBColor) 2024-11-10 16:23:57 -06:00
Mark Li 330f6d6014 Add support for Cooler Master ARGB Gen2 A1 Mini 2024-11-10 06:42:57 +00:00
Marius Alexandersen 7a69aef99b Add Arrow Lake SMBus Support 2024-11-10 00:40:45 +01:00
Adam Honse 9e5bbc7598 Initial HYTE Keyboard controller 2024-11-08 14:55:37 +00:00
Lobo Tommy 986b21e02b Adding Turtle Beach Vulcan II support 2024-11-07 14:45:14 +00:00
JoshTripleH 2a8fdc486b Fix get location to avoid detection issues after relaunch 2024-11-05 01:04:22 +00:00
Thomas Ricci fa6a516543 Add new G733 hardware ID 2024-11-03 07:57:21 +00:00
rom4ster d627c91a4a Added Reactive Mode For Aerox 9 in General Aerox Controller And Deleted Old Controller 2024-11-02 23:00:49 +00:00
morg 1368f83d77 Adds a setting for automatically showing LED view 2024-11-02 17:34:28 +00:00
morg ab7e281c1c Adds a few checks before trying to init a serial device. Closes #2247 2024-11-02 17:32:17 +00:00
Chris M fc3e95e16a Fix regression in Linux DMIinfo
* Reversed Linux Name and Vendor paths to align with declarations
2024-10-31 19:32:56 +11:00
Chris M a61703da50 Initial commit for the G533ZW Aura Laptop
* Added new device layout to AsusAuraCoreLaptopDevices.cpp
* Resolves #4353
2024-10-31 05:15:12 +00:00
Chris M da13a0b3fe Add missing include for Mountain Keyboard Controller
* Missing <cstring> include required by memset
2024-10-31 11:46:29 +11:00
morg 8b9f128881 Nanoleaf: Check for connection error before accessing status/body. Closes #4390 2024-10-30 23:14:40 +00:00
rom4ster 43bd3774e8 Add Knob color support to mountain keyboard 2024-10-30 23:13:26 +00:00
Tiago Gomes b138405740 Add support for Omen 45L front fans, off mode and Wave and Radial effects 2024-10-30 16:09:49 +00:00
Adam Honse c45e743d87 Fix bad log call in dmiinfo trying to directly print std::string instead of c_str 2024-10-29 20:01:49 -05:00
Joe Petrakovich 5cfa0668b9 Add support for NZXT RGB & Fan Controller (New NZXT H9 Elite Model) 2024-10-30 00:47:44 +00:00
JAO1988 69f03e0e24 Update ThermaltakeRiingControllerDetect.cpp for additional controllers. 2024-10-30 00:46:56 +00:00
thombo 4d4dc7aaee Config of MSI board 7D98 corrected 2024-10-30 00:40:47 +00:00
Chris M 2e199593e9 Adding product name to DMI data class 2024-10-30 07:58:11 +11:00
gregorein 8565a3ddee feat: added new Asus PID (x670e motherboards) 2024-10-28 01:48:47 +00:00
Björn Bidar 24fc6bd749 Optionally support system libe131
Can be enabled by calling qmake with CONFIG+=system_libe131.
Includes comments for general structure to handle in-tree
vs. out-of-tree dependencies.

Handles only systems who use pkgconfig.
2024-10-26 21:17:23 +00:00
morg 90a0e5fac7 Add support for AORUS GeForce RTX™ 4070 Ti MASTER 12G. Closes #4323 2024-10-26 21:16:08 +00:00
Filip Krakowski a3ca22e6a1 spd5118 kernel driver conflicts with Kingston Fury DRAM 2024-10-26 19:13:34 +00:00
mike fc3116e596 DasKeyboard: Update detection of US keyboard, and minor change to keyboard layout. 2024-10-26 19:11:21 +00:00
Chris 19a69f4139 Corrected HIDAPI include for the Mintaka KB Controller
* Compile error on Windows introduced in d7e467a3
2024-10-22 16:58:37 +11:00
Julien "_FrnchFrgg_" Rivaud bdfd2a3290 Add support for Turtle Beach (ex ROCCAT) Vulkan II 2024-10-20 19:57:22 +00:00
Federico Scodelaro d7e467a37f Add VSG Mintaka keyboard 2024-10-20 19:56:31 +00:00
SU wuyi 7dcdef28c8 Initial commit for adding support to JGINYUE Motherboard Controller V2 2024-10-20 19:54:04 +00:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Alexey Sokolov b3b9ebb3b7 Fix OPENRGB_SYSTEM_PLUGIN_DIRECTORY 2024-10-15 00:22:20 +00:00
Milan Čermák d5ef41bb80 Improve Kingston Fury detection 2024-10-09 02:34:08 +00:00
Arthas Lich f802547e7b Add Colorful iGame GeForce RTX 4070 SUPER Ultra W OC 12GB 2024-10-08 15:52:36 +00:00
Dmitry Kychanov a7cdbb3844 Fix --profile 2024-10-06 00:46:51 +04:00
Dmitry Kychanov b171906162 Fixed server 2024-10-05 02:47:02 +04:00
Adam Honse 98eab49e99 Change HyperX Microphone Controller zone type to single 2024-10-01 20:06:07 -05:00
BestPig e53e903b5e Add Gigabyte RTX 4070 SUPER Aero OC 16GB 2024-09-29 20:52:37 +02:00
Adam Honse 8a36717842 Remove LogManager dependency from NetworkClient.cpp
NetworkClient/Server code should have minimal internal dependencies as it is intended to be includable in external applications, pulling in only the absolutely necessary files so that it may be used in third party SDK applications.  LogManager is not a necessary dependency.
2024-09-27 11:25:55 -05:00
Dmitry Kychanov d612b8b8de Network shutdown optimization 2024-09-27 16:15:14 +00:00
Dmitry K 2c952a54d2 Loading optimization (no GUI changes) 2024-09-26 22:20:48 +00:00
Dmitry K 7e96e0efa5 Added Asus TUF Gaming M3 Gen II 2024-09-22 23:54:18 +00:00
Mark c4384f2a47 Add Palit RTX 4060 Dual support 2024-09-22 23:52:08 +00:00
Ojas Sinha 98b2c20d54 Add Gigabyte RTX 4070 SUPER Eagle OC ICE 12GB 2024-09-22 23:50:54 +00:00
Chris M ac8158ba9c Added MSI RTX4070Ti Super 16G Gaming X Slim White GPU
* Added `0xE13E` to pci_ids.h
* Registered detector in MSIGPUv2ControllerDetect.cpp
* Link to [webpage](https://www.msi.com/Graphics-Card/GeForce-RTX-4070-Ti-SUPER-16G-GAMING-X-SLIM-WHITE/Specification)
* Resolves #4329
2024-09-18 07:07:16 +10:00
Chris M d45d2bf7fc Corrected KLM layout for Blackwidow V4 1532:0287
* Resolves #4313
2024-09-15 19:07:50 +00:00
Vasily Galkin 175ebb61de Add alternative IDs to better detect already-supported Aorus GPUs 2024-09-15 19:06:03 +00:00
Mut Ze 8c642ac923 Add support for iGame 4070 Ti SUPER Advaned OC (AD102 version) 2024-09-14 19:09:39 +00:00
thombo 8248509377 Support for MSI boards 7D93 and 7E24 added 2024-09-14 19:05:34 +00:00
Oleh Polisan 77dbb4becf docs: add PiLED to apps, supporting ORGB SDK 2024-09-14 00:34:54 +00:00
Ensar Sarajčić 8c874181c0 Reuse Aerox3Wireless for other Aerox wireless mice 2024-09-13 16:44:25 +00:00
Ensar Sarajčić c84932df46 Add Aerox 3 wireless 2024-09-11 16:42:11 +00:00
LikMaiDong69 1342adefe4 Resolves Issue #4270: Added MSI 4080 SUPER Gaming X Trio 2024-09-11 16:39:50 +00:00
Dmitry K cc21027db2 Asus G17 Direct mode fix (with extra tight matrix map) 2024-09-08 00:14:24 +00:00
Adam Honse bf630245d0 Initial commit for Dream Cheeky Webmail Notifier 2024-09-06 23:42:47 -05:00
Adam Honse 062ecf69f0 Add luxafor-python to projectrs researched 2024-09-06 11:27:42 -05:00
Dimitri Marques bb5d93ddf6 ✨ - Add support for Dell G15 5530 RGB keyboard (RTX 4050) 2024-09-06 10:19:45 -03:00
Dmitry Kychanov e565120d29 Added ASUS ROG Strix G18 (G814JV) + Light Bar behavior fixes 2024-09-06 10:51:15 +04:00
Chris M e0cffcfb3a Migrated Asus Aura Core Laptop controller to the KLM
* Added AsusAuraCoreLaptopDevices to record device metadata.
* Adjusted AsusAuraCoreLaptopDevices to allow KLM layouts per zone
* Modified RGBController_AsusAuraCoreLaptop to use KLM layouts.
* Adjust AsusAuraCoreLaptopController to align with new data model
* Other code changes to accomodate
2024-09-06 04:36:06 +00:00
Adam Honse f115d2cbd9 Add Luxafor pattern modes 2024-09-05 22:59:20 -05:00
Adam Honse ae826f2fd0 Initial commit of Luxafor Flag controller, only supports direct mode for now 2024-09-05 22:18:24 -05:00
Chris M a675825224 Initial commit for Corsair K70 PRO V2 keyboard
* Added metadata to CorsairPeripheralV2Devices
* Added detector in CorsairPeripheralV2ControllerDetect.cpp
* Resolves #3912
2024-09-04 17:56:10 +10:00
Chris M 6d00a7fb23 Added media keys to K70 RGB Pro
* Added limit for packet size in CorsairPeripheralV2Controller
* Resolves #3862
2024-09-04 17:43:14 +10:00
Chris 4a74103e70 Revert hidraw version check
* `packagesExist(hidapi-hidraw>=0.10.1)` is not a valid qmake version test
2024-09-03 18:19:34 +10:00
Chris M 4fcf0d01a2 Fixed small typo in EKController import 2024-09-03 13:14:10 +10:00
Chris 67def7465c Initial commit for Corsair K70 Core keyboard
* Added metadata to CorsairPeripheralV2Devices
* Added detector in CorsairPeripheralV2ControllerDetect.cpp
* Resolves #4103
2024-09-02 21:29:44 +10:00
Maksims K 8fa92a0789 Fix bug in AsusAuraMainboardController.cpp where effect channel wasn't being incremented. Fixes #4114. 2024-09-01 16:30:56 +00:00
shafiahaz2478 406350f5f5 added ant esports GM600 mouse 2024-08-30 19:26:19 +00:00
Adam Honse 11bdaaa2fc Fix AOC GK500 mapping broken by changing KLM base layout from ANSI to Default (English ANSI + English ISO combined map). Rename the 'ansi' field to reflect that this is no longer an ANSI map. 2024-08-29 00:09:03 -05:00
Chris M c23bbbd32a Added Bloody W70 Max Mouse
* Added new PID and usage to A4Tech_Detector
* Added PID to layout switch in RGBController_BloodyMouse
* Resolves #4296
2024-08-29 09:51:29 +10:00
morg a6df80f87e Crash fix for linux nvapi 2024-08-28 13:57:18 +00:00
Tam D f2c99f22a8 fix #4292 sk620 support 2024-08-28 03:44:28 +00:00
Adam Honse 511c266178 Add u16string to string conversion function for CMKeyboardV2Controller.cpp 2024-08-25 20:49:31 -05:00
Chris c6fe58e635 Revert 8bf07f49 "Fix wstring to string conversion warning in CMKeyboardV2Controller.cpp"
* Linux throws a SIGABRT
2024-08-26 01:26:43 +00:00
Adam Honse 641c917605 Add Gigabyte RTX 4070Ti Eagle OC 12GB 2024-08-25 17:20:03 -05:00
verglor ea7f86b32a Fix indentation of device list in NVIDIAIlluminationControllerDetect_Windows_Linux.cpp 2024-08-23 18:40:01 +00:00
verglor 4b2781404a [New Device] Gainward GeForce RTX 4070 Ghost (OC) #3614 2024-08-23 18:40:01 +00:00
Tam Do d86f59cf17 add sk620 2024-08-23 11:15:19 -05:00
Adam Honse 3a1dd871ff Fix serial string containing invalid characters in Razer Kraken controller 2024-08-22 23:18:03 -05:00
liberodark c4ecf3ebcd Add Skillkorp K5 2024-08-20 13:08:12 +02:00
Adam Honse 428355761e Fix unrecognized escape sequence warning in i2c_smbus_piix4.cpp 2024-08-17 01:24:37 -05:00
Adam Honse a18211cc57 Fix unrecognized escape sequence and possible loss of data warnings in i2c_smbus_i801.cpp 2024-08-17 01:23:50 -05:00
Adam Honse 9caa009eb3 Fix unreferenced parameter warning in nvapi.cpp 2024-08-17 01:13:28 -05:00
Adam Honse 38818f7d88 Fix unreferenced local variable warning in OpenRGBNanoleafSettingsEntry.cpp 2024-08-17 01:02:54 -05:00
Adam Honse 20e4d18cb4 Fix unreferenced parameter warning in i2c_smbus_piix4.cpp 2024-08-17 00:54:20 -05:00
Adam Honse 62b6e7175f Fix unreferenced variable and parameter warnings in i2c_smbus_nct6775.cpp 2024-08-17 00:53:01 -05:00
Adam Honse cffac6c255 Fix unreferenced variable and parameter warnings in i2c_smbus_i801.cpp 2024-08-17 00:51:03 -05:00
Adam Honse 66a1496f18 Fix unreferenced parameter warning in i2c_smbus_amdadl.cpp 2024-08-17 00:46:33 -05:00
Adam Honse 7f90c69eb0 Fix warnings in scsiapi_windows.c 2024-08-17 00:29:25 -05:00
Adam Honse 1b26908104 Fix unreferenced local variable warning in i2c_smbus_nvapi.cpp 2024-08-17 00:25:30 -05:00
Adam Honse c1149da754 Fix possible loss of data warnings in NetworkServer.cpp 2024-08-17 00:24:18 -05:00
Adam Honse bb1ae9cf2e Fix possible loss of data warning in i2c_smbus.cpp 2024-08-17 00:22:53 -05:00
Adam Honse 8cbdb0a236 Fix warnings in ResourceManager.cpp 2024-08-17 00:15:17 -05:00
Adam Honse 6c729ff60f Fix possible loss of data warnings in RGBController.cpp 2024-08-16 23:54:14 -05:00
Adam Honse 9281f8ed5c Fix possible loss of data warnings in ProfileManager.cpp 2024-08-16 23:48:37 -05:00
Chris M d6cac9cb27 Added Asus ROG STRIX RTX4070Ti 12GB Gaming GPU
* Added `0x88A6` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4070ti-12g-gaming-model/)
* Resolves #4280
2024-08-17 10:29:13 +10:00
Adam Honse 0743bc49b3 Fix possible loss of data warning in RGBController_ThermaltakeRiingQuad.cpp 2024-08-16 11:31:51 -05:00
Adam Honse 1e3b6cae47 Fix possible loss of data warning in RGBController_ThermaltakeRiing.cpp 2024-08-16 11:30:37 -05:00
Adam Honse 5f1b3ba939 Fix type issue in SteelSeriesSenseiController.cpp 2024-08-16 11:09:57 -05:00
Adam Honse 8bf07f490e Fix wstring to string conversion warning in CMKeyboardV2Controller.cpp 2024-08-16 11:09:17 -05:00
qq b45b24b922 New Evision based keyboard 2024-08-15 20:57:43 +00:00
Adam Honse d554a18e8a Fix issues 2024-08-15 11:46:21 -05:00
Adam Honse 14f65a5728 Fix type conflicts and truncation warnings in SteelSeriesSiberiaController.cpp 2024-08-15 11:37:17 -05:00
Adam Honse 67b5803e63 Fix type conflicts and truncation warnings in SteelSeriesSenseiController.cpp 2024-08-15 11:35:39 -05:00
Adam Honse 2054cb566d Fix type conflicts and truncation warnings in SteelSeriesRivalController.cpp 2024-08-15 11:33:33 -05:00
Chris d3f30f3dc8 Added TU104 variant of Gigabyte RTX2060 8GB Gaming OC GPU
* Registered detector in GigabyteRGBFusionGPUControllerDetect.cpp
2024-08-15 18:34:22 +10:00
Adam Honse 6e66c6ff5e Fix possible loss of data warning in SteelSeriesApexTZoneController.cpp 2024-08-13 19:50:49 -05:00
Adam Honse 52a7412918 Fix possible loss of data warning in RoccatKoneAimoController.cpp 2024-08-13 19:49:53 -05:00
Adam Honse b88107664a Fix possible loss of data warnings in RGBController_RoccatKoneAimo.cpp 2024-08-13 19:49:01 -05:00
Adam Honse 83150696bf Fix possible loss of data warning in RGBController_RedSquareKeyroxTKLClassic.cpp 2024-08-13 19:45:34 -05:00
Adam Honse 15f7ba8b12 Fix possible loss of data warning in RGBController_Razer.cpp 2024-08-13 19:44:38 -05:00
Adam Honse fed58b3dc1 Fix possible loss of data warning in RGBController_MSIMysticLight64.cpp 2024-08-13 19:43:22 -05:00
Adam Honse 448e019702 Fix possible loss of data warning in RGBController_LogitechLightspeed.cpp 2024-08-13 19:42:10 -05:00
Adam Honse c7b6d18832 Fix possible loss of data warnings in RGBController_MSIGPU.cpp 2024-08-13 19:39:00 -05:00
Adam Honse 243ce886e1 Remove OpenRGB kernel patch 2024-08-13 19:34:54 -05:00
Chris M 31b752feed Avoid double free in SinowealthController destructor
* Non USE_HID_USAGE code path needs to avoid closing device twice
2024-08-14 00:07:55 +00:00
Thomas Boos dd91984b70 MSI boards added and some configs corrected 2024-08-14 00:06:58 +00:00
Chris M bd9b41e544 Removed redundant hid_close(dev) from inherited class
* Resolves #4274
2024-08-13 13:23:46 +00:00
crashniels 26e0cc545e Add support for the Wooting UwU RGB 2024-08-11 17:24:20 +02:00
LER0ever 27128373e2 Add Linux support for NVIDIA Founders Edition GPU Illumination Control 2024-08-09 06:07:19 +00:00
Adam Honse d778d470b1 Allow multiple operating systems to be specified in filename, i.e. _Windows_Linux.cpp 2024-08-09 00:16:52 -05:00
Adam Honse c35fd68c99 Fix possible loss of data warnings in SRGBmods controllers 2024-08-08 21:13:21 -05:00
Adam Honse 37a702416f Fix possible loss of data warnings in RoccatVulcanKeyboardController.cpp 2024-08-08 21:10:07 -05:00
Adam Honse 5a12e77b19 Fix possible loss of data warnings in RazerController.cpp 2024-08-08 21:06:31 -05:00
Adam Honse 2f3017fdfc Fix another possible loss of data warning in QMK controllers 2024-08-08 21:05:14 -05:00
Adam Honse e8bf3c35dc Fix type issues in QMK controllers 2024-08-08 20:54:20 -05:00
Adam Honse fb2b0aa8e1 Fix possible loss of data warning in RGBController_LogitechLightspeed.cpp 2024-08-08 20:32:35 -05:00
James Buren ffeaa033bc Fix output truncation warning in RazerController.cpp 2024-08-08 20:43:54 +00:00
James Buren e10b05654b Fix implicit fallthrough warning for RGBController_KingstonFuryDRAM.cpp 2024-08-08 11:29:17 -05: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
Adam Honse 47af83e194 Fix wstring to string conversion warning in ThermaltakeRiingQuadController.cpp 2024-08-07 22:04:31 -05:00
Adam Honse 91e8fade99 Fix wstring to string conversion warning in RoccatKoneAimoController.cpp 2024-08-07 22:04:22 -05:00
Adam Honse c38e011924 Fix wstring to string conversion warning in LogitechLightspeedController.cpp 2024-08-07 22:04:11 -05:00
Adam Honse e84a9b5327 Fix wstring to string conversion warning in MSIMysticLight64Controller.cpp 2024-08-07 22:04:04 -05:00
Adam Honse 5ebd95b72a Fix wstring to string conversion warning in MSIMysticLight185Controller.cpp 2024-08-07 22:03:56 -05:00
Adam Honse e7d10a8582 Fix wstring to string conversion warning in MSIMysticLight162Controller.cpp 2024-08-07 22:03:49 -05:00
Adam Honse 8a272c07b7 Fix wstring to string conversion warning in MSIMysticLight112Controller.cpp 2024-08-07 22:03:38 -05:00
Adam Honse 445c8eade1 Fix signed/unsigned mismatch warning in RGBController_LogitechG915.cpp 2024-08-07 22:03:31 -05:00
Adam Honse da0f93e8b5 Fix truncation warning in LogitechG915Controller.cpp 2024-08-07 22:03:24 -05:00
Adam Honse 29c77edd37 Fix signed/unsigned mismatch warning in RGBController_LogitechG815.cpp 2024-08-07 22:03:17 -05:00
Adam Honse dae9cd2c3a Fix type in pair warning in RGBController_LenovoUSB.cpp 2024-08-07 22:03:10 -05:00
Adam Honse d8de91255f Remove unneeded argument for i386 build 2024-08-06 23:22:57 -05:00
Adam Honse ee9e1fbd2a Add -Wno-psabi to CXXFLAGS to silence armhf-specific ABI change warnings 2024-08-06 21:51:37 -05:00
Adam Honse d03701c58d Initial support for system-installed plugins in Linux 2024-08-06 18:22:17 -05:00
Adam Honse 806ababa05 Add Arch include and library paths for mbedtls2 library 2024-08-06 18:00:26 -05:00
liberodark 800c439431 Add MSI 7D98 2024-08-06 21:15:31 +02:00
Pieter Steyn cfd62f2b0f Add PID for Apex PRO TKL 2023. 2024-08-06 16:08:28 +00:00
Adam Honse d834b18a16 Don't include _Linux files in MacOS build, add support for _MacOS files 2024-08-05 23:17:35 -05:00
James Buren 698ae9debc Update display-library dependency to 17.1 2024-08-05 20:16:14 -05:00
James Buren 3da13705af Update hidapi dependency to 0.14.0 2024-08-05 15:07:10 -05:00
James Buren 5bcc105cd9 Update hueplusplus dependency to 1.1.0 2024-08-05 19:57:51 +00:00
James Buren 4aac04280c Update httplib dependency to 0.16.0 2024-08-05 19:56:39 +00:00
James Buren 2e64a82caa Update libe131 dependency to latest development release 2024-08-05 13:48:09 -05:00
James Buren 6157668057 Update mdns dependency to latest development release 2024-08-05 13:40:34 -05:00
James Buren 4bae567c4c Update json dependency to 3.11.3 2024-08-05 12:59:20 -05:00
James Buren 1e9e790c71 Update CRCpp dependency to 1.2.0.0 2024-08-05 12:30:07 -05:00
诺诺 4bc14630e9 Fix a bug in Nollie1 2024-08-05 16:21:04 +00:00
James Buren b398dcdcf9 Update mbedtls dependency to 2.28.8 2024-08-05 01:05:37 -05:00
James Buren bdad1df3d7 Update libusb dependency to 1.0.27 2024-08-04 23:40:28 -05:00
James Buren af3dc18841 Fix remaining FreeBSD build issues 2024-08-04 21:07:01 -05:00
James Buren 66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
Abdullah Abid Ansari 6140849e28 Adds a better white calculation to philips wiz devices 2024-08-04 23:59:45 +00:00
Adam Honse bd689ee6d7 Switch arm Appimage builds to manually triggered 2024-08-05 08:50:46 +10:00
Adam Honse 5c26a864f0 Add Ubuntu 24.04 amd64 test 2024-08-04 16:43:51 -05:00
Adam Honse 3edaa65d1d Add MacOS to the introduction 2024-08-04 16:22:04 -05:00
Adam Honse 38f8fcc3f3 Update screenshot in README 2024-08-04 16:19:05 -05:00
Adam Honse de2c58739b Add ARM CI targets 2024-08-04 20:58:58 +00:00
James Buren c071da54ca Fix implicit fallthrough warning for RGBController_ValkyrieKeyboard.cpp 2024-08-04 05:51:28 -05:00
James Buren 6eac59cea4 Fix an implicit-fallthrough warning in CoolerMasterControllerDetect.cpp 2024-08-04 06:09:26 +00:00
Chris M 36a9991d59 Update pipeline builds to include Fedora 40
* Removed F35 and F36 builds
* Updated SPEC file to libusbx-devel
2024-08-04 12:22:51 +10:00
Adam Honse a5f1372537 Update documentation before 1.0 release 2024-08-03 02:16:09 -05:00
Adam Honse 894380a5d4 Fix signedness issue in LogitechGProKeyboardController.cpp 2024-08-02 11:51:16 -05:00
Adam Honse f95bd77366 Fix signedness issue in LogitechGLightsyncController.cpp 2024-08-02 11:49:45 -05:00
Adam Honse f1a85915f9 Fix signedness issue in LogitechG915Controller.cpp 2024-08-02 11:47:58 -05:00
Adam Honse 1ef8af75ae Fix signedness issue in LogitechG910Controller.cpp 2024-08-02 11:44:47 -05:00
Adam Honse edab781d44 Fix signedness issue in LogitechG815Controller.cpp 2024-08-02 11:43:15 -05:00
Adam Honse 1e4f8fdd5b Fix signedness issue in LogitechG810Controller.cpp 2024-08-02 11:40:40 -05:00
Adam Honse c8c632cddd Fix signedness issue in LogitechG213Controller.cpp 2024-08-02 11:39:07 -05:00
Adam Honse f167877a00 Fix possible loss of data warning in LianLiUniHubController.cpp 2024-08-02 11:36:41 -05:00
Adam Honse 03a5b11d09 Fix possible loss of data warning in LianLiUniHubSLV2Controller.cpp 2024-08-02 11:35:11 -05:00
Adam Honse 1089a29af0 Fix possible loss of data warning in RGBController_LianLiUniHubSLV2.cpp 2024-08-02 11:34:26 -05:00
Adam Honse e8c9f149a1 Fix possible loss of data warning in RGBController_LianLiUniHubSLInfinity.cpp 2024-08-02 11:32:58 -05:00
Adam Honse a1cffba1bf Fix possible loss of data warning in LianLiUniHubSLInfinityController.cpp 2024-08-02 11:31:42 -05:00
Adam Honse 848e96f64b Fix possible loss of data warning in RGBController_LianLiUniHubAL.cpp 2024-08-02 11:30:06 -05:00
Adam Honse 9be9e34be1 Fix wstring to string conversion warning in Logitech controllers 2024-08-02 00:31:04 -05:00
Adam Honse fc18e404ce Fix wstring to string conversion warning in LianLiUniHubSLV2Controller.cpp 2024-08-02 00:23:46 -05:00
Adam Honse 398afc721e Fix wstring to string conversion warning in LianLiUniHubSLInfinityController.cpp 2024-08-02 00:21:49 -05:00
Adam Honse 3b61a47ec2 Fix wstring to string conversion warning in LianLiStrimerLConnectController.cpp 2024-08-02 00:19:39 -05:00
Adam Honse 6548dea9c4 Update SinowealthGMOW controller files to new standardized header comment 2024-08-01 23:00:09 -05:00
Adam Honse 6f7f6d3fe7 Update Sinowealth controller files to new standardized header comment 2024-08-01 22:37:01 -05:00
Adam Honse 792a14cf3b Update Sinowealth1007 controller files to new standardized header comment 2024-08-01 22:30:18 -05:00
Adam Honse 9d9c6aa5c8 Update GenesisXenon200 controller files to new standardized header comment 2024-08-01 21:39:42 -05:00
Adam Honse d3993bf9df Organize Sinowealth controllers into their own folders 2024-08-01 11:35:51 -05: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 deffa35975 Fix possible loss of data warnings in RGBController_LianLiUniHubAL.cpp 2024-08-01 11:24:58 -05:00
Adam Honse bf7f043e4f Fix warnings in Lian Li Strimer L Connect controller 2024-08-01 11:20:05 -05:00
Adam Honse 24c6bb2f5f Fix wstring to string conversion in some Lian Li controllers 2024-08-01 00:30:07 -05:00
Adam Honse 9b79a2263a Fix possible loss of data warning in RGBController_ZotacV2GPU.cpp 2024-08-01 00:30:07 -05:00
Adam Honse 0b05f93eee Fix possible loss of data warning in YeelightController.cpp 2024-08-01 00:30:07 -05:00
Adam Honse 4cdee33ae4 Fix possible loss of data warning in RGBController_WinbondGamingKeyboard.cpp 2024-08-01 00:30:07 -05:00
Adam Honse 0027936b1d Fix possible loss of data warning in RGBController_BlinkController.cpp 2024-08-01 00:30:07 -05:00
Adam Honse 28f7e09558 Fix possible loss of data warning in RGBController_SinowealthKeyboard90.cpp 2024-08-01 00:30:07 -05:00
Adam Honse dab4a95dc5 Fix possible loss of data warning in PhilipsWizController.cpp 2024-08-01 00:30:07 -05:00
Adam Honse c42a5ef9f5 Fix possible loss of data warning in PhilipsHueEntertainmentController.cpp 2024-08-01 00:30:07 -05:00
Adam Honse ebf5dbedb6 Fix possible loss of data warning in RGBController_NZXTHuePlus.cpp 2024-08-01 00:30:07 -05:00
Adam Honse 5bda1dc79f Fix possible loss of data warning in RGBController_Nollie.cpp 2024-08-01 00:30:07 -05:00
Adam Honse aec411e721 Fix possible loss of data warning in LianLiUniHubALController.cpp 2024-07-31 23:50:53 -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 1ba692a0ea Fix possible loss of data warning in RGBController_EVGAKeyboard.cpp 2024-07-31 23:28:18 -05:00
Adam Honse c392e2c6ca Fix no return warning in ENESMBusInterface_SpectrixS40G_Windows.cpp 2024-07-31 23:27:01 -05:00
Adam Honse ebcc0deac1 Fix possible loss of data warning in RGBController_OKSKeyboard.cpp 2024-07-31 23:17:29 -05:00
Adam Honse 643c81e9db Fix possible loss of data warning in RGBController_NZXTKraken.cpp 2024-07-31 23:15:59 -05:00
Adam Honse d3747a2465 Fix possible loss of data warning in NZXTHuePlusController.cpp 2024-07-31 23:14:12 -05:00
Adam Honse 09bdffab54 Fix possible loss of data warning in NZXTHue2Controller.cpp 2024-07-31 23:13:30 -05:00
Adam Honse 656d3a40c8 Fix possible loss of data warning in NZXTKrakenController.cpp 2024-07-31 23:00:23 -05:00
Adam Honse 749c4d0f37 Fix possible loss of data warning in NanoleafController.cpp 2024-07-31 22:59:23 -05:00
Adam Honse b258f9a683 Fix possible loss of data warning in RGBController_NZXTHue2.cpp 2024-07-31 22:58:11 -05:00
Adam Honse 733d7fb0e5 Fix wstring to string conversion warning in Lenovo4ZoneUSBController.cpp 2024-07-31 22:42:52 -05:00
Adam Honse a87bd8197c Fix wstring to string conversion warning in EVGAMouseController.cpp 2024-07-31 22:41:28 -05:00
Adam Honse 3e75452ec8 Fix wstring to string conversion warning in EVGAKeyboardController.cpp 2024-07-31 22:30:15 -05:00
Adam Honse d94a496808 Fix wstring to string conversion warning in ENESMBusInterface_SpectrixS40G_Windows.cpp 2024-07-31 22:26:31 -05:00
Adam Honse 773a59cf2e Fix wstring to string conversion warning in CougarKeyboardController.cpp 2024-07-31 22:07:14 -05:00
Adam Honse 4ef2917cf4 Fix warnings in RGBController_Nanoleaf.cpp 2024-07-31 21:54:26 -05:00
Adam Honse 102dccee72 Fix warning in RGBController_NZXTHue1.cpp 2024-07-31 21:53:20 -05:00
Adam Honse 8c2ff38d8d Fix warnings in NZXTHue1Controller.cpp 2024-07-31 21:52:30 -05:00
Adam Honse 8f7e4963de Fix wstring to string conversion in CoolerMaster controllers 2024-07-31 01:02:34 -05:00
Adam Honse 10e6e8c91f Fix emplace warning in LogitechProtocolCommon.cpp 2024-07-31 00:36:36 -05:00
Adam Honse d2be38c992 Fix possible loss of data warnings in LogitechProtocolCommon.cpp 2024-07-30 21:38:28 -05:00
Adam Honse 3a62cc8379 Fix possible loss of data warning in RGBController_KingstonFuryDRAM.cpp 2024-07-30 21:16:31 -05:00
Adam Honse bbe97538d8 Fix warnings in KingstonFuryDRAMController.cpp 2024-07-30 21:15:53 -05:00
Adam Honse 05637ba93d Fix wstring to string conversion warnings in AsusAuraCoreLaptopController.cpp 2024-07-30 00:26:47 -05:00
Adam Honse f825e476b9 Fix wstring to string conversion warnings in BloodyMouseController.cpp 2024-07-30 00:25:57 -05:00
Adam Honse 32d9211e7d Fix wstring to string conversion warnings in AlienwareAW510KController.cpp 2024-07-30 00:24:45 -05:00
Adam Honse 9f09c7b503 Fix wstring to string conversion warnings in AlienwareAW410KController.cpp 2024-07-30 00:24:17 -05:00
Adam Honse b12c27c21e Fix wstring to string conversion warnings in BloodyB820RController.cpp 2024-07-30 00:23:15 -05:00
Adam Honse 0f0f3885aa Fix possible loss of data warning in ZETBladeOpticalController.cpp 2024-07-30 00:21:24 -05:00
Adam Honse 7c1d096d46 Fix possible loss of data warning in RGBController_ZalmanZSync.cpp 2024-07-30 00:20:10 -05:00
Adam Honse 27342c71ac Fix possible loss of data warning in RGBController_WootingKeyboard.cpp 2024-07-30 00:19:34 -05:00
Adam Honse a410c3b350 Fix wstring to string conversion warnings in SinowealthKeyboard16Controller.cpp 2024-07-30 00:18:31 -05:00
Adam Honse 71b27d37a4 Fix wstring to string conversion warnings in SinowealthKeyboard90Controller.cpp 2024-07-30 00:17:16 -05:00
Adam Honse 67dadcbefb Fix signed/unsigned mismatch warning in NanoleafController.cpp 2024-07-30 00:15:49 -05:00
Adam Honse 43de81819b Fix wstring to string conversion warnings in BlinkController.cpp 2024-07-30 00:02:59 -05:00
Adam Honse d1be4288d3 Fix signed/unsigned mismatch warning in SkyloongGK104ProController.cpp 2024-07-30 00:01:16 -05:00
Adam Honse 9065cac1fd Fix possible loss of data warning in RGBController_SinowealthGMOW.cpp 2024-07-30 00:00:26 -05:00
Adam Honse b834cd108d Fix signedness issue/warning in RedragonMouseController.cpp 2024-07-29 23:59:23 -05:00
Adam Honse 97eace697a Fix possible loss of data warning in PalitGPUControllerDetect.cpp 2024-07-29 23:57:41 -05:00
Adam Honse a9406804db Fix register type in PatriotViper and PatriotViperSteel controllers 2024-07-29 23:56:30 -05:00
Adam Honse 93f1a18b52 Fix possible loss of data warning in NZXTHuePlusController.cpp 2024-07-29 23:54:14 -05:00
Adam Honse b824dbb9db Fix possible loss of data warnings in RGBController_NZXTHuePlus.cpp 2024-07-29 23:53:35 -05:00
Adam Honse 2219c7529d Fix warnings and size typing issue in NanoleafController.cpp 2024-07-29 23:52:22 -05:00
Adam Honse 5ff7bfc168 Fix possible loss of data warnings in RGBController_NZXTHue2.cpp 2024-07-29 23:49:16 -05:00
Adam Honse 31656bda27 Fix possible loss of data warning in NZXTHue1Controller.cpp 2024-07-29 23:40:50 -05:00
Adam Honse ab0dfb0f6a Fix possible loss of data, switch double to float in NvidiaESAController.cpp 2024-07-29 23:39:49 -05:00
Adam Honse 3b9aa16ce6 Fix possible loss of data warning in RGBController_Nollie.cpp 2024-07-29 23:36:19 -05:00
Adam Honse d5b682e8b3 Fix warnings in MSIVigorGK30Controller.cpp 2024-07-29 23:35:19 -05:00
Adam Honse 91adb32c5b Fix warnings in LIFXController.cpp 2024-07-29 23:24:32 -05:00
Adam Honse 384fdb2376 Fix warnings in LogitechProtocolCommon.cpp 2024-07-29 23:18:41 -05:00
Adam Honse a44460b48e Fix warnings in KingstonFuryDRAMController.cpp 2024-07-29 23:14:50 -05:00
Adam Honse c3dccb071e Fix wstring to string conversion warnings in TecknetController.cpp 2024-07-29 23:01:05 -05:00
Adam Honse 840bf4189a Fix wstring to string conversion warnings in SinowealthController1007.cpp 2024-07-29 22:59:03 -05:00
Adam Honse aeca035fa3 Fix wstring to string conversion warnings in SinowealthGMOWController.cpp 2024-07-29 22:58:03 -05:00
Adam Honse 091c4e46f5 Fix wstring to string conversion warnings in SinowealthController.cpp 2024-07-29 22:56:59 -05:00
Adam Honse 61c3fc7975 Fix wstring to string conversion warnings in SinowealthKeyboardController.cpp 2024-07-29 22:55:07 -05:00
Adam Honse fd0ad07a96 Fix wstring to string conversion warnings in LightSaltController.cpp 2024-07-29 22:53:18 -05:00
Adam Honse bb34aba76e Fix wstring to string conversion warnings in GigabyteAorusMouseController.cpp 2024-07-29 22:50:56 -05:00
Adam Honse 2225ca0ec4 Fix wstring to string conversion warnings in GigabyteAorusLaptopControllercpp 2024-07-29 22:49:56 -05:00
Adam Honse 2805476fb8 Fix wstring to string conversion warnings in EVisionV2KeyboardController.cpp 2024-07-29 22:42:59 -05:00
Adam Honse 564d817b1c Fix warnings in RGBController_GaiZhongGai.cpp 2024-07-29 22:37:47 -05:00
Adam Honse 8b9a5b460f Fix wstring to string conversion warnings in EpomakerController.cpp 2024-07-29 21:27:41 -05:00
Adam Honse b0d2954a56 Fix possible loss of data warning in StringUtils.cpp 2024-07-29 21:24:13 -05:00
Adam Honse 2ce0163eca Fix another possible loss of data warning in RGBController_DRGB.cpp 2024-07-28 19:09:06 -05:00
Adam Honse 073203d3b5 Fix wstring to string conversion warnings in EKController.cpp 2024-07-28 18:58:46 -05:00
Adam Honse e2ec7c818e Fix possible loss of data warning in RGBController_DRGB.cpp 2024-07-28 18:54:27 -05:00
Adam Honse b5638eee12 Use wstring_to_string function for device name string on CorsairPeripheralV2Controller.cpp 2024-07-28 18:38:34 -05:00
Adam Honse 61802ed664 Fix signed/unsigned comparison and assignment in AsusTUFLaptopController_Windows.cpp 2024-07-28 18:28:49 -05:00
Adam Honse 69f8f644e6 Fix another possible loss of data warning in AlienwareController.cpp 2024-07-28 18:08:21 -05:00
Adam Honse fdd04a1511 Allow data size of zero for data length checks if protocol version is 4 or lower, this is to fix backwards compatibility with a bug in older versions OpenRGB.NET that has since been fixed. 2024-07-28 18:05:47 -05:00
Adam Honse 068761872e Fix possible loss of data warning in AlienwareController.cpp 2024-07-28 17:58:35 -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 366fda30f5 Test fixing Windows string conversion warning in AMDWraithPrismController 2024-07-28 02:45:29 -05:00
James Buren 5dc31a81a0 Fix error checking on CreateFile() usage 2024-07-28 05:30:14 +00:00
Adam Honse e2126b9d29 Fix resizing zones over the network 2024-07-27 17:56:12 -05:00
Adam Honse a2fb9a00fe Add vendor string to HYTE mousemat controller 2024-07-27 16:55:28 -05:00
Adam Honse e7240ecca0 Improve logging in NetworkServer.cpp and close listener if any packet with an invalid size is received 2024-07-27 16:38:41 -05:00
Adam Honse 99c1aa0c26 Add a mutex around groups of send() calls in NetworkClient.cpp to fix corrupt packets due to race conditions. If two network RGBControllers try to send a packet with data at the same time, a race condition could cause data from another thread to send in between the header and data for the active thread, corrupting the data stream. 2024-07-27 16:23:54 -05:00
Adam Honse 44268596b3 Add a size check to the client on controller data receiving 2024-07-26 00:39:45 -05:00
Adam Honse 64a0d2c061 Add some size checks on the server to ensure received data matches the size from the packet header 2024-07-26 00:19:19 -05:00
Adam Honse 215ae6118a Fix uninitialized bytes valgrind warning in JGINYUEInternalUSBController.cpp 2024-07-25 23:49:14 -05:00
Adam Honse f4ff81bd45 Fix uninitialized bytes valgrind warning in ProfileManager.cpp 2024-07-25 23:36:11 -05:00
James Buren e42cefdf09 Fix LightSalt build errors on Windows 2024-07-25 03:09:55 -05:00
James Buren 4d8466cd60 Initial commit for LightSalt Peripherals 2024-07-25 01:20:25 +00:00
Pavel Kuzminov c87efc5d67 Added Kingston Fury Beast RGB White DDR5 version 2024-07-25 00:51:34 +00:00
P4uLT a970cd9a23 Initial commit for the Steelseries Arctis 5 (Original) to resolve #2291 2024-07-24 19:53:27 +00:00
Hampus Andersson 94d7703e9e Added support Razer Cobra Pro Device Support 2024-07-24 16:41:47 +00:00
Adam Honse 2ec4183789 Ensure Device View updates when segments are configured 2024-07-23 22:47:03 -05:00
Adam Honse a36162a971 Update SteelSeries common files to new standardized header format 2024-07-23 21:11:56 -05:00
Adam Honse ef48039a1b Update SteelSeriesSiberiaController files to new standardized header format 2024-07-23 20:57:07 -05:00
Milan Čermák c366de98e7 Support for Kingston Fury DDR4/5 DIMMs 2024-07-23 19:37:15 +00:00
Kipi000 6fdcca3ca1 Added support for Gigabyte GTX 1660 Ti Gaming OC 2024-07-22 21:03:14 +00:00
Adam Honse 9c7aad8259 Update SteelSeriesSenseiController files to new standardized header format 2024-07-19 20:43:14 -05:00
Adam Honse a4a457ad5c Update SteelSeriesRivalController files to new standardized header format 2024-07-19 19:31:37 -05:00
Adam Honse 6d0c990834 Update SteelSeriesRival3Controller files to new standardized header format 2024-07-19 18:50:40 -05:00
Essem 5948da2372 Fix buffer overflow when zeroing Logitech G815/G915 little frame buffer data 2024-07-13 20:11:47 -05:00
Adam Honse dec9081be2 Update SteelSeriesQCKMatController files to new standardized header format 2024-07-11 22:36:20 -05:00
Adam Honse ac1c823ca1 Update SteelSeriesOldApexController files to new standardized header format 2024-07-11 22:34:10 -05:00
Adam Honse 05d707b8d4 Update SteelSeriesMouseController files to new standardized header format 2024-07-11 11:41:59 -05:00
Adam Honse b8ca869b19 Update SteelSeriesArctis5Controller files to new standardized header format 2024-07-11 11:40:02 -05:00
Adam Honse 79527ef39a Update SteelSeriesApexTZoneController files to new standardized header format 2024-07-11 11:37:05 -05:00
Adam Honse 3717c752c4 Update SteelSeriesApexMController files to new standardized header format 2024-07-11 11:34:40 -05:00
Adam Honse 7d9279abad Update SteelSeriesApexController files to new standardized header format 2024-07-11 11:34:30 -05:00
Adam Honse 0709b0768f Update SteelSeriesApex8ZoneController files to new standardized header format 2024-07-11 11:23:40 -05:00
Adam Honse dac57f5a13 Update SteelSeriesApex3Controller files to new standardized header format 2024-07-09 23:32:05 -05:00
Adam Honse ea19efd490 Update some SteelSeries files to new standardized header format 2024-07-09 22:50:43 -05:00
Adam Honse ad9b1fb61a Organize SteelSeries controllers into subfolders 2024-07-09 21:53:46 -05:00
Adam Honse 3d93134e86 Fix unused field warning in RazerKrakenController 2024-07-09 21:30:20 -05:00
Adam Honse 545cb4c9e1 Fix unused field warning in RazerController 2024-07-09 21:29:45 -05:00
Adam Honse 1772f5036e Fix unused variable warning in RGBController_LogitechG915.cpp 2024-07-09 21:28:38 -05:00
Adam Honse 0856701f90 Fix unused field warning in LogitechGLightsyncController 2024-07-09 21:27:29 -05:00
Adam Honse 7e501b3a98 Fix override warnings in SteelSeriesAerox controller header files 2024-07-09 21:12:59 -05:00
Givo eca69360e1 Resolve missing includes for Skyloong GK104 Pro 2024-07-09 20:12:02 -05:00
Will 1b4598576d Added Skyloong GK104 Pro support 2024-07-09 23:48:31 +00:00
Zhi Yan 91b7c649c9 Fix some errors and increase the readability of some code 2024-07-09 15:56:16 +00:00
Adam Honse 474b33fef4 Fix string concatenation in NZXTMouseController 2024-07-09 00:07:40 -05:00
Adam Honse 52eda68a4e Fix braces around subobject warning in GigabyteRGBFusion2USBController.cpp 2024-07-09 00:02:44 -05:00
Adam Honse e2a0032657 Fix warnings in LianLiUniHubSLV2Controller 2024-07-08 23:00:55 -05:00
Adam Honse 535e0f177d Fix warnings in LianLiUniHubSLInfinityController 2024-07-08 22:59:01 -05:00
Adam Honse 5295132f37 Fix warnings in LianLiUniHubALController 2024-07-08 22:56:28 -05:00
Adam Honse da6067d708 Fix unused variable warning in HyperXAlloyOrigins60and65 controller 2024-07-08 22:53:27 -05:00
Adam Honse 30869378a4 Fix unused field warning in AsusAuraUSB controller 2024-07-08 21:23:36 -05:00
Adam Honse 026740eb9a Fix unused field warning in SinowealthKeyboard90 controller 2024-07-08 21:21:08 -05:00
Adam Honse 88bd7433e2 Fix unused field warning in PatriotViperSteel controller 2024-07-08 21:19:09 -05:00
Adam Honse 209b62bccc Fix unused field warning in MSIVigorGK30 controller 2024-07-08 21:17:29 -05:00
Adam Honse 4090d556aa Fix unused field warning in MountainKeyboard controller 2024-07-08 21:16:21 -05:00
Adam Honse e99192895b Fix unused field warning in GigabyteRGBFusion2USB controller 2024-07-08 21:15:04 -05:00
Adam Honse a8781ba96b Fix unused field warning in Espurna controller 2024-07-08 21:12:23 -05:00
Adam Honse 8c1a9cd0c7 Fix unused field warning in CorsairK55RGBPROXT controller 2024-07-08 21:10:55 -05:00
Adam Honse 032e3c82d5 Fix unused field warnings in ASRockPolychromeUSBController 2024-07-08 20:45:11 -05:00
PePeReno fa35a490e1 Add Mars Gaming mkmini (EVision) 2024-07-08 16:59:13 +00:00
Adam Honse f127ae9e41 Fix more warnings in scsiapi_linux 2024-07-08 02:23:37 -05:00
Adam Honse afab4a9447 Fix pragma once in C file warning in scsiapi 2024-07-07 22:32:51 -05:00
Chris M 486ecedc12 Added Asus ROG KO RTX3070 8GB Gaming OC GPU
* Added `0x8843` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://www.asus.com/motherboards-components/graphics-cards/ko/ko-rtx3070-o8g-v2-gaming/)
* Resolves #4208
2024-07-08 12:02:57 +10:00
Adam Honse cb8ea601cf Fix warning related to sizeof() on const char array, the null terminator is not used here so reworked the array to explicitly be 4 elements 2024-07-07 19:29:54 -05:00
Adam Honse 005212b463 Fix unused variable warning in RoccatVulcanKeyboardController.cpp 2024-07-07 18:32:55 -05:00
Adam Honse d37068b65d Fix signedness comparison warning in RGBController_RoccatVulcanKeyboard.cpp 2024-07-07 18:32:04 -05:00
Adam Honse 9699cd60ac Fix enumerated and non-enumerated type warning in RoccatKoneProAirController.cpp 2024-07-07 18:13:49 -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 260044df0c Fix potentially uninitialized variable warning in CMKeyboardV2Controller.cpp 2024-07-07 18:08:52 -05:00
Adam Honse 88493da3ab Fix unused parameter warning in ENESMBusInterface_ROGArion.cpp 2024-07-07 18:06:27 -05:00
Adam Honse 0c22a29130 Fix signedness comparison warning in RGBController_AsusROGStrixLC.cpp 2024-07-07 18:04:12 -05:00
Adam Honse 06c4d8a66e Fix signedness comparison warning in RGBController_AsusSagarisKeyboard.cpp 2024-07-07 18:02:29 -05:00
Bobby Quantum e9b3507526 SteelSeries Aerox 5 Wired Support resolves #4134 2024-07-07 22:52:13 +00:00
Aytaç Kayadelen 949991f608 Razer Mutex on Windows 2024-07-07 22:10:03 +00:00
Adam Honse b9402d8e94 Fix signedness comparison warning in RGBController_AsusAuraRyuoAIO.cpp 2024-07-07 16:54:07 -05:00
Adam Honse a5da1adf09 Fix signedness comparison warning in RGBController_AsusROGSpatha.cpp 2024-07-07 16:43:06 -05:00
Adam Honse 1c10a37ec5 Fix signedness comparison warning in RGBController_ASRockPolychromeV2SMBus.cpp 2024-07-07 16:22:45 -05:00
Adam Honse 222a27ed9e Fix signedness comparison warning in RGBController_ASRockASRRGBSMBus.cpp 2024-07-07 16:21:57 -05:00
Adam Honse ccfb6c9f16 Fix warnings in ValkyrieKeyboardController.cpp 2024-07-07 16:15:22 -05:00
Adam Honse 8aeab21ba3 Comment out disabled functions in SinowealthControllerDetect.cpp 2024-07-07 16:07:29 -05:00
Adam Honse 4156b193b2 Fix unused parameters warning in RGBController_GenesisXenon200.cpp 2024-07-07 15:53:13 -05:00
Adam Honse f8fd3138ef Fix unused parameters warning in DRGBController.cpp 2024-07-07 15:30:03 -05:00
Chris M b03edcb869 Adjust LED number for Basilisk Ultimate
* Adjusted both the LED ID and transaction ID in metadata for both Wired and Wireless PIDs
* Resolves #3402
2024-07-08 00:20:16 +10:00
Adam Honse d7c3fd1fb1 Add firmware version retrieval to Thermaltake Riing controller 2024-07-07 01:46:58 -05:00
Zhi Yan f93baffae6 Correcting DRGBcontroller error, ensuring correct compilation and running on Windows 2024-07-06 16:54:19 +00:00
Zhi Yan 6928c50f48 Add new device, DRGB LED controller, including multiple versions 2024-07-06 05:34:28 +00:00
Adam Honse 9284ec7360 Fix unused parameter warning in SeagateController.cpp 2024-07-05 19:38:54 -05:00
Adam Honse 53ff1a628b Fix unused parameter warnings in RGBController_NZXTMouse.cpp 2024-07-05 19:37:20 -05:00
Adam Honse 813fcec591 Fix unused variable warning in NZXTMouseController.cpp 2024-07-05 19:36:23 -05:00
Adam Honse a367c0023f Fix sequence point warning in LGMonitorController.cpp 2024-07-05 19:34:52 -05:00
Adam Honse e33dc2290b Fix potentially uninitialized variable warnings in RGBController_EVisionV2Keyboard.cpp 2024-07-05 19:31:04 -05:00
Adam Honse d9ed4df0bf Fix potentially uninitialized variable warning in EVisionV2KeyboardController.cpp 2024-07-05 19:29:34 -05:00
Adam Honse f6259a3139 Fix sign mismatch comparison warning in RGBController_EVGAACX30SMBus.cpp 2024-07-05 18:55:09 -05:00
Adam Honse fff639ddd5 Remove unsigned less than zero check which always returns false in ElgatoLightStripController.cpp 2024-07-05 18:52:28 -05:00
Zach Leytus 3ed0bb6918 Add Gigabyte RTX 4070 Ti SUPER EAGLE OC 16G 2024-07-05 13:20:49 -04:00
Chris M c88eb992f5 Adding pkgconf and git to the Fedora build instructions
* Resolves #4201
2024-07-05 08:08:54 +10:00
Chris M 78c91eb7bf Adjust LED number for Deathadder V2
* Resolves #1265
2024-07-04 09:26:56 +10:00
Phoebe C e964a874bc Adding MSI RTX 4070Ti Super Gaming X Slim 2024-07-03 16:39:38 +00:00
Adam Honse e300b48f5b Fix signed/unsigned mismatch warning in DasKeyboardController.cpp 2024-06-30 19:38:18 -05:00
Adam Honse ef9170ac9a Fix signed/unsigned mismatch warning in RGBController_ColorfulTuringGPU.cpp 2024-06-30 19:35:00 -05:00
Adam Honse 27c798fb22 Code cleanup in AsusTUFLaptopController_Windows.cpp 2024-06-30 19:33:17 -05:00
Adam Honse e2f08351a0 Fix signed/unsigned mismatch warning in RGBController_AsusAuraGPU.cpp 2024-06-30 19:32:54 -05:00
Adam Honse 68b8024c84 Fix signed/unsigned mismatch warning in DeviceView.cpp 2024-06-30 19:22:18 -05:00
Chris M 7a2ae83cd0 Added Gigabyte RTX 4070 Gaming OC 12GB V2 GPU
* Added `0x412B` to pci_ids.h
* Registered detector in GigabyteRGBFusion2GPUControllerDetect.cpp
* Link to [webpage](https://www.gigabyte.com/Graphics-Card/GV-N4070GAMING-OCV2-12GD#kf)
* Resolves #4197
2024-07-01 00:11:53 +00:00
Adam Honse 7eaae7cf7d Update Zotac V2 GPU controller files to new standardized header comment 2024-06-30 19:09:28 -05:00
Adam Honse 494769177f Update Zotac Turing GPU controller files to new standardized header comment 2024-06-30 19:06:29 -05:00
Adam Honse 0289f0b2d4 Update ZET Blade controller files to new standardized header comment 2024-06-30 19:01:25 -05:00
Adam Honse ce1cdf62aa Update ZET Edge Air Pro controller files to new standardized header comment 2024-06-30 17:50:58 -05:00
Adam Honse b62c7fb432 Update Zalman Z Sync controller files to new standardized header comment 2024-06-30 13:33:02 -05:00
Adam Honse db8932749e Update Yeelight controller files to new standardized header comment 2024-06-30 13:27:36 -05:00
Adam Honse 5bfa134414 Update Wushi L50 controller files to new standardized header comment 2024-06-30 13:23:40 -05:00
Chris M 82a23344f8 Aligned Monitor metadata
* Adjusted Metadata to reflect Accessory
* Changed ENUM to display correct icon for Accessory
2024-06-30 17:24:34 +00:00
Олег Баган 80b5072754 Update file GigabyteAorusLaptopControllerDetect.cpp 2024-06-28 22:48:35 +00:00
Tam D 5df9dcdf9c coolermaster keyboard rescan crash 2024-06-27 13:09:52 +00:00
Adam Honse d1a638e6f0 Update Wooting keyboard controller files to new standardized header comment 2024-06-22 19:29:35 -05:00
Adam Honse d7ffb9e13f Update Winbond Gaming Keyboard controller files to new standardized header comment 2024-06-22 19:21:43 -05:00
Adam Honse d1673b3304 Update ViewSonic controller files to new standardized header comment 2024-06-22 19:18:31 -05:00
Adam Honse e3348ea3e6 Update Valkyrie keyboard controller files to new standardized header comment 2024-06-22 19:13:15 -05:00
Adam Honse 066d48e22f Update Trust common controller files to new standardized header comment 2024-06-22 19:05:34 -05:00
Adam Honse 796fadd3bc Update Trust GXT 180 controller files to new standardized header comment 2024-06-22 19:02:02 -05:00
Adam Honse 0227864ae3 Update Trust GXT 114 controller files to new standardized header comment 2024-06-22 18:58:31 -05:00
Chris M 15c3d8591c Update static shebangs to flexible /usr/bin/env
* Also fixes static /bin/chmod executable call in UDEV rules
* Resolves #4166
2024-06-21 07:07:53 +10:00
Tam D 72507ea108 fix ck530_v2 keymap 2024-06-20 13:36:35 +00:00
Adam Honse 89c11b5eeb Update ThingM controller files to new standardized header comment 2024-06-17 23:26:21 -05:00
Adam Honse ec8921381f Update Thermaltake Riing common controller files to new standardized header comment 2024-06-17 23:17:09 -05:00
Adam Honse 5e9a180c79 Update Thermaltake Riing Quad controller files to new standardized header comment 2024-06-17 23:15:32 -05:00
Adam Honse 49b6ba0303 Update Thermaltake Riing controller files to new standardized header comment 2024-06-17 23:13:17 -05:00
Adam Honse 7e0c9cf3e3 Update Thermaltake Poseidon Z RGB controller files to new standardized header comment 2024-06-17 23:10:10 -05:00
Adam Honse 90d92ddbd5 Update Tecknet controller files to new standardized header comment 2024-06-17 23:05:48 -05:00
Adam Honse ff404bfd99 Update SRGBmods common controller files to new standardized header comment 2024-06-17 22:48:12 -05:00
Adam Honse 0934020873 Update SRGBmods Pico controller files to new standardized header comment 2024-06-17 22:42:12 -05:00
Adam Honse a3ded7574c Update SRGBmods LED Controller V1 controller files to new standardized header comment 2024-06-17 22:33:55 -05:00
Adam Honse 410423fdc1 Update Sony Gamepad common controller files to new standardized header comment 2024-06-17 22:24:59 -05:00
Adam Honse 51f162bd37 Update Sony DualSense controller files to new standardized header comment 2024-06-17 22:21:59 -05:00
Adam Honse 9360466b6f Update Sony DS4 controller files to new standardized header comment 2024-06-17 22:18:51 -05:00
Adam Honse 9e98983c75 Update Seagate common controller files to new standardized header comment 2024-06-17 21:38:41 -05:00
Adam Honse 6aa6f6e456 Update Sapphire Nitro Glow common controller files to new standardized header comment 2024-06-17 21:35:15 -05:00
Adam Honse 3ab8f00af9 Update Sapphire Nitro Glow V3 controller files to new standardized header comment 2024-06-17 21:29:56 -05:00
Adam Honse f1f1ea37a2 Update Sapphire Nitro Glow V1 controller files to new standardized header comment 2024-06-17 21:27:38 -05:00
Adam Honse 90744b58dd Update Roccat Vulcan keyboard controller files to new standardized header comment 2024-06-17 21:22:23 -05:00
Mola19 edb6a8aed0 Add support for Roccat Kone XP 2024-06-18 01:36:00 +00:00
Gabriel de Souza 357b236fae Add Attack Shark k86 keyboard 2024-06-17 16:08:45 +00:00
EasyNetDev 4cd754530e Fix the confusing warning: ERROR! Source file debian/changelog.in missing. 2024-06-17 15:15:20 +02:00
Adam Honse 0139b47d85 Update Roccat Sense Aimo controller files to new standardized header comment 2024-06-14 11:44:37 -05:00
Adam Honse 339c146c67 Update Roccat Kova controller files to new standardized header comment 2024-06-14 11:41:53 -05:00
Adam Honse 940e14c07a Update Roccat Kone Pro controller files to new standardized header comment 2024-06-14 11:36:38 -05:00
Adam Honse b3379e8ef3 Update Roccat Kone Aimo controller files to new standardized header comment 2024-06-14 11:34:22 -05:00
Adam Honse 86010b3e8e Update Roccat Horde Aimo controller files to new standardized header comment 2024-06-14 11:31:53 -05:00
Adam Honse ae7caf002b Update Roccat Elo controller files to new standardized header comment 2024-06-14 11:29:55 -05:00
Adam Honse bba59be497 Update Roccat Burst Pro Air controller files to new standardized header comment 2024-06-14 11:29:55 -05:00
Barry H b84de85891 Added ROG Strix GTX 1650S A4G & TUF 7700XT 2024-06-14 16:28:58 +00:00
Plunti ea9369f799 Add Roccat Kone Pro Air 2024-06-10 02:05:02 +02:00
Yami Life a0adf9f47d Add Gainward GTX 1660 Super Ghost GPU 2024-06-09 12:17:05 +00:00
Chris M 481cc6f1bf Corrected REGEX creating duplicates in supported devices 2024-06-08 10:21:38 +10:00
Adam Honse d637d0f850 Update Roccat Burst controller files to new standardized header comment 2024-06-07 11:45:43 -05:00
Adam Honse 7d1106171c Update Red Square Keyrox TKL Classic controller files to new standardized header comment 2024-06-07 11:42:36 -05:00
Adam Honse 3147da5c73 Update Red Square Keyrox controller files to new standardized header comment 2024-06-07 11:40:25 -05:00
Adam Honse a4a3a7b970 Update Redragon controller files to new standardized header comment 2024-06-07 11:37:00 -05:00
Adam Honse 34ce3b928b Update Razer common controller files to new standardized header comment 2024-06-07 11:33:03 -05:00
Adam Honse 7c1cb2e4e0 Update Razer Kraken controller files to new standardized header comment 2024-06-07 11:29:57 -05:00
Adam Honse d2d342ade7 Update Razer controller files to new standardized header comment 2024-06-07 11:27:32 -05:00
Barry H 16bc33c18a Added some more Zotac GPUs 2024-06-06 06:02:43 +00:00
Chris M cc5aaadf08 Added Asus ROG Strix RTX4060Ti 8GB Gaming OC GPU
* Added `0x88FB` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/us/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4060ti-o8g-gaming/)
* Resolves #4120
2024-06-06 06:01:58 +00:00
Chris M a7d7a35b93 Added MSI RTX2080 8G Gaming X Trio GPU
* Added `0x3727` to pci_ids.h
* Registered detector in MSIGPUControllerDetect.cpp
* Link to [webpage](https://msi.com/Graphics-Card/GeForce-RTX-2080-GAMING-X-TRIO/Specification)
* Resolves #4146
2024-06-05 08:25:40 +10:00
Adam Honse d9b88ae1b9 Update OpenRGB QMK common controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse 8bf11c6270 Update OpenRGB QMK Revision E controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse dde3e454e7 Update OpenRGB QMK Revision D controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse 314319c36a Update OpenRGB QMK Revision B controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse c48206dade Update OpenRGB QMK Revision 9 controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse 5c9951af47 Update PNY Lovelace GPU controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Adam Honse bd5473663b Update PNY GPU controller files to new standardized header comment 2024-06-04 11:49:44 -05:00
Chris M 3cf1f58f30 Updated UDEV rules script
* Improved device processing
* Updated shebang to improve compatibility
* Converted SteelSeriesControllerDetect to UNIX line endings
* Corrected hex literals in Artic and SteelSeries detection
2024-06-03 18:02:24 +00:00
Adam Honse f9c17c75c5 Update Philips Wiz controller files to new standardized header comment 2024-06-03 11:46:18 -05:00
Adam Honse 2fd4cfb2a8 Update Philips Hue controller files to new standardized header comment 2024-06-03 11:43:51 -05:00
Adam Honse 59d1c07075 Update Patriot Viper Steel controller files to new standardized header comment 2024-06-03 11:39:10 -05:00
Adam Honse a87803ff26 Update Patriot Viper controller files to new standardized header comment 2024-06-03 11:36:47 -05:00
Adam Honse 281d3d8c62 Update Palit GPU controller files to new standardized header comment 2024-06-03 11:33:54 -05:00
Adam Honse aac70462c5 Update OKS keyboard controller files to new standardized header comment 2024-06-03 11:30:50 -05:00
morg 35b6fd8c28 Revert "Fix Razer Chroma Addressable RGB Controller on Linux" 2024-06-03 12:53:18 +00:00
Adam Honse 853f12e9c1 Update NZXT Mouse controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse e4eaef00ca Update NZXT Kraken controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse 1d2a57b8e0 Update NZXT Hue Plus controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse e0fa66a82a Update NZXT Hue 2 controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse a862af2c80 Update NZXT Hue 1 controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse ffe99f0310 Update NVIDIA Illumination controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
Adam Honse 1d766d4a10 Update NVIDIA ESA controller files to new standardized header comment 2024-06-01 20:47:59 -05:00
mfletcher_2 a7e76b5869 Add support for Kasa Smart LED light strips 2024-06-02 00:18:35 +00:00
Adam Honse 1526cbec6c Update Nollie controller files to new standardized header comment 2024-06-01 01:10:49 -05:00
Adam Honse 9df2289bf4 Update Nanoleaf controller files to new standardized header comment 2024-06-01 01:07:22 -05:00
Adam Honse feefc79757 Update N5312A controller files to new standardized header comment 2024-06-01 01:03:08 -05:00
Adam Honse 75f895799c Update MSI Vigor controller files to new standardized header comment 2024-06-01 00:55:54 -05:00
Adam Honse 67f7c40fa5 Update MSI-RGB controller files to new standardized header comment 2024-06-01 00:50:19 -05:00
Adam Honse 803d1681c4 Update MSI Optix controller files to new standardized header comment 2024-06-01 00:45:53 -05:00
Adam Honse 9c19195625 Update MSI Mystic Light common controller files to new standardized header comment 2024-06-01 00:35:14 -05:00
Adam Honse eb5c9d91d3 Update MSI Mystic Light 185-byte controller files to new standardized header comment 2024-06-01 00:30:04 -05:00
Adam Honse 1c32d819eb Update MSI Mystic Light 162-byte controller files to new standardized header comment 2024-06-01 00:24:43 -05:00
Adam Honse f95cfc9aeb Update MSI Mystic Light 112-byte controller files to new standardized header comment 2024-06-01 00:24:34 -05:00
Adam Honse aa4f58694b Update MSI Mystic Light 64-byte controller files to new standardized header comment 2024-06-01 00:24:27 -05:00
Adam Honse e924257ddd Update MSI GPU V2 controller files to new standardized header comment 2024-05-31 11:45:11 -05:00
Adam Honse ec59cc59b0 Update MSI GPU controller files to new standardized header comment 2024-05-31 11:41:23 -05:00
Adam Honse 281b02b049 Update MSI 3-zone keyboard controller files to new standardized header comment 2024-05-31 11:38:22 -05:00
Adam Honse a9ddbf1b95 Update Mountain keyboard controller files to new standardized header comment 2024-05-31 11:34:47 -05:00
Adam Honse d15ce7d7ab Update Logitech common controller files to new standardized header comment 2024-05-31 11:31:32 -05:00
Adam Honse 651adb61d6 Move and update Logitech X56 controller files to new standardized header comment 2024-05-31 11:28:04 -05:00
Chris M bb488b2a55 Added Asus ROG Strix RTX4070Ti Super 16GB Gaming OC GPU
* Added `0x896D` to pci_ids.h
* Changed `0x896B` model to non OC based on [TechPowerUp GPU entry](https://www.techpowerup.com/vgabios/264927/264927)
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4070tis-o16g-gaming/)
2024-05-31 16:23:45 +00:00
Chris M aa4483183c Removed *.md file creation from Supported Devices
* Added Dummy Controller processing
* Other fixes to broken detector replacements
* Removed file exemptions in runner script
2024-05-31 16:22:34 +00:00
Adam Honse b06ce22abb Move and update Logitech Lightspeed controller files to new standardized header comment 2024-05-31 11:08:49 -05:00
Adam Honse 3c08177b58 Move and update Logitech G Pro keyboard controller files to new standardized header comment 2024-05-31 11:08:11 -05:00
Adam Honse 0760e13808 Move and update Logitech G Lightsync controller files to new standardized header comment 2024-05-30 11:51:22 -05:00
Adam Honse 94ccb0a3ba Move and update Logitech G933 controller files to new standardized header comment 2024-05-30 11:45:30 -05:00
Adam Honse 6e9fd99e0e Move and update Logitech G915 controller files to new standardized header comment 2024-05-30 11:42:39 -05:00
Adam Honse a0c975f186 Move and update Logitech G910 controller files to new standardized header comment 2024-05-30 11:39:50 -05:00
Adam Honse 56d26fa3cf Move and update Logitech G815 controller files to new standardized header comment 2024-05-30 11:36:06 -05:00
Adam Honse 7a6f86966f Move and update Logitech G810 controller files to new standardized header comment 2024-05-30 11:31:19 -05:00
Adam Honse d995593e76 Reorganize Hue 2 detectors and update detectors metadata to fix udev rule generation
Fixes #4079
2024-05-30 11:28:13 -05:00
Adam Honse 433ac0b8ce Move and update Logitech G560 controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Adam Honse 6c30e92b21 Move and update Logitech G213 controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Adam Honse 52423a325e Update Logitech G203L controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Adam Honse 523b01054a Update Linux LED controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Adam Honse baa6c1a2e4 Update LIFX controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Adam Honse 841b85a589 Increase Corsair Lighting Node read timeout to 15ms to fix issues with some CorsairLightingProtocol setups 2024-05-29 19:24:10 -05:00
Adam Honse 8d14059d2e Update Lian Li Strimer L Connect controller files to new standardized header comment 2024-05-25 18:15:04 -05:00
Adam Honse cdcbf5209c Update Lian Li SLV2 Uni Hub controller files to new standardized header comment 2024-05-25 17:56:54 -05:00
Adam Honse 86784b983c Update Lian Li Uni Hub SL Infinity controller files to new standardized header comment 2024-05-25 13:23:01 -05:00
Adam Honse 3806a8ae04 Update Lian Li Uni Hub controller files to new standardized header comment 2024-05-25 13:18:04 -05:00
Adam Honse edbcc38518 Update Lian Li AL Uni Hub controller files to new standardized header comment 2024-05-25 13:14:06 -05:00
Adam Honse 58f9943151 Update Lian Li AL10 Uni Hub controller files to new standardized header comment 2024-05-25 13:09:01 -05:00
Adam Honse be6e890402 Update Lian Li GAII Trinity controller files to new standardized header comment 2024-05-25 13:05:11 -05:00
Adam Honse de17f6b7cb Update LG monitor controller files to new standardized header comment 2024-05-25 12:57:52 -05:00
Adam Honse cb41353622 Update Lexip mouse controller files to new standardized header comment 2024-05-25 12:53:50 -05:00
Adam Honse e8264ae616 Update Lenovo motherboard controller files to new standardized header comment 2024-05-25 12:49:56 -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 5f79126313 Update Lego Dimensions Toypad Base controller files to new standardized header comment 2024-05-25 12:19:46 -05:00
Adam Honse 8b0b5bc526 Update LED strip controller files to new standardized header comment 2024-05-25 12:12:20 -05:00
Adam Honse fae1e8e9eb Update Keychron keyboard controller files to new standardized header comment 2024-05-25 09:34:30 -05:00
Adam Honse 56753a5821 Update Kasa Smart controller files to new standardized header comment 2024-05-25 09:29:04 -05:00
Adam Honse beac78dcb6 Update JGINYUE USB controller files to new standardized header comment 2024-05-25 09:23:09 -05:00
Adam Honse 680821f164 Update Ionico controller files to new standardized header comment 2024-05-25 09:17:29 -05:00
Adam Honse 13ba7b19ea Update Intel Arc A770 LE controller files to new standardized header comment 2024-05-25 09:14:13 -05:00
Adam Honse 84077e9dc2 Update Instant mouse controller files to new standardized header comment 2024-05-25 09:10:47 -05:00
Adam Honse 1f3bcaf52a Update HYTE mousemat controller files to new standardized header comment 2024-05-24 14:04:28 -05:00
Adam Honse 056485fabf Update HyperX mousemat controller files to new standardized header comment 2024-05-24 13:57:38 -05:00
Adam Honse b43f31ebfb Update HyperX mouse controller files to new standardized header comment 2024-05-24 13:57:28 -05:00
balika011 1975c63b71 Fix Razer Chroma Addressable RGB Controller on Linux 2024-05-23 18:32:21 +02:00
morg c4917d30b0 Add F120 RGB Core Case version to NZXT Hue2 Controller 2024-05-23 15:11:58 +00:00
Balázs Triszka 540eaa5366 EVGA ACX30 Motherboard 2024-05-22 20:50:16 +00:00
TheRogueZeta 11bb1dcedb Initial commit for Gigabyte RTX 4070 TI Super Gaming OC 16G Rev 1.0 2024-05-21 15:05:11 -07:00
Julian Fellinger b3ad41a572 Added MSI RTX4060 Ti Super 16G Gaming X Slim White GPU 2024-05-20 19:42:41 +00:00
Adam Honse d9671e50ad Add metadata to HYTE mousemat controller 2024-05-20 12:10:40 -05:00
Adam Honse 40e1d7f0bc Update HyperX microphone controller files to new standardized header comment 2024-05-19 20:03:39 -05:00
Adam Honse 080e40c4d4 Update HyperX keyboard controller files to new standardized header comment 2024-05-19 19:53:45 -05:00
Adam Honse af830e5b21 Update HyperX DRAM controller files to new standardized header comment 2024-05-19 19:33:14 -05:00
Adam Honse acff88590c Update HP Omen 30L controller files to new standardized header comment 2024-05-19 19:28:53 -05:00
Adam Honse 4aa92c6272 Update Holtek controller files to new standardized header comment 2024-05-19 19:24:17 -05:00
Adam Honse de7d0a4c76 Update Gigabyte Aorus Super IO motherboard controller files to new standardized header comment 2024-05-19 18:15:18 -05:00
Adam Honse 75d77ea608 Update Gigabyte Aorus RGB Fusion GPU controller files to new standardized header comment 2024-05-19 18:11:00 -05:00
Adam Honse d19df6d931 Update Gigabyte Aorus RGB Fusion motherboard controller files to new standardized header comment 2024-05-19 18:07:05 -05:00
Adam Honse 6a8b5ecfa9 Update Gigabyte Aorus RGB Fusion 2 USB motherboard controller files to new standardized header comment 2024-05-19 18:03:14 -05:00
Adam Honse e27c7e8d64 Update Gigabyte Aorus RGB Fusion 2 motherboard controller files to new standardized header comment 2024-05-19 17:56:19 -05:00
Adam Honse cee3be9113 Update Gigabyte Aorus RGB Fusion 2 GPU controller files to new standardized header comment 2024-05-19 17:47:34 -05:00
Adam Honse 0b78dd3d86 Update Gigabyte Aorus RGB Fusion 2 RAM controller files to new standardized header comment 2024-05-19 17:40:29 -05:00
Adam Honse e22267fbeb Update Gigabyte Aorus case controller files to new standardized header comment 2024-05-19 17:36:17 -05:00
Adam Honse c8bafd10aa Update Gigabyte Aorus mouse controller files to new standardized header comment 2024-05-19 17:32:41 -05:00
Adam Honse e086085375 Update Gigabyte Aorus laptop controller files to new standardized header comment 2024-05-19 17:26:14 -05:00
Mike Wang efd26d4e49 Fix Gigabyte RTX 4070 Gaming OC fan RGB #3345 2024-05-19 22:19:09 +00:00
Adam Honse 3debbc36dd Update Gigabyte CPU cooler controller files to new standardized header comment 2024-05-19 02:08:03 -05:00
Adam Honse b0bb6e7b1b Update Galax GPU controller files to new standardized header comment 2024-05-19 01:26:47 -05:00
Adam Honse 019b049d06 Update GaiZhongGai keyboard controller files to new standardized header comment 2024-05-19 01:09:29 -05:00
Adam Honse 1b0d915a63 Update Gainward GPU controller files to new standardized header comment 2024-05-19 00:44:51 -05:00
Adam Honse 2c3e102772 Update Faustus controller files to new standardized header comment 2024-05-17 20:27:02 -05:00
Adam Honse 502f23e102 Update FanBus controller files to new standardized header comment 2024-05-17 20:23:15 -05:00
Adam Honse cd5b8e08c7 Update EVision keyboard controller files to new standardized header comment 2024-05-17 11:49:02 -05:00
Adam Honse 8650ec51ae Update EVGA USB controller files to new standardized header comment 2024-05-17 11:33:36 -05:00
Adam Honse b93e6be0b0 Update EVGA V2 GPU controller files to new standardized header comment 2024-05-17 11:33:17 -05:00
Adam Honse 211497193d Update EVGA V1 GPU controller files to new standardized header comment 2024-05-17 11:32:56 -05:00
Adam Honse 794f6a81e9 Update EVGA GP102 GPU controller files to new standardized header comment 2024-05-17 11:32:20 -05:00
TomHashNL df379e680f Add support for ASUS ROG MATRIX PLATINUM RTX 4090 24G 2024-05-17 13:58:40 +02:00
Adam Honse 1bdc8dfa7a Add silent configuration to suppress compiler commands in qmake output, should hopefully make the logs more readable (and not overflow the buffer) 2024-05-17 01:25:45 -05:00
Adam Honse a6c3bdd4f1 Move windows.h out of alphabetical order because it needs to be first to compile 2024-05-17 01:20:54 -05:00
Adam Honse 19e5626d50 Update EVGA V3 GPU controller files to new standardized header comment 2024-05-16 22:33:38 -05:00
Adam Honse 9f98e8767c Update Espurna controller files to new standardized header comment 2024-05-16 22:28:01 -05:00
Adam Honse d5590ed427 Update Epomaker controller files to new standardized header comment 2024-05-16 22:22:23 -05:00
Adam Honse 50ec1095c1 Update ENE SMBus controller files to new standardized header comment 2024-05-16 22:06:29 -05:00
Adam Honse 9b1ea375b8 Fix name redefinition/conflict in plugin manager 2024-05-16 21:39:04 -05:00
Adam Honse d9866e3bd4 Update Elgato Light Strip controller files to new standardized header comment 2024-05-16 11:48:14 -05:00
Adam Honse 8a77fe5525 Update Elgato Key Light controller files to new standardized header comment 2024-05-16 11:43:53 -05:00
Adam Honse a51febd0f7 Update EK controller files to new standardized header comment 2024-05-16 11:39:32 -05:00
Adam Honse acc85f8891 Update E1.31 controller files to new standardized header comment 2024-05-16 11:36:27 -05:00
Adam Honse d8f3baf8e8 Update Dygma Raise controller files to new standardized header comment 2024-05-16 11:33:12 -05:00
Adam Honse 4f870489ad Update Ducky controller files to new standardized header comment 2024-05-16 11:30:05 -05:00
Adam Honse d78b8d5d40 Update DMX controller files to new standardized header comment 2024-05-16 11:30:05 -05:00
Adam Honse 89fd45f1ac Update Debug controller files to new standardized header comment 2024-05-16 11:30:05 -05:00
Qwex 66a53cde3d Mac Update info product name 2024-05-16 13:24:19 +00:00
Adam Honse e4fb4f53ae Update Das Keyboard controller files to new standardized header comment 2024-05-15 11:53:02 -05:00
Adam Honse 1630d50e72 Update Dark Project controller files to new standardized header comment 2024-05-15 11:46:59 -05:00
Adam Honse 0231a27861 Update Cryorig H7 Quad Lumi controller files to new standardized header comment 2024-05-15 11:42:56 -05:00
Adam Honse 1eb2a68a16 Update Crucial controller files to new standardized header comment 2024-05-15 11:38:36 -05:00
Adam Honse e9d7b6b103 Update Creative controller files to new standardized header comment 2024-05-15 11:34:11 -05:00
Adam Honse 1e53aae676 Update Cougar controller files to new standardized header comment 2024-05-15 11:31:40 -05:00
Adam Honse da8469f478 Update all Corsair controller files to use new standardized file header comment 2024-05-14 19:14:09 -05:00
Adam Honse fc97d6130b Update file header comments to standardized new format for Cherry, Colorful, and Cooler Master files 2024-05-12 17:16:31 -05:00
Barry H 889110961a Add 3 new Asus ROG Strix AMD cards RX560, RX590 & 5700XT (Q Bios) 2024-05-12 19:16:59 +00:00
Adam Honse 02d3b27073 Update file header comments to standardized new format for BlinkyTape files 2024-05-11 21:41:01 -05:00
Adam Honse 88929f9e4c Update file header comments to standardized new format for Asus TUF laptop files 2024-05-11 21:28:16 -05:00
Adam Honse 93573a93ca Update file header comments to standardized new format for Asus legacy USB files 2024-05-11 21:05:39 -05:00
Adam Honse 08304c5474 Update file header comments to standardized new format for Asus Aura USB files 2024-05-11 20:38:00 -05:00
3012 changed files with 87871 additions and 366599 deletions
+21
View File
@@ -0,0 +1,21 @@
name: Issue Opened
on:
issues:
types: [opened,reopened]
jobs:
issue_greeting:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Greeting
run: gh issue comment "$NUMBER" --body "$BODY"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
BODY: >
This Github repo is a mirror of the main repository on Gitlab.
For any new issue please refer to https://gitlab.com/CalcProgrammer1/OpenRGB/-/issues
+21
View File
@@ -0,0 +1,21 @@
name: PR Opened
on:
pull_request:
types: [opened,reopened]
jobs:
pr_greeting:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Greeting
run: gh pr comment "$NUMBER" --body "$BODY"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.pull_request.number }}
BODY: >
This Github repo is a mirror of the main repository on Gitlab.
Please fork https://gitlab.com/CalcProgrammer1/OpenRGB/ and raise the appropriate merge request on Gitlab.
+385 -408
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -43,6 +43,7 @@ CODEOWNERS @Calcprogrammer1
/Controllers/EVGAGP102GPUController/
/Controllers/EVGAPascalGPUController/
/Controllers/EVGATuringGPUController/ @TheRogueZeta
/Controllers/EVGASMBusController/ @balika011
/Controllers/EVGAUSBController/ @Dr_No
/Controllers/EVisionKeyboardController/
/Controllers/EspurnaController/
+2 -2
View File
@@ -23,9 +23,9 @@ Please add a link to the manufacturer's product page beneath this line
~"DeviceType::IDK" <!-- I Don't know -->
~"DeviceType::USB" <!-- The device connects to an internal header or external usb port -->
~"DeviceType::GPU::AMD" <!-- The device is an AMD GPU -->
~"DeviceType::GPU::NVidia" <!-- The device is a NVidia GPU -->
~"DeviceType::GPU::Nvidia" <!-- The device is a Nvidia GPU -->
~"DeviceType::SMBus" <!-- The device is connected to the SMBus eg. RAM -->
~"DeviceType::WMI" <!-- The device is controlled thru Windows Management Instrumentation -->
~"DeviceType::WMI" <!-- The device is controlled through Windows Management Instrumentation -->
<!-- Please delete any lines that are not relevant -->
+4 -4
View File
@@ -53,7 +53,7 @@ bool AutoStart::DisableAutoStart()
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
@@ -75,7 +75,7 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
\*---------------------------------------------*/
if(!autostart_file_stream)
{
LOG_ERROR("Could not open %s for writing.", autostart_file.c_str());
LOG_ERROR("[AutoStart] Could not open %s for writing.", autostart_file.c_str());
success = false;
}
/*---------------------------------------------*\
@@ -89,13 +89,13 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
if (!success)
{
LOG_ERROR("An error occurred writing the auto start file.");
LOG_ERROR("[AutoStart] An error occurred writing the auto start file.");
}
}
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
+4 -4
View File
@@ -53,7 +53,7 @@ bool AutoStart::DisableAutoStart()
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
@@ -76,7 +76,7 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
\*---------------------------------------------*/
if(!autostart_file_stream)
{
LOG_ERROR("Could not open %s for writing.", autostart_file.c_str());
LOG_ERROR("[AutoStart] Could not open %s for writing.", autostart_file.c_str());
success = false;
}
/*---------------------------------------------*\
@@ -90,13 +90,13 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
if (!success)
{
LOG_ERROR("An error occurred writing the auto start file.");
LOG_ERROR("[AutoStart] An error occurred writing the auto start file.");
}
}
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
+4 -4
View File
@@ -53,7 +53,7 @@ bool AutoStart::DisableAutoStart()
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
@@ -76,7 +76,7 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
\*---------------------------------------------*/
if(!autostart_file_stream)
{
LOG_ERROR("Could not open %s for writing.", autostart_file.c_str());
LOG_ERROR("[AutoStart] Could not open %s for writing.", autostart_file.c_str());
success = false;
}
/*---------------------------------------------*\
@@ -90,13 +90,13 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
if (!success)
{
LOG_ERROR("An error occurred writing the auto start file.");
LOG_ERROR("[AutoStart] An error occurred writing the auto start file.");
}
}
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
+3 -3
View File
@@ -46,13 +46,13 @@ bool AutoStart::DisableAutoStart()
if(!success)
{
LOG_ERROR("An error occurred removing the auto start file.");
LOG_ERROR("[AutoStart] An error occurred removing the auto start file.");
}
}
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return(success);
@@ -124,7 +124,7 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
}
else
{
LOG_ERROR("Could not establish correct autostart file path.");
LOG_ERROR("[AutoStart] Could not establish correct autostart file path.");
}
return success;
+243
View File
@@ -0,0 +1,243 @@
#-----------------------------------------------------------#
# CMakeLists.txt #
# #
# CMake configuration for building OpenRGB #
# #
# Adam Honse (CalcProgrammer1) 24 May 2025 #
# #
# This file is part of the OpenRGB project #
# SPDX-License-Identifier: GPL-2.0-only #
#-----------------------------------------------------------#
cmake_minimum_required(VERSION 3.16)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
#-----------------------------------------------------------#
# Project Definition #
#-----------------------------------------------------------#
project(OpenRGB LANGUAGES CXX)
#-----------------------------------------------------------#
# Executable #
#-----------------------------------------------------------#
add_executable(OpenRGB)
#-----------------------------------------------------------#
# CMake Configuration #
#-----------------------------------------------------------#
set(CMAKE_CXX_STANDARD 17 )
set(CMAKE_CXX_STANDARD_REQUIRED ON )
set(CMAKE_AUTOMOC ON )
set(CMAKE_AUTORCC ON )
set(CMAKE_AUTOUIC ON )
set(CMAKE_INCLUDE_CURRENT_DIR ON )
#-----------------------------------------------------------#
# Qt Configuration #
#-----------------------------------------------------------#
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
qt_standard_project_setup()
#-----------------------------------------------------------#
# Version #
#-----------------------------------------------------------#
set(MAJOR "0" )
set(MINOR "9" )
set(SUFFIX "git" )
#-----------------------------------------------------------#
# Git Information #
#-----------------------------------------------------------#
set(LASTTAG "release_${MAJOR}.${MINOR}" )
execute_process(COMMAND git rev-parse --short=7 HEAD
OUTPUT_VARIABLE SHORTHASH
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND git rev-list --count ${LASTTAG}..HEAD
OUTPUT_VARIABLE COMMITS
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND sh ${CMAKE_SOURCE_DIR}/scripts/git-get-branch.sh
OUTPUT_VARIABLE GITBRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE)
#-----------------------------------------------------------#
# Version Strings #
#-----------------------------------------------------------#
set(VERSION_NUM "${MAJOR}.${MINOR}.${COMMITS}" )
set(VERSION_STR "${MAJOR}.${MINOR}" )
set(VERSION_DEB ${VERSION_NUM} )
set(VERSION_WIX ${VERSION_NUM} )
set(VERSION_AUR ${VERSION_NUM} )
set(VERSION_RPM ${VERSION_NUM} )
#-----------------------------------------------------------#
# If suffix is "git", use package-specific git versioning #
# Otherwise, append suffix if it is not empty #
#-----------------------------------------------------------#
if("${SUFFIX}" STREQUAL "git")
set(VERSION_STR "${VERSION_STR}+ (${SUFFIX}${COMMITS})" )
set(VERSION_DEB "${VERSION_DEB}~git${SHORTHASH}" )
set(VERSION_AUR "${VERSION_AUR}.g${SHORTHASH}" )
set(VERSION_RPM "${VERSION_RPM}^git${SHORTHASH}" )
elseif(NOT "${SUFFIX}" STREQUAL "")
set(VERSION_STR "${VERSION_STR}+ (${SUFFIX})" )
set(VERSION_DEB "${VERSION_DEB}~${SUFFIX}" )
set(VERSION_AUR "${VERSION_AUR}.${SUFFIX}" )
set(VERSION_RPM "${VERSION_RPM}^${SUFFIX}" )
endif()
#-----------------------------------------------------------#
# Print build configuration information #
#-----------------------------------------------------------#
message(STATUS "OpenRGB ${VERSION_STR} CMake Build" )
message(STATUS "-------------------------------------------")
message(STATUS " Last release tag: ${LASTTAG}" )
message(STATUS " Shorthash: ${SHORTHASH}" )
message(STATUS " Commits since release: ${COMMITS}" )
message(STATUS " Git branch: ${GITBRANCH}" )
message(STATUS " Version: Main: ${VERSION_STR}" )
message(STATUS " Windows: ${VERSION_WIX}" )
message(STATUS " Debian: ${VERSION_DEB}" )
message(STATUS " Arch (AUR): ${VERSION_AUR}" )
message(STATUS " Fedora: ${VERSION_RPM}" )
#-----------------------------------------------------------#
# Build list of controller headers, include directories, #
# and source files #
#-----------------------------------------------------------#
file(GLOB_RECURSE children LIST_DIRECTORIES true
"${CMAKE_SOURCE_DIR}/Controllers/*" )
foreach(child ${children})
if(IS_DIRECTORY ${curdir}/${child})
list(APPEND CONTROLLER_INC ${child})
endif()
endforeach()
file(GLOB_RECURSE CONTROLLER_H
"${CMAKE_SOURCE_DIR}/Controllers/*.h" )
file(GLOB_RECURSE CONTROLLER_CPP
"${CMAKE_SOURCE_DIR}/Controllers/*.cpp" )
#-----------------------------------------------------------#
# Remove OS-specific files from the overall controller #
# headers and sources lists. The suffixes _Windows, _Linux,#
# _FreeBSD, and _MacOS are usable to denote that a file #
# only applies to one or more OSes. The suffixes may be #
# combined such as <file>_Windows_Linux.cpp. #
#-----------------------------------------------------------#
file(GLOB_RECURSE CONTROLLER_H_WINDOWS
"${CMAKE_SOURCE_DIR}/Controllers/*_Windows*.h" )
file(GLOB_RECURSE CONTROLLER_CPP_WINDOWS
"${CMAKE_SOURCE_DIR}/Controllers/*_Windows*.cpp" )
file(GLOB_RECURSE CONTROLLER_H_LINUX
"${CMAKE_SOURCE_DIR}/Controllers/*_Linux*.h" )
file(GLOB_RECURSE CONTROLLER_CPP_LINUX
"${CMAKE_SOURCE_DIR}/Controllers/*_Linux*.cpp" )
file(GLOB_RECURSE CONTROLLER_H_MACOS
"${CMAKE_SOURCE_DIR}/Controllers/*_MacOS*.h" )
file(GLOB_RECURSE CONTROLLER_CPP_MACOS
"${CMAKE_SOURCE_DIR}/Controllers/*_MacOS*.cpp" )
file(GLOB_RECURSE CONTROLLER_H_FREEBSD
"${CMAKE_SOURCE_DIR}/Controllers/*_FreeBSD*.h" )
file(GLOB_RECURSE CONTROLLER_CPP_FREEBSD
"${CMAKE_SOURCE_DIR}/Controllers/*_FreeBSD*.cpp" )
list(REMOVE_ITEM CONTROLLER_H ${CONTROLLER_H_WINDOWS} )
list(REMOVE_ITEM CONTROLLER_CPP ${CONTROLLER_CPP_WINDOWS} )
list(REMOVE_ITEM CONTROLLER_H ${CONTROLLER_H_LINUX} )
list(REMOVE_ITEM CONTROLLER_CPP ${CONTROLLER_CPP_LINUX} )
list(REMOVE_ITEM CONTROLLER_H ${CONTROLLER_H_MACOS} )
list(REMOVE_ITEM CONTROLLER_CPP ${CONTROLLER_CPP_MACOS} )
list(REMOVE_ITEM CONTROLLER_H ${CONTROLLER_H_FREEBSD} )
list(REMOVE_ITEM CONTROLLER_CPP ${CONTROLLER_CPP_FREEBSD} )
target_sources(OpenRGB PRIVATE ${CONTROLLER_CPP} )
target_include_directories(OpenRGB PRIVATE ${CONTROLLER_INC})
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/AutoStart)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/dmiinfo)
target_sources(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/dmiinfo/dmiinfo.cpp)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/hidapi_wrapper)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/i2c_smbus)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/i2c_tools)
target_sources(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/i2c_tools/i2c_tools.cpp)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/interop)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/KeyboardLayoutManager)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/net_port)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/pci_ids)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/qt)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/RGBController)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/scsiapi)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/serial_port)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/SPDAccessor)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/super_io)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/SuspendResume)
target_include_directories(OpenRGB PRIVATE ${CMAKE_SOURCE_DIR}/wmi)
#-----------------------------------------------------------#
# CRCpp #
#-----------------------------------------------------------#
set(CRCPP_DIR ${CMAKE_SOURCE_DIR}/dependencies/CRCpp)
add_library(CRCpp INTERFACE)
target_include_directories(CRCpp INTERFACE ${CRCPP_DIR}/)
target_link_libraries(OpenRGB CRCpp)
#-----------------------------------------------------------#
# hidapi #
#-----------------------------------------------------------#
find_package(hidapi REQUIRED)
target_link_libraries(OpenRGB hidapi::hidapi)
#-----------------------------------------------------------#
# httplib #
#-----------------------------------------------------------#
set(HTTPLIB_DIR ${CMAKE_SOURCE_DIR}/dependencies/httplib)
add_library(httplib INTERFACE)
target_include_directories(httplib INTERFACE ${HTTPLIB_DIR}/)
target_link_libraries(OpenRGB httplib)
#-----------------------------------------------------------#
# libe131 #
#-----------------------------------------------------------#
set(LIBE131_DIR ${CMAKE_SOURCE_DIR}/dependencies/libe131)
add_library(libe131 STATIC)
target_include_directories(libe131 PUBLIC ${LIBE131_DIR}/src)
target_sources(libe131 PRIVATE ${LIBE131_DIR}/src/e131.c)
target_link_libraries(OpenRGB libe131)
#-----------------------------------------------------------#
# libusb #
#-----------------------------------------------------------#
find_package(PkgConfig REQUIRED)
pkg_check_modules(libusb-1.0 REQUIRED IMPORTED_TARGET GLOBAL libusb-1.0)
target_link_libraries(OpenRGB PkgConfig::libusb-1.0)
#-----------------------------------------------------------#
# hueplusplus #
#-----------------------------------------------------------#
add_subdirectory(${CMAKE_SOURCE_DIR}/dependencies/hueplusplus-1.2.0)
target_link_libraries(OpenRGB hueplusplusstatic)
#-----------------------------------------------------------#
# nlohmann_json #
#-----------------------------------------------------------#
find_package(nlohmann_json REQUIRED)
target_link_libraries(OpenRGB nlohmann_json)
@@ -13,9 +13,8 @@
/*-----------------------------------------------------*\
| OpenRGB includes |
\*-----------------------------------------------------*/
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "Detector.h"
#include "RGBController.h"
/*-----------------------------------------------------*\
| A4 Tech specific includes |
@@ -56,7 +55,9 @@ void DetectBloodyB820R(hid_device_info* info, const std::string& name)
}
}
REGISTER_HID_DETECTOR_IPU("Bloody W60 Pro", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W60_PRO_PID, 2, 0xFF33, 0x0529);
REGISTER_HID_DETECTOR_IPU("Bloody W90 Max", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W90_MAX_PID, 2, 0xFF33, 0x053D);
REGISTER_HID_DETECTOR_IPU("Bloody MP 50RS", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_MP_50RS_PID, 2, 0xFFF2, 0x6009);
REGISTER_HID_DETECTOR_IPU("A4Tech Bloody B820R", DetectBloodyB820R, A4_TECH_VID, BLOODY_B820R_PID, 2, 0xFF52, 0x0210);
REGISTER_HID_DETECTOR_IPU("Bloody W60 Pro", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W60_PRO_PID, 2, 0xFF33, 0x0529);
REGISTER_HID_DETECTOR_IPU("Bloody W70 Max", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W70_MAX_PID, 2, 0xFF33, 0x0518);
REGISTER_HID_DETECTOR_IPU("Bloody W90 Max", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W90_MAX_PID, 2, 0xFF33, 0x053D);
REGISTER_HID_DETECTOR_IPU("Bloody W90 Pro", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_W90_PRO_PID, 2, 0xFF33, 0x054D);
REGISTER_HID_DETECTOR_IPU("Bloody MP 50RS", DetectA4TechMouseControllers, A4_TECH_VID, BLOODY_MP_50RS_PID, 2, 0xFFF2, 0x6009);
REGISTER_HID_DETECTOR_IPU("Bloody B820R", DetectBloodyB820R, A4_TECH_VID, BLOODY_B820R_PID, 2, 0xFF52, 0x0210);
@@ -10,6 +10,7 @@
\*---------------------------------------------------------*/
#include "BloodyB820RController.h"
#include "StringUtils.h"
/*-------------------------------------------------------------------------------------*\
| The controller for this device should pass a packet of 64 bytes where the subsequent |
@@ -35,14 +36,15 @@ BloodyB820RController::~BloodyB820RController()
std::string BloodyB820RController::GetSerial()
{
const int szTemp = HID_MAX_STR;
wchar_t tmpName[szTemp];
wchar_t serial_string[HID_MAX_STR];
int ret = hid_get_serial_number_string(dev, serial_string, HID_MAX_STR);
hid_get_serial_number_string(dev, tmpName, szTemp);
std::wstring wName = std::wstring(tmpName);
std::string serial = std::string(wName.begin(), wName.end());
if(ret != 0)
{
return("");
}
return(serial);
return(StringUtils::wstring_to_string(serial_string));
}
std::string BloodyB820RController::GetLocation()
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
#define HID_MAX_STR 255
@@ -145,7 +145,7 @@ static const char *led_names[] =
@save :x:
@direct :white_check_mark:
@effects :x:
@detectors A4TechDetector
@detectors DetectBloodyB820R
@comment The A4Tech Bloody B820R keyboard controller currently
supports the full size (ANSI layout).
\*-------------------------------------------------------------------*/
@@ -10,7 +10,7 @@
\*---------------------------------------------------------*/
#include "BloodyMouseController.h"
#include "LogManager.h"
#include "StringUtils.h"
BloodyMouseController::BloodyMouseController(hid_device* dev_handle, const char* path, uint16_t product_id)
{
@@ -33,21 +33,15 @@ uint16_t BloodyMouseController::GetPid()
std::string BloodyMouseController::GetSerial()
{
const uint8_t sz = HID_MAX_STR;
wchar_t tmp[sz];
wchar_t serial_string[HID_MAX_STR];
int ret = hid_get_serial_number_string(dev, serial_string, HID_MAX_STR);
int ret = hid_get_serial_number_string(dev, tmp, sz);
if (ret != 0)
if(ret != 0)
{
LOG_DEBUG("[BloodyMouse] Get HID Serial string failed");
return("");
}
std::wstring w_tmp = std::wstring(tmp);
std::string serial = std::string(w_tmp.begin(), w_tmp.end());
return(serial);
return(StringUtils::wstring_to_string(serial_string));
}
std::string BloodyMouseController::GetLocation()
@@ -12,14 +12,16 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*-----------------------------------------------------*\
| Mouse product IDs |
\*-----------------------------------------------------*/
#define BLOODY_W60_PRO_PID 0x37EA
#define BLOODY_W70_MAX_PID 0x79EF
#define BLOODY_W90_MAX_PID 0x3666
#define BLOODY_W90_PRO_PID 0x39B6
/*-----------------------------------------------------*\
| Mousemat product IDs |
@@ -109,7 +109,9 @@ void RGBController_BloodyMouse::SetupZones()
case BLOODY_W60_PRO_PID:
layout = w60_pro;
break;
case BLOODY_W70_MAX_PID:
case BLOODY_W90_MAX_PID:
case BLOODY_W90_PRO_PID:
layout = w90_max;
break;
case BLOODY_MP_50RS_PID:
@@ -13,6 +13,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "AMDWraithPrismController.h"
#include "StringUtils.h"
AMDWraithPrismController::AMDWraithPrismController(hid_device* dev_handle, const char* path)
{
@@ -55,10 +56,7 @@ std::string AMDWraithPrismController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AMDWraithPrismController::GetFirmwareVersionString()
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
#define AMD_WRAITH_PRISM_FAN_BRIGHTNESS_DEFAULT_MAX 0xFF
@@ -9,10 +9,9 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "Detector.h"
#include "AMDWraithPrismController.h"
#include "RGBController.h"
#include "RGBController_AMDWraithPrism.h"
/*---------------------------------------------------------*\
@@ -13,6 +13,7 @@
#include <cstring>
#include <thread>
#include "AOCKeyboardController.h"
#include "StringUtils.h"
using namespace std::chrono_literals;
@@ -42,10 +43,7 @@ std::string AOCKeyboardController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AOCKeyboardController::SetLightingConfig
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*-----------------------------------------*\
@@ -11,7 +11,6 @@
#include "Detector.h"
#include "AOCKeyboardController.h"
#include "RGBController.h"
#include "RGBController_AOCKeyboard.h"
/*-----------------------------------------------------*\
@@ -35,10 +35,10 @@ layout_values aoc_keyboard_offset_values =
75, 76, 91, 62, 48, 64, 50, 65, 66, 67, 97, 68, 84, 70, 59, 74, 89, 58, 73, 88, 103,
/* TAB Q W E R T Y U I O P [ ] \ DEL END PGDN NP7 NP8 NP9 NP+ */
60, 61, 47, 78, 33, 49, 35, 80, 51, 52, 53, 69, 99, 25, 44, 29, 14, 43, 28, 13, 102,
/* CPLK A S D F G H J K L ; " ENTR NP4 NP5 NP6 */
45, 46, 32, 93, 18, 34, 20, 95, 36, 37, 38, 54, 10, 57, 72, 87,
/* LSFT Z X C V B N M , . / RSFT ARWU NP1 NP2 NP3 NPEN */
30, 31, 17, 2, 3, 19, 5, 6, 21, 22, 23, 39, 11, 42, 27, 12, 101,
/* CPLK A S D F G H J K L ; " # ENTR NP4 NP5 NP6 */
45, 46, 32, 93, 18, 34, 20, 95, 36, 37, 38, 54, 0, 10, 57, 72, 87,
/* LSFT \ Z X C V B N M , . / RSFT ARWU NP1 NP2 NP3 NPEN */
30, 0, 31, 17, 2, 3, 19, 5, 6, 21, 22, 23, 39, 11, 42, 27, 12, 101,
/* LCTL LWIN LALT SPC RALT RFNC RMNU RCTL ARWL ARWD ARWR NP0 NP. */
15, 0, 1, 4, 7, 8, 24, 9, 26, 41, 56, 71, 86
},
@@ -11,6 +11,7 @@
#include <cstring>
#include "AOCMouseController.h"
#include "StringUtils.h"
AOCMouseController::AOCMouseController(hid_device* dev_handle, const char* path)
{
@@ -38,10 +39,7 @@ std::string AOCMouseController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
/*-------------------------------------------------------------------------------------------------*\
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*-----------------------------------------*\
@@ -11,7 +11,6 @@
#include "Detector.h"
#include "AOCMouseController.h"
#include "RGBController.h"
#include "RGBController_AOCMouse.h"
/*-----------------------------------------------------*\
@@ -11,6 +11,7 @@
#include <cstring>
#include "AOCMousematController.h"
#include "StringUtils.h"
AOCMousematController::AOCMousematController(hid_device* dev_handle, const char* path)
{
@@ -38,10 +39,7 @@ std::string AOCMousematController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
/*-------------------------------------------------------------------------------------------------*\
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*-----------------------------------------*\
@@ -11,7 +11,6 @@
#include "Detector.h"
#include "AOCMousematController.h"
#include "RGBController.h"
#include "RGBController_AOCMousemat.h"
/*-----------------------------------------------------*\
@@ -11,10 +11,10 @@
\*---------------------------------------------------------*/
#include <cstring>
#include <stdio.h>
#include "RGBController.h"
#include "ResourceManager.h"
#include "SettingsManager.h"
#include "StringUtils.h"
#include "ASRockPolychromeUSBController.h"
#include "dmiinfo.h"
@@ -80,10 +80,7 @@ std::string PolychromeUSBController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void PolychromeUSBController::SetDeviceInfo()
@@ -13,7 +13,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*----------------------------------------------------------------------------------------------*\
@@ -156,7 +156,6 @@ protected:
);
private:
unsigned int led_count;
std::string device_name;
unsigned char configtable[12];
bool rgswapconfig[8] = { 0 };
@@ -10,16 +10,10 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "Detector.h"
#include "ASRockPolychromeUSBController.h"
#include "RGBController.h"
#include "RGBController_ASRockPolychromeUSB.h"
#include "i2c_smbus.h"
#include "pci_ids.h"
/*---------------------------------------------------------*\
| ASRock vendor ID |
@@ -31,7 +31,6 @@ public:
void DeviceUpdateMode();
private:
bool initializedMode;
PolychromeUSBController* controller;
std::vector<PolychromeZoneInfo> zones_info;
@@ -169,7 +169,7 @@ void RGBController_ASRockASRRGBSMBus::ResizeZone(int /*zone*/, int /*new_size*/)
void RGBController_ASRockASRRGBSMBus::DeviceUpdateLEDs()
{
for(int led = 0; led < colors.size(); led++)
for(unsigned int led = 0; led < colors.size(); led++)
{
UpdateSingleLED(led);
}
@@ -290,7 +290,7 @@ void RGBController_ASRockPolychromeV2SMBus::ResizeZone(int /*zone*/, int /*new_s
void RGBController_ASRockPolychromeV2SMBus::DeviceUpdateLEDs()
{
for(int led = 0; led < colors.size(); led++)
for(unsigned int led = 0; led < colors.size(); led++)
{
UpdateSingleLED(led);
}
@@ -10,15 +10,12 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include "Detector.h"
#include "ASRockASRRGBSMBusController.h"
#include "ASRockPolychromeV1SMBusController.h"
#include "ASRockPolychromeV2SMBusController.h"
#include "LogManager.h"
#include "RGBController.h"
#include "RGBController_ASRockASRRGBSMBus.h"
#include "RGBController_ASRockPolychromeV1SMBus.h"
#include "RGBController_ASRockPolychromeV2SMBus.h"
@@ -19,6 +19,7 @@
#include "RGBController.h"
#include "AlienwareController.h"
#include "LogManager.h"
#include "StringUtils.h"
typedef uint32_t alienware_platform_id;
@@ -30,7 +31,8 @@ static const std::map<alienware_platform_id, uint8_t> zone_quirks_table =
{
{ 0x0C01, 4 }, // Dell G5 SE 5505
{ 0x0A01, 16 }, // Dell G7 15 7500
{ 0x0E03, 4 } // Dell G15 5511
{ 0x0E03, 4 }, // Dell G15 5511
{ 0x0E0A, 4 } // Dell G15 5530
};
@@ -46,7 +48,8 @@ static const std::map<alienware_platform_id, std::vector<const char*>> zone_name
"Light Bar 4", "Light Bar 5", "Light Bar 6",
"Light Bar 7", "Light Bar 8", "Light Bar 9",
"Light Bar 10", "Light Bar 11", "Light Bar 12" } },
{ 0x0E03, { "Left", "Middle", "Right", "Numpad" } }
{ 0x0E03, { "Left", "Middle", "Right", "Numpad" } },
{ 0x0E0A, { "Left", "Middle", "Right", "Numpad" } }
};
static void SendHIDReport(hid_device *dev, const unsigned char* usb_buf, size_t usb_buf_size)
@@ -87,9 +90,7 @@ AlienwareController::AlienwareController(hid_device* dev_handle, const hid_devic
/*-----------------------------------------------------*\
| Get serial number |
\*-----------------------------------------------------*/
std::wstring tmp_serial_number;
tmp_serial_number = info.serial_number;
serial_number = std::string(tmp_serial_number.begin(), tmp_serial_number.end());
serial_number = StringUtils::wstring_to_string(info.serial_number);
/*-----------------------------------------------------*\
| Get zone information by checking firmware |
@@ -98,6 +99,11 @@ AlienwareController::AlienwareController(hid_device* dev_handle, const hid_devic
report = Report(ALIENWARE_COMMAND_REPORT_CONFIG);
alienware_platform_id platform_id = report.data[4] << 8 | report.data[5];
/*-----------------------------------------------------*\
| Check if the device reports the wrong number of zones |
\*-----------------------------------------------------*/
unsigned number_of_zones = zone_quirks_table.count(platform_id) ? zone_quirks_table.at(platform_id) : report.data[6];
/*-----------------------------------------------------*\
| Get firmware version |
\*-----------------------------------------------------*/
@@ -108,11 +114,6 @@ AlienwareController::AlienwareController(hid_device* dev_handle, const hid_devic
fw_string << static_cast<unsigned>(report.data[4]) << '.' << static_cast<unsigned>(report.data[5]) << '.' << static_cast<unsigned>(report.data[6]);
version = fw_string.str();
/*-----------------------------------------------------*\
| Check if the device reports the wrong number of zones |
\*-----------------------------------------------------*/
unsigned number_of_zones = zone_quirks_table.count(platform_id) ? zone_quirks_table.at(platform_id) : report.data[6];
/*-----------------------------------------------------*\
| Initialize Alienware zones |
\*-----------------------------------------------------*/
@@ -654,7 +655,7 @@ void AlienwareController::UpdateDim()
for(size_t i = 0; i < zones.size(); i++)
{
dim_zone_map[zones[i].dim].emplace_back(i);
dim_zone_map[zones[i].dim].emplace_back((uint8_t)i);
}
for(std::pair<const uint8_t, std::vector<uint8_t>> &pair : dim_zone_map)
@@ -681,7 +682,7 @@ bool AlienwareController::UpdateDirect()
for(size_t i = 0; i < zones.size(); i++)
{
color_zone_map[zones[i].color[0]].emplace_back(i);
color_zone_map[zones[i].color[0]].emplace_back((uint8_t)i);
}
for(std::pair<const RGBColor, std::vector<uint8_t>> &pair : color_zone_map)
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
/*----------------------------------------------------------------------------------------------*\
@@ -9,7 +9,6 @@
#include "Detector.h"
#include "AlienwareController.h"
#include "RGBController.h"
#include "RGBController_Alienware.h"
/*---------------------------------------------------------*\
@@ -20,7 +19,8 @@
/*---------------------------------------------------------*\
| Alienware product ID |
\*---------------------------------------------------------*/
#define ALIENWARE_G_SERIES_PID 0x0550
#define ALIENWARE_G_SERIES_PID1 0x0550
#define ALIENWARE_G_SERIES_PID2 0x0551
void DetectAlienwareControllers(hid_device_info* info, const std::string& name)
{
@@ -35,4 +35,5 @@ void DetectAlienwareControllers(hid_device_info* info, const std::string& name)
}
}
REGISTER_HID_DETECTOR("Dell G Series LED Controller", DetectAlienwareControllers, ALIENWARE_VID, ALIENWARE_G_SERIES_PID);
REGISTER_HID_DETECTOR("Dell G Series LED Controller", DetectAlienwareControllers, ALIENWARE_VID, ALIENWARE_G_SERIES_PID1);
REGISTER_HID_DETECTOR("Dell G Series LED Controller", DetectAlienwareControllers, ALIENWARE_VID, ALIENWARE_G_SERIES_PID2);
@@ -12,6 +12,7 @@
#include <cstring>
#include "AlienwareAW410KController.h"
#include "StringUtils.h"
AlienwareAW410KController::AlienwareAW410KController(hid_device* dev_handle, const char* path)
{
@@ -35,15 +36,13 @@ std::string AlienwareAW410KController::GetSerialString()
{
wchar_t serial_string[128];
int ret = hid_get_serial_number_string(dev, serial_string, 128);
if(ret != 0)
{
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AlienwareAW410KController::SendCommit()
@@ -13,7 +13,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
enum
@@ -11,6 +11,7 @@
#include <cstring>
#include "AlienwareAW510KController.h"
#include "StringUtils.h"
AlienwareAW510KController::AlienwareAW510KController(hid_device* dev_handle, const char* path)
{
@@ -33,12 +34,14 @@ std::string AlienwareAW510KController::GetDeviceLocation()
std::string AlienwareAW510KController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, serial_string, 128);
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
if(ret != 0)
{
return("");
}
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AlienwareAW510KController::SendCommit()
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
enum
@@ -7,11 +7,10 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "Detector.h"
#include "AlienwareAW510KController.h"
#include "AlienwareAW410KController.h"
#include "RGBController.h"
#include "RGBController_AlienwareAW510K.h"
#include "RGBController_AlienwareAW410K.h"
@@ -0,0 +1,183 @@
/*---------------------------------------------------------*\
| AlienwareAW3423DWFController.cpp |
| |
| Driver for the Alienware AW3423DWF monitor |
| |
| Ferréol DUBOIS COLI (Fefe_du_973) 23 Jan 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <bitset>
#include <chrono>
#include <cstring>
#include <thread>
#include "AlienwareAW3423DWFController.h"
#include "StringUtils.h"
AlienwareAW3423DWFController::AlienwareAW3423DWFController(hid_device *dev_handle, const char *path) : dev(dev_handle), location(path){}
void AlienwareAW3423DWFController::SendControlPacket(const unsigned char *data, size_t length)
{
unsigned char buffer[256] = {0x00};
memcpy(buffer + 1, data, length);
hid_write(dev, buffer, length + 1);
}
std::vector<unsigned char> AlienwareAW3423DWFController::GetReportResponse()
{
uint8_t buffer[193];
memset(buffer, 0, 193);
hid_get_input_report(dev, buffer, 193);
return std::vector<unsigned char>(buffer + 1, buffer + 18);
}
void AlienwareAW3423DWFController::PerformLogin()
{
unsigned char init_packet[64] =
{
0x40, 0xE1, 0x01
};
SendControlPacket(init_packet, 4);
std::vector<unsigned char> response = GetReportResponse();
std::vector<unsigned char> key = GenerateKey(response);
unsigned char login_packet[192] = {0x00};
login_packet[0] = 0x40;
login_packet[1] = 0xE1;
login_packet[2] = 0x02;
memcpy(login_packet + 64, key.data(), key.size());
SendControlPacket(login_packet, 192);
}
void AlienwareAW3423DWFController::SendColor(unsigned char led_id, unsigned char r, unsigned char g, unsigned char b)
{
unsigned char led_id_2 = (led_id == 0x01) ? 0xf6 : (led_id == 0x02) ? 0xf5
: (led_id == 0x08) ? 0xff
: 0xfc;
PerformLogin();
unsigned char color_packet[192] = {0x00};
color_packet[0] = 0x40;
color_packet[1] = 0xC6;
color_packet[6] = 0x0A;
color_packet[8] = 0x6E;
color_packet[10] = 0x82;
color_packet[64] = 0x51;
color_packet[65] = 0x87;
color_packet[66] = 0xD0;
color_packet[67] = 0x04;
color_packet[68] = led_id;
color_packet[69] = r;
color_packet[70] = g;
color_packet[71] = b;
color_packet[72] = 0x64;
color_packet[73] = led_id_2;
SendControlPacket(color_packet, 192);
std::this_thread::sleep_for(std::chrono::milliseconds(200));
}
std::vector<unsigned char> AlienwareAW3423DWFController::GenerateKey(
const std::vector<unsigned char> &response)
{
std::vector<unsigned char> syn_key(8, 0);
const std::vector<unsigned char> oem_key = {
0xf5, 0x3f, 0xc1, 0x39, 0x44, 0x3a, 0x31, 0x79, 0x0d, 0xb1, 0x82, 0x76
};
size_t sk_idx = 0, ok_idx = 0;
while(ok_idx < oem_key.size() && sk_idx < 8)
{
unsigned char ok_sub_len = (oem_key[ok_idx] & 1) + ((oem_key[ok_idx] & 0x10) >> 4);
for(unsigned int i = 0; i < ok_sub_len && sk_idx < 8; i++)
{
syn_key[sk_idx] = oem_key[ok_idx + 1] ^ oem_key[ok_idx];
ok_idx++;
sk_idx++;
}
ok_idx++;
}
std::vector<unsigned char> out_buffer;
uint16_t v15 = static_cast<uint16_t>(response[15]) |
(static_cast<uint16_t>(response[0]) << 8);
bool parity_odd = (std::bitset<16>(v15).count() % 2 != 0);
if(parity_odd)
{
size_t end = std::min<size_t>(8, response.size());
out_buffer = std::vector<unsigned char>(response.begin(), response.begin() + end);
if(response.size() > 14)
{
unsigned char idx = response[14] & 0x07;
if((idx + 8) < response.size())
{
out_buffer[idx] ^= response[idx + 8];
}
}
}
else
{
size_t start = std::min<size_t>(8, response.size());
size_t end = std::min<size_t>(start + 8, response.size());
out_buffer = std::vector<unsigned char>(response.begin() + start, response.begin() + end);
if(response.size() > 6)
{
unsigned char idx = response[6] & 0x07;
if(idx < response.size())
{
out_buffer[idx] ^= response[idx];
}
}
}
for(size_t i = 0; i < 8 && i < out_buffer.size(); i++)
{
syn_key[i] ^= out_buffer[i];
}
return syn_key;
}
AlienwareAW3423DWFController::~AlienwareAW3423DWFController()
{
if(dev)
{
hid_close(dev);
dev = nullptr;
}
}
std::string AlienwareAW3423DWFController::GetLocation()
{
return "HID: " + location;
}
std::string AlienwareAW3423DWFController::GetSerialString()
{
wchar_t serial[256];
if(hid_get_serial_number_string(dev, serial, 256) >= 0)
{
std::wstring ws(serial);
return StringUtils::wstring_to_string(ws);
}
return "";
}
@@ -0,0 +1,40 @@
/*---------------------------------------------------------*\
| AlienwareAW3423DWFController.h |
| |
| Driver for the Alienware AW3423DWF monitor |
| |
| Ferréol DUBOIS COLI (Fefe_du_973) 23 Jan 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <hidapi.h>
#include <vector>
#include <string>
class AlienwareAW3423DWFController
{
public:
AlienwareAW3423DWFController(hid_device* dev_handle, const char* path);
~AlienwareAW3423DWFController();
std::string GetLocation();
std::string GetSerialString();
void SendColor(unsigned char led_id, unsigned char r, unsigned char g, unsigned char b);
private:
hid_device* dev;
std::string location;
unsigned char endpoint_out = 0x02;
unsigned char endpoint_in = 0x81;
static const std::vector<std::vector<unsigned char>> OEM_KEYS;
void PerformLogin();
std::vector<unsigned char> GenerateKey(const std::vector<unsigned char>& response);
void SendControlPacket(const unsigned char* data, size_t length);
std::vector<unsigned char> GetReportResponse();
};
@@ -0,0 +1,136 @@
/*---------------------------------------------------------*\
| AlienwareMonitorController.cpp |
| |
| Detector for Alienware monitors |
| |
| Adam Honse (CalcProgrammer1) 08 May 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <chrono>
#include <cstring>
#include <thread>
#include "AlienwareMonitorController.h"
AlienwareMonitorController::AlienwareMonitorController(hid_device *dev_handle, const char *path)
{
dev = dev_handle;
location = path;
Initialize();
}
AlienwareMonitorController::~AlienwareMonitorController()
{
hid_close(dev);
}
std::string AlienwareMonitorController::GetLocation()
{
return("HID: " + location);
}
std::string AlienwareMonitorController::GetSerialString()
{
return("");
}
void fillInChecksum(unsigned char *packet)
{
unsigned char checksum = 110;
for(unsigned int index = 5; index <= 13; index++)
{
checksum ^= packet[index];
}
packet[14] = checksum;
}
void AlienwareMonitorController::SendColor(unsigned char led_id, unsigned char r, unsigned char g, unsigned char b)
{
unsigned char packet[65];
memset(packet, 0xFF, sizeof(packet));
packet[1] = 0x92;
packet[2] = 0x37;
packet[3] = 0x0a;
packet[4] = 0x00;
packet[5] = 0x51;
packet[6] = 0x87;
packet[7] = 0xd0;
packet[8] = 0x04;
packet[9] = led_id;
packet[10] = r;
packet[11] = g;
packet[12] = b;
packet[13] = 0x64;
fillInChecksum(packet);
hid_write(dev, packet, sizeof(packet));
/*-----------------------------------------------------*\
| Delay 50 milliseconds |
\*-----------------------------------------------------*/
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
void AlienwareMonitorController::Initialize()
{
unsigned char packet[65];
memset(packet, 0xFF, sizeof(packet));
packet[1] = 0x95;
packet[2] = 0x00;
packet[3] = 0x00;
packet[4] = 0x00;
hid_write(dev, packet, sizeof(packet));
/*-----------------------------------------------------*\
| Delay 50 milliseconds |
\*-----------------------------------------------------*/
std::this_thread::sleep_for(std::chrono::milliseconds(50));
memset(packet, 0xFF, sizeof(packet));
packet[1] = 0x92;
packet[2] = 0x37;
packet[3] = 0x08;
packet[4] = 0x00;
packet[5] = 0x51;
packet[6] = 0x85;
packet[7] = 0x01;
packet[8] = 0xFE;
packet[9] = 0x03;
packet[10] = 0x00;
packet[11] = 0x06;
packet[12] = 0x40;
hid_write(dev, packet, sizeof(packet));
/*-----------------------------------------------------*\
| Delay 50 milliseconds |
\*-----------------------------------------------------*/
std::this_thread::sleep_for(std::chrono::milliseconds(50));
memset(packet, 0x00, sizeof(packet));
packet[1] = 0x93;
packet[2] = 0x37;
packet[3] = 0x12;
hid_write(dev, packet, sizeof(packet));
/*-----------------------------------------------------*\
| Delay 50 milliseconds |
\*-----------------------------------------------------*/
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
@@ -0,0 +1,33 @@
/*---------------------------------------------------------*\
| AlienwareMonitorController.h |
| |
| Detector for Alienware monitors |
| |
| Adam Honse (CalcProgrammer1) 08 May 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <hidapi.h>
#include <vector>
#include <string>
class AlienwareMonitorController
{
public:
AlienwareMonitorController(hid_device* dev_handle, const char* path);
~AlienwareMonitorController();
std::string GetLocation();
std::string GetSerialString();
void SendColor(unsigned char led_id, unsigned char r, unsigned char g, unsigned char b);
private:
hid_device* dev;
std::string location;
void Initialize();
};
@@ -0,0 +1,66 @@
/*---------------------------------------------------------*\
| AlienwareMonitorControllerDetect.cpp |
| |
| Detector for Alienware monitors |
| |
| Adam Honse (CalcProgrammer1) 08 May 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AlienwareAW3423DWFController.h"
#include "AlienwareMonitorController.h"
#include "RGBController_AlienwareAW3423DWF.h"
#include "RGBController_AlienwareMonitor.h"
#include <hidapi.h>
/*---------------------------------------------------------*\
| Alienware Vendor ID |
\*---------------------------------------------------------*/
#define ALIENWARE_VID 0x187C
/*---------------------------------------------------------*\
| Alienware Vendor ID |
\*---------------------------------------------------------*/
#define ALIENWARE_AW3423DWF_PID 0x100E
#define ALIENWARE_AW3225QF_PID 0x1013
#define ALIENWARE_USAGE_PAGE 0xFFDA
#define ALIENWARE_USAGE 0x00DA
/******************************************************************************************\
* *
* AlienwareAW3423DWFControllerDetect *
* *
* Tests the USB address to see if an Alienware AW3423DWF exists there. *
* *
\******************************************************************************************/
void DetectAlienwareAW3423DWFControllers(hid_device_info* info, const std::string&)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
AlienwareAW3423DWFController* controller = new AlienwareAW3423DWFController(dev, info->path);
RGBController_AlienwareAW3423DWF* rgb_controller = new RGBController_AlienwareAW3423DWF(controller);
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
void DetectAlienwareMonitorControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
AlienwareMonitorController* controller = new AlienwareMonitorController(dev, info->path);
RGBController_AlienwareMonitor* rgb_controller = new RGBController_AlienwareMonitor(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
REGISTER_HID_DETECTOR("Alienware AW3423DWF", DetectAlienwareAW3423DWFControllers, ALIENWARE_VID, ALIENWARE_AW3423DWF_PID);
REGISTER_HID_DETECTOR("Alienware AW3225QF", DetectAlienwareMonitorControllers, ALIENWARE_VID, ALIENWARE_AW3225QF_PID);
@@ -0,0 +1,141 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareAW3423DWF.cpp |
| |
| RGBController for the Alienware AW3423DWF monitor |
| |
| Ferréol DUBOIS COLI (Fefe_du_973) 23 Jan 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AlienwareAW3423DWF.h"
/**------------------------------------------------------------------*\
@name AW3423DWF
@category Accessory
@type USB
@save :x:
@direct :white_check_mark:
@effects :x:
@detectors DetectAlienwareAW3423DWFControllers
@comment
\*-------------------------------------------------------------------*/
RGBController_AlienwareAW3423DWF::RGBController_AlienwareAW3423DWF(AlienwareAW3423DWFController* controller_ptr)
{
controller = controller_ptr;
name = "Alienware AW3423DWF";
vendor = "Alienware";
type = DEVICE_TYPE_MONITOR;
description = "Alienware AW3423DWF Monitor Device";
location = controller->GetLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
active_mode = 0;
SetupZones();
}
RGBController_AlienwareAW3423DWF::~RGBController_AlienwareAW3423DWF()
{
delete controller;
}
void RGBController_AlienwareAW3423DWF::SetupZones()
{
zone Logo;
Logo.name = "Logo";
Logo.type = ZONE_TYPE_SINGLE;
Logo.leds_min = 1;
Logo.leds_max = 1;
Logo.leds_count = 1;
Logo.matrix_map = NULL;
zones.push_back(Logo);
led Logo_LED;
Logo_LED.name = "Logo";
Logo_LED.value = 0x01;
leds.push_back(Logo_LED);
zone Number;
Number.name = "Number";
Number.type = ZONE_TYPE_SINGLE;
Number.leds_min = 1;
Number.leds_max = 1;
Number.leds_count = 1;
Number.matrix_map = NULL;
zones.push_back(Number);
led Number_LED;
Number_LED.name = "Number";
Number_LED.value = 0x02;
leds.push_back(Number_LED);
zone PowerButton;
PowerButton.name = "Power Button";
PowerButton.type = ZONE_TYPE_SINGLE;
PowerButton.leds_min = 1;
PowerButton.leds_max = 1;
PowerButton.leds_count = 1;
PowerButton.matrix_map = NULL;
zones.push_back(PowerButton);
led PowerButton_LED;
PowerButton_LED.name = "Power Button";
PowerButton_LED.value = 0x08;
leds.push_back(PowerButton_LED);
SetupColors();
}
void RGBController_AlienwareAW3423DWF::ResizeZone(int /*zone*/, int /*new_size*/)
{
}
void RGBController_AlienwareAW3423DWF::DeviceUpdateLEDs()
{
/*-----------------------------------------------------*\
| If all three colors are the same value, speed up the |
| direct mode by using the ALL target (0x0B) instead of |
| setting each LED individually. |
\*-----------------------------------------------------*/
if((colors[0] == colors[1]) && (colors[1] == colors[2]))
{
unsigned char red = RGBGetRValue(colors[0]);
unsigned char grn = RGBGetGValue(colors[0]);
unsigned char blu = RGBGetBValue(colors[0]);
controller->SendColor(0x0B, red, grn, blu);
}
else
{
for(unsigned int led_idx = 0; led_idx < leds.size(); led_idx++)
{
UpdateSingleLED(led_idx);
}
}
}
void RGBController_AlienwareAW3423DWF::UpdateZoneLEDs(int /*zone*/)
{
DeviceUpdateLEDs();
}
void RGBController_AlienwareAW3423DWF::UpdateSingleLED(int led)
{
unsigned char red = RGBGetRValue(colors[led]);
unsigned char grn = RGBGetGValue(colors[led]);
unsigned char blu = RGBGetBValue(colors[led]);
controller->SendColor(leds[led].value, red, grn, blu);
}
void RGBController_AlienwareAW3423DWF::DeviceUpdateMode()
{
}
@@ -0,0 +1,34 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareAW3423DWF.h |
| |
| RGBController for the Alienware AW3423DWF monitor |
| |
| Ferréol DUBOIS COLI (Fefe_du_973) 23 Jan 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "AlienwareAW3423DWFController.h"
#include "RGBController.h"
class RGBController_AlienwareAW3423DWF : public RGBController
{
public:
explicit RGBController_AlienwareAW3423DWF(AlienwareAW3423DWFController* controller_ptr);
~RGBController_AlienwareAW3423DWF();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareAW3423DWFController* controller;
};
@@ -0,0 +1,143 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareMonitor.cpp |
| |
| RGBController for Alienware monitors |
| |
| Adam Honse (CalcProgrammer1) 08 May 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AlienwareMonitor.h"
/**------------------------------------------------------------------*\
@name Alienware Monitor
@category Accessory
@type USB
@save :x:
@direct :white_check_mark:
@effects :x:
@detectors DetectAlienwareMonitorControllers
@comment
\*-------------------------------------------------------------------*/
RGBController_AlienwareMonitor::RGBController_AlienwareMonitor(AlienwareMonitorController* controller_ptr)
{
controller = controller_ptr;
name = "Alienware Monitor";
description = "Alienware Monitor";
vendor = "Alienware";
type = DEVICE_TYPE_MONITOR;
location = controller->GetLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
active_mode = 0;
SetupZones();
}
RGBController_AlienwareMonitor::~RGBController_AlienwareMonitor()
{
delete controller;
}
void RGBController_AlienwareMonitor::SetupZones()
{
zone Logo;
Logo.name = "Logo";
Logo.type = ZONE_TYPE_SINGLE;
Logo.leds_min = 1;
Logo.leds_max = 1;
Logo.leds_count = 1;
Logo.matrix_map = NULL;
zones.push_back(Logo);
led Logo_LED;
Logo_LED.name = "Logo";
Logo_LED.value = 0x01;
leds.push_back(Logo_LED);
zone Number;
Number.name = "Number";
Number.type = ZONE_TYPE_SINGLE;
Number.leds_min = 1;
Number.leds_max = 1;
Number.leds_count = 1;
Number.matrix_map = NULL;
zones.push_back(Number);
led Number_LED;
Number_LED.name = "Number";
Number_LED.value = 0x02;
leds.push_back(Number_LED);
zone PowerButton;
PowerButton.name = "Power Button";
PowerButton.type = ZONE_TYPE_SINGLE;
PowerButton.leds_min = 1;
PowerButton.leds_max = 1;
PowerButton.leds_count = 1;
PowerButton.matrix_map = NULL;
zones.push_back(PowerButton);
led PowerButton_LED;
PowerButton_LED.name = "Power Button";
PowerButton_LED.value = 0x08;
leds.push_back(PowerButton_LED);
SetupColors();
}
void RGBController_AlienwareMonitor::ResizeZone(int /*zone*/, int /*new_size*/)
{
}
void RGBController_AlienwareMonitor::DeviceUpdateLEDs()
{
/*-----------------------------------------------------*\
| If all three colors are the same value, speed up the |
| direct mode by using the ALL target (0x0B) instead of |
| setting each LED individually. |
\*-----------------------------------------------------*/
if((colors[0] == colors[1]) && (colors[1] == colors[2]))
{
unsigned char red = RGBGetRValue(colors[0]);
unsigned char grn = RGBGetGValue(colors[0]);
unsigned char blu = RGBGetBValue(colors[0]);
controller->SendColor(0x0B, red, grn, blu);
}
else
{
for(unsigned int led_idx = 0; led_idx < leds.size(); led_idx++)
{
UpdateSingleLED(led_idx);
}
}
}
void RGBController_AlienwareMonitor::UpdateZoneLEDs(int /*zone*/)
{
DeviceUpdateLEDs();
}
void RGBController_AlienwareMonitor::UpdateSingleLED(int led)
{
unsigned char red = RGBGetRValue(colors[led]);
unsigned char grn = RGBGetGValue(colors[led]);
unsigned char blu = RGBGetBValue(colors[led]);
controller->SendColor(leds[led].value, red, grn, blu);
}
void RGBController_AlienwareMonitor::DeviceUpdateMode()
{
}
@@ -0,0 +1,34 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareMonitor.h |
| |
| RGBController for Alienware monitors |
| |
| Adam Honse (CalcProgrammer1) 08 May 2025 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AlienwareMonitorController.h"
class RGBController_AlienwareMonitor : public RGBController
{
public:
RGBController_AlienwareMonitor(AlienwareMonitorController* controller_ptr);
~RGBController_AlienwareMonitor();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareMonitorController* controller;
};
@@ -10,6 +10,7 @@
\*---------------------------------------------------------*/
#include "AnnePro2Controller.h"
#include "StringUtils.h"
using namespace std::chrono_literals;
@@ -39,10 +40,7 @@ std::string AnnePro2Controller::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AnnePro2Controller::SendDirect(unsigned char frame_count, unsigned char * frame_data)
@@ -13,7 +13,7 @@
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
class AnnePro2Controller
@@ -11,9 +11,8 @@
#include "Detector.h"
#include "AnnePro2Controller.h"
#include "RGBController.h"
#include "RGBController_AnnePro2.h"
#include <hidapi/hidapi.h>
#include <hidapi.h>
/*---------------------------------------------------------*\
| Anne Pro 2 vendor IDs |
@@ -9,12 +9,9 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include "Detector.h"
#include "ArcticController.h"
#include "RGBController.h"
#include "RGBController_Arctic.h"
#include "find_usb_serial_port.h"
@@ -47,5 +44,5 @@ REGISTER_DETECTOR("Arctic RGB controller", DetectArcticControllers);
/*---------------------------------------------------------------------------------------------------------*\
| Entries for dynamic UDEV rules |
| |
| DUMMY_DEVICE_DETECTOR("Arctic RGB controller", DetectArcticControllers, 0x1a86, 0x7523 ) |
| DUMMY_DEVICE_DETECTOR("Arctic RGB controller", DetectArcticControllers, 0x1A86, 0x7523 ) |
\*---------------------------------------------------------------------------------------------------------*/
@@ -11,6 +11,7 @@
#include <cstring>
#include "AsusAuraCoreController.h"
#include "StringUtils.h"
#define AURA_CORE_MAX_MESSAGE_SIZE 64
@@ -49,10 +50,7 @@ std::string AuraCoreController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AuraCoreController::SendBrightness
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
enum AuraCoreDeviceType
@@ -15,12 +15,10 @@
#include "RGBController.h"
#include "RGBController_AsusAuraCore.h"
#include "RGBController_AsusAuraCoreLaptop.h"
#include <hidapi/hidapi.h>
#include <hidapi.h>
#define AURA_CORE_VID 0x0B05
#define AURA_STRIX_SCAR_15_PID 0x19B6
/******************************************************************************************\
* *
* DetectAuraCoreControllers *
@@ -10,43 +10,9 @@
\*---------------------------------------------------------*/
#include "AsusAuraCoreLaptopController.h"
#include "dmiinfo.h"
#include "SettingsManager.h"
static uint8_t packet_map[ASUSAURACORELAPTOP_KEYCOUNT +
ASUSAURACORELAPTOP_LIGHTBARCOUNT +
ASUSAURACORELAPTOP_LIDCOUNT ] =
{
/*00 ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 */
21, 23, 24, 25, 26, 28, 29, 30, 31, 33,
/*10 F10 F11 F12 DEL ` 1 2 3 4 5 */
34, 35, 36, 37, 42, 43, 44, 45, 46, 47,
/*20 6 7 8 9 0 - = BSP BSP BSP */
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
/*30 PLY TAB Q W E R T Y U I */
58, 63, 64, 65, 66, 67, 68, 69, 70, 71,
/*40 O P [ ] \ STP CAP A S D */
72, 73, 74, 75, 76, 79, 84, 85, 86, 87,
/*50 F G H J K L ; ' ENT PRV */
88, 89, 90, 91, 92, 93, 94, 95, 98, 100,
/*60 LSH Z X C V B N M , . */
105, 107, 108, 109, 110, 111, 112, 113, 114, 115,
/*70 / RSH UP NXT LCTL LFN LWIN LALT SPC RALT */
116, 119, 139, 121, 126, 127, 128, 129, 131, 135,
/*80 RCTL LFT DWN RGT PRT KSTN VDN VUP MICM HPFN */
137, 159, 160, 161, 142, 175, 2, 3, 4, 5,
/*90 ARMC LB1 LB2 LB3 LB4 LB5 LB6 LOGO LIDL LIDR */
6, 174, 173, 172, 171, 170, 169, 167, 176, 177,
};
#include "StringUtils.h"
static std::string power_zones[ASUSAURACORELAPTOP_POWER_ZONES] =
{
@@ -66,21 +32,42 @@ static std::string power_states[ASUSAURACORELAPTOP_POWER_STATES] =
AsusAuraCoreLaptopController::AsusAuraCoreLaptopController(hid_device* dev_handle, const char* path)
{
const uint8_t sz = HID_MAX_STR;
wchar_t tmp[sz];
dev = dev_handle;
location = path;
dev = dev_handle;
location = path;
/*---------------------------------------------------------*\
| The motherboard name will uniquely ID the laptop to |
| determine the metadata of the device. |
\*---------------------------------------------------------*/
DMIInfo dmi_info;
std::string dmi_name = dmi_info.getMainboard();
bool not_found = true;
hid_get_manufacturer_string(dev, tmp, sz);
std::wstring wName = std::wstring(tmp);
device_name = std::string(wName.begin(), wName.end());
for(uint16_t i = 0; i < AURA_CORE_LAPTOP_DEVICE_COUNT; i++)
{
if(aura_core_laptop_device_list[i]->dmi_name == dmi_name)
{
/*---------------------------------------------------------*\
| Set device ID |
\*---------------------------------------------------------*/
not_found = false;
device_index = i;
break;
}
}
hid_get_product_string(dev, tmp, sz);
wName = std::wstring(tmp);
device_name.append(" ").append(std::string(wName.begin(), wName.end()));
if(not_found)
{
LOG_ERROR("[%s] device capabilities not found. Please creata a new device request.",
dmi_name.c_str());
return;
}
/*---------------------------------------------------------*\
| Only set power config for known devices |
\*---------------------------------------------------------*/
SetPowerConfigFromJSON();
SendInitDirectMode();
}
AsusAuraCoreLaptopController::~AsusAuraCoreLaptopController()
@@ -88,28 +75,81 @@ AsusAuraCoreLaptopController::~AsusAuraCoreLaptopController()
hid_close(dev);
}
std::string AsusAuraCoreLaptopController::GetDeviceName()
const aura_core_laptop_device* AsusAuraCoreLaptopController::GetDeviceData()
{
return device_name;
return aura_core_laptop_device_list[device_index];
}
std::string AsusAuraCoreLaptopController::GetDeviceDescription()
{
/*---------------------------------------------------------*\
| Get device name from HID manufacturer and product strings |
\*---------------------------------------------------------*/
wchar_t name_string[HID_MAX_STR];
hid_get_manufacturer_string(dev, name_string, HID_MAX_STR);
std::string name = StringUtils::wstring_to_string(name_string);
hid_get_product_string(dev, name_string, HID_MAX_STR);
name.append(" ").append(StringUtils::wstring_to_string(name_string));
return name;
}
unsigned int AsusAuraCoreLaptopController::GetKeyboardLayout()
{
const uint8_t index = 6;
uint8_t result = 0;
uint8_t rd_buf[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID };
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID,
ASUSAURACORELAPTOP_CMD_LAYOUT,
0x20,
0x31,
0x00,
0x10 };
/*---------------------------------------------------------*\
| Clear the read buffer to ensure we read the right packet |
\*---------------------------------------------------------*/
do
{
result = hid_read_timeout(dev, rd_buf, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE, 10);
}
while(result > 0);
memset(&rd_buf[1], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - 1);
memset(&buffer[index], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - index);
hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
result = hid_get_feature_report(dev, rd_buf, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
LOG_DEBUG("[%s] GetKeyboardLayout %02X %02X %02X %02X %02X %02X %02X {%02X} %02X %02X %02X %02X",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
rd_buf[5], rd_buf[6], rd_buf[7], rd_buf[8], rd_buf[9], rd_buf[10],
rd_buf[11], rd_buf[12], rd_buf[13], rd_buf[14], rd_buf[15], rd_buf[16]);
if(result > 0)
{
return rd_buf[12];
}
LOG_DEBUG("[%s] GetKeyboardLayout: An error occurred! Setting layout to ANSI",
aura_core_laptop_device_list[device_index]->dmi_name.c_str());
return ASUSAURACORELAPTOP_LAYOUT_ANSI;
}
std::string AsusAuraCoreLaptopController::GetSerial()
{
const uint8_t sz = HID_MAX_STR;
wchar_t tmp[sz];
wchar_t serial_string[128];
int ret = hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, tmp, sz);
if (ret != 0)
if(ret != 0)
{
LOG_DEBUG("[%s] Get HID Serial string failed", device_name.c_str());
LOG_DEBUG("[%s] Get HID Serial string failed",
aura_core_laptop_device_list[device_index]->dmi_name.c_str());
return("");
}
std::wstring w_tmp = std::wstring(tmp);
std::string serial = std::string(w_tmp.begin(), w_tmp.end());
return serial;
return(StringUtils::wstring_to_string(serial_string));
}
std::string AsusAuraCoreLaptopController::GetLocation()
@@ -137,49 +177,74 @@ void AsusAuraCoreLaptopController::SetMode(uint8_t mode, uint8_t speed, uint8_t
current_random = random;
current_direction = direction;
if(current_mode == ASUSAURACORELAPTOP_MODE_DIRECT)
{
SendBrightness();
SendInitDirectMode();
return;
}
SendUpdate();
SendBrightness();
}
}
void AsusAuraCoreLaptopController::SetLedsDirect(std::vector<RGBColor> colors)
void AsusAuraCoreLaptopController::SendInitDirectMode()
{
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_DIRECT };
memset(&buffer[2], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - 2);
LOG_DEBUG("[%s] Resetting device for direct control", aura_core_laptop_device_list[device_index]->dmi_name.c_str());
hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
}
void AsusAuraCoreLaptopController::SetLedsDirect(std::vector<RGBColor *> colors)
{
/*---------------------------------------------------------*\
| The keyboard zone is a set of 168 keys (indexed from 0) |
| sent in 11 packets of 16 triplets. The Lid and Lightbar |
| zones are sent in one final packet afterwards. |
\*---------------------------------------------------------*/
const uint8_t key_set = 167;
const uint8_t led_count = 178;
const uint16_t map_size = 3 * led_count;
const uint8_t leds_per_packet = 16;
const uint8_t key_set = 167;
const uint8_t led_count = (uint8_t)colors.size();
const uint16_t map_size = 3 * led_count;
const uint8_t leds_per_packet = 16;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_DIRECT,
0x00, 0x01, 0x01, 0x01, 0x00, leds_per_packet, 0x00 };
uint8_t key_buf[map_size];
uint8_t* key_buf = new uint8_t[map_size];
memset(key_buf, 0, map_size);
for(size_t led_index = 0; led_index < colors.size(); led_index++)
for(uint8_t led_index = 0; led_index < led_count; led_index++)
{
uint16_t offset = 3 * packet_map[led_index];
std::size_t buf_idx = (led_index * 3);
key_buf[offset] = RGBGetRValue(colors[led_index]);
key_buf[offset + 1] = RGBGetGValue(colors[led_index]);
key_buf[offset + 2] = RGBGetBValue(colors[led_index]);
key_buf[buf_idx] = RGBGetRValue(*colors[led_index]);
key_buf[buf_idx + 1] = RGBGetGValue(*colors[led_index]);
key_buf[buf_idx + 2] = RGBGetBValue(*colors[led_index]);
}
for(size_t i = 0; i < key_set; i+=leds_per_packet)
for(uint8_t i = 0; i < key_set; i += leds_per_packet)
{
uint8_t leds_remaining = key_set - (uint8_t)i;
uint8_t leds_remaining = key_set - i;
if(leds_remaining < leds_per_packet)
{
buffer[07] = leds_remaining;
memset(&buffer[ASUSAURACORELAPTOP_DATA_BYTE],
0,
ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - ASUSAURACORELAPTOP_DATA_BYTE);
}
buffer[06] = (uint8_t)i;
buffer[06] = i;
memcpy(&buffer[ASUSAURACORELAPTOP_DATA_BYTE], &key_buf[3 * i], (3 * buffer[07]));
LOG_DEBUG("[%s] Sending buffer @ index %d thru index %d",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
i,
i + buffer[07]);
hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
}
@@ -187,15 +252,31 @@ void AsusAuraCoreLaptopController::SetLedsDirect(std::vector<RGBColor> colors)
buffer[5] = 0x00;
buffer[6] = 0x00;
buffer[7] = 0x00;
memcpy(&buffer[ASUSAURACORELAPTOP_DATA_BYTE], &key_buf[3 * key_set], (3 * (led_count - key_set)));
memset(&buffer[ASUSAURACORELAPTOP_DATA_BYTE],
0,
ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - ASUSAURACORELAPTOP_DATA_BYTE);
if(led_count > key_set)
{
memcpy(&buffer[ASUSAURACORELAPTOP_DATA_BYTE],
&key_buf[3 * key_set],
(3 * (led_count - key_set)));
}
LOG_DEBUG("[%s] Sending buffer @ index %d thru index %d",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
key_set,
led_count);
hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
delete[] key_buf;
}
void AsusAuraCoreLaptopController::SendBrightness()
{
const uint8_t index = 2;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_BRIGHTNESS };
const uint8_t index = 5;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_BRIGHTNESS, 0xC5, 0xC4};
memset(&buffer[index], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - index);
buffer[4] = current_brightness;
@@ -288,6 +369,8 @@ void AsusAuraCoreLaptopController::SetPowerConfigFromJSON()
device_settings[section_power] = pcfg;
settings_manager->SetSettings(detector_name, device_settings);
settings_manager->SaveSettings();
LOG_DEBUG("[%s] default power config saved to openrgb.json",
aura_core_laptop_device_list[device_index]->dmi_name.c_str());
}
else
{
@@ -298,7 +381,9 @@ void AsusAuraCoreLaptopController::SetPowerConfigFromJSON()
if(device_settings[section_power].contains(key_name))
{
power_config[i].state = device_settings[section_power][key_name];
LOG_DEBUG("[%s] Reading power config for %s: %s", device_name.c_str(), key_name.c_str(), ((power_config[i].state) ? "On" : "Off"));
LOG_DEBUG("[%s] Reading power config for %s: %s",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
key_name.c_str(), ((power_config[i].state) ? "On" : "Off"));
}
}
}
@@ -308,7 +393,7 @@ void AsusAuraCoreLaptopController::SetPowerConfigFromJSON()
| With thanks to AsusCtl for helping to decipher the packet captures |
| https://gitlab.com/asus-linux/asusctl/-/blob/main/rog-aura/src/usb.rs#L150 |
\*-----------------------------------------------------------------------------*/
bool flag_array[] =
bool flag_array[32] =
{
power_config[0].state, power_config[4].state,
power_config[1].state, power_config[5].state,
@@ -325,7 +410,9 @@ void AsusAuraCoreLaptopController::SetPowerConfigFromJSON()
};
uint32_t flags = PackPowerFlags(flag_array);
LOG_DEBUG("[%s] Sending power config Logo+KB: %02X Lightbar: %02X Lid Edges: %02X Raw: %08X", device_name.c_str(), (flags & 0xFF), ((flags >> 8) & 0xFF), ((flags >> 16) & 0xFF), flags);
LOG_DEBUG("[%s] Sending power config Logo+KB: %02X Lightbar: %02X Lid Edges: %02X Raw: %08X",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
(flags & 0xFF), ((flags >> 8) & 0xFF), ((flags >> 16) & 0xFF), flags);
SendPowerConfig(flags);
}
@@ -13,11 +13,12 @@
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "LogManager.h"
#include "RGBController.h"
#include "ResourceManager.h"
#include "RGBControllerKeyNames.h"
#include "AsusAuraCoreLaptopDevices.h"
#define NA 0xFFFFFFFF
#define HID_MAX_STR 255
@@ -33,7 +34,7 @@
#define ASUSAURACORELAPTOP_POWER_ZONES 4
#define ASUSAURACORELAPTOP_POWER_STATES 4
#define ASUSAURACORELAPTOP_BRIGHTNESS_MIN 0
#define ASUSAURACORELAPTOP_BRIGHTNESS_MAX 255
#define ASUSAURACORELAPTOP_BRIGHTNESS_MAX 3 // No device has proven to have 256 keyboard brightness levels, only 0..3
enum
{
@@ -83,6 +84,7 @@ enum
ASUSAURACORELAPTOP_CMD_UPDATE = 0xB3,
ASUSAURACORELAPTOP_CMD_APPLY = 0xB4,
ASUSAURACORELAPTOP_CMD_SET = 0xB5,
ASUSAURACORELAPTOP_CMD_LAYOUT = 0x05,
};
enum
@@ -92,6 +94,12 @@ enum
ASUSAURACORELAPTOP_SPEED_FASTEST = 0xF5, // Fastest speed
};
enum aura_core_laptop_layout
{
ASUSAURACORELAPTOP_LAYOUT_ANSI = 0x01, /* US ANSI Layout */
ASUSAURACORELAPTOP_LAYOUT_ISO = 0x02, /* EURO ISO Layout */
};
struct p_state
{
std::string zone;
@@ -104,33 +112,36 @@ public:
AsusAuraCoreLaptopController(hid_device* dev_handle, const char* path);
~AsusAuraCoreLaptopController();
std::string GetDeviceName();
std::string GetSerial();
std::string GetLocation();
const aura_core_laptop_device* GetDeviceData();
std::string GetDeviceDescription();
std::string GetSerial();
unsigned int GetKeyboardLayout();
std::string GetLocation();
void SetMode(uint8_t mode, uint8_t speed, uint8_t brightness, RGBColor color1, RGBColor color2, uint8_t random, uint8_t direction);
void SetLedsDirect(std::vector<RGBColor> colors);
void SetMode(uint8_t mode, uint8_t speed, uint8_t brightness, RGBColor color1, RGBColor color2, uint8_t random, uint8_t direction);
void SetLedsDirect(std::vector<RGBColor *>colors);
void SendInitDirectMode();
private:
std::string device_name;
std::string location;
hid_device* dev;
hid_device* dev;
uint16_t device_index;
std::string location;
uint8_t current_mode;
uint8_t current_speed;
uint8_t current_direction;
uint8_t current_mode;
uint8_t current_speed;
uint8_t current_direction;
RGBColor current_c1;
RGBColor current_c2;
uint8_t current_brightness;
uint8_t current_random;
RGBColor current_c1;
RGBColor current_c2;
uint8_t current_brightness;
uint8_t current_random;
void SendApply();
void SendBrightness();
void SendSet();
void SendUpdate();
void SendApply();
void SendBrightness();
void SendSet();
void SendUpdate();
void SetPowerConfigFromJSON();
void SendPowerConfig(uint32_t flags);
uint32_t PackPowerFlags(bool flags[]);
std::vector<p_state> PowerConfigArray();
void SetPowerConfigFromJSON();
void SendPowerConfig(uint32_t flags);
uint32_t PackPowerFlags(bool flags[]);
std::vector<p_state> PowerConfigArray();
};
@@ -0,0 +1,559 @@
#include "AsusAuraCoreLaptopDevices.h"
/*-------------------------------------------------------------------------*\
| Aura Core Key Values |
| NULL values are keys that are handed to the KLM but are removed as |
| a part of customisation. They are included to maintain expected key |
| count is aligned to the value count. |
\*-------------------------------------------------------------------------*/
std::vector<unsigned int> aura_core_laptop_15_values =
{
/* ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 DEL */
21, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36,
/* BKTK 1 2 3 4 5 6 7 8 9 0 - = BSPC PLAY */
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
/* TAB Q W E R T Y U I O P [ ] \ STOP */
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
/* CPLK A S D F G H J K L ; " # ENTR PREV */
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98,
/* LSFT ISO\ Z X C V B N M , . / RSFT ARWU NEXT */
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 119,
/* LCTL LWIN LALT SPC RALT RFNC RMNU RCTL ARWL ARWD ARWR */
126, 128, 129, 131, 135, 136, 136, 137,
};
std::vector<unsigned int> aura_core_laptop_17_values =
{
/* ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 NULL NULL PAUS */
21, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 0, 0, 39,
/* BKTK 1 2 3 4 5 6 7 8 9 0 - = BSPC NULL NULL NULL NMLK NMDV NMTM NMMI */
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 0, 0, 0, 59, 60, 61, 62,
/* TAB Q W E R T Y U I O P [ ] \ NULL NULL NULL NM7 NM8 NM9 NMPL */
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, 80, 81, 82, 83,
/* CPLK A S D F G H J K L ; " # ENTR NM4 NM5 NM6 */
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98, 101, 102, 103,
/* LSFT ISO\ Z X C V B N M , . / RSFT ARWU NM1 NM2 NM3 NMER */
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 119, 139, 122, 123, 124, 125,
/* LCTL LWIN LALT SPC RALT RFNC RMNU RCTL ARWL ARWD ARWR NM0 NMPD */
126, 128, 129, 131, 135, 136, 136, 137, 159, 160, 161, 144, 145,
};
std::vector<unsigned int> aura_core_laptop_18_values =
{
/* ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 NULL NULL PAUS */
21, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 0, 0, 39,
/* BKTK 1 2 3 4 5 6 7 8 9 0 - = BSPC NULL NULL NULL NMLK NMDV NMTM NMMI */
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 0, 0, 0, 59, 60, 61, 62,
/* TAB Q W E R T Y U I O P [ ] \ NULL NULL NULL NM7 NM8 NM9 NMPL */
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, 0, 80, 81, 82, 83,
/* CPLK A S D F G H J K L ; " # ENTR NM4 NM5 NM6 */
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98, 101, 102, 103,
/* LSFT ISO\ Z X C V B N M , . / RSFT ARWU NM1 NM2 NM3 NMER */
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
/* LCTL LWIN LALT SPC RALT RFNC RMNU RCTL ARWL ARWD ARWR NM0 NMPD */
126, 128, 129, 131, 135, 136, 136, 137, 141, 142, 143, 144, 145,
};
/*-------------------------------------------------------------------------*\
| KEYMAPS |
\*-------------------------------------------------------------------------*/
keyboard_keymap_overlay_values g533zm_layout
{
KEYBOARD_SIZE_SEVENTY_FIVE,
{
aura_core_laptop_15_values,
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 15, 37, KEY_EN_DELETE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Delete
{ 0, 1, 15, 58, KEY_EN_MEDIA_PLAY_PAUSE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Play / Pause
{ 0, 2, 15, 79, KEY_EN_MEDIA_STOP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Stop
{ 0, 3, 15, 100, KEY_EN_MEDIA_PREVIOUS, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Previous
{ 0, 4, 13, 139, KEY_EN_UP_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Up Arrow
{ 0, 4, 15, 121, KEY_EN_MEDIA_NEXT, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Next
{ 0, 5, 12, 159, KEY_EN_LEFT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Left Arrow
{ 0, 5, 13, 160, KEY_EN_DOWN_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Down Arrow
{ 0, 5, 14, 161, KEY_EN_RIGHT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Right Arrow
}
};
keyboard_keymap_overlay_values g533zw_layout
{
KEYBOARD_SIZE_SEVENTY_FIVE,
{
aura_core_laptop_15_values,
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 15, 37, KEY_EN_DELETE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Delete
{ 0, 1, 15, 58, KEY_EN_MEDIA_PLAY_PAUSE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Play / Pause
{ 0, 2, 15, 79, KEY_EN_MEDIA_STOP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Stop
{ 0, 3, 15, 100, KEY_EN_MEDIA_PREVIOUS, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Previous
{ 0, 4, 15, 121, KEY_EN_MEDIA_NEXT, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Media Next
{ 0, 5, 1, 127, KEY_EN_LEFT_FUNCTION, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Left Function key
{ 0, 5, 4, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Unused key
{ 0, 5, 11, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Right Func key
{ 0, 5, 11, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Right Context key
{ 0, 5, 13, 139, KEY_EN_UP_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Up Arrow
{ 0, 5, 15, 142, KEY_EN_PRINT_SCREEN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Print Screen
{ 0, 5, 16, 175, "Keystone", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Keystone (Red only)
{ 0, 6, 12, 159, KEY_EN_LEFT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Left Arrow on new row
{ 0, 6, 13, 160, KEY_EN_DOWN_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Down Arrow
{ 0, 6, 14, 161, KEY_EN_RIGHT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Right Arrow
{ 0, 0, 2, 2, KEY_EN_MEDIA_VOLUME_DOWN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_ROW, }, // Insert Row before function keys
{ 0, 0, 3, 3, KEY_EN_MEDIA_VOLUME_UP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Vol Up
{ 0, 0, 4, 4, "Mic On / Off", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Mic On / Off
{ 0, 0, 5, 5, "Hyperfan", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Hyperfan
{ 0, 0, 6, 6, "Armoury Crate", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Armoury Crate
}
};
keyboard_keymap_overlay_values g533zw_lid_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 167, "Logo", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L1
{ 0, 0, 1, 176, "Vertical Cut Left", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L2
{ 0, 0, 2, 177, "Vertical Cut Right", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L3
}
};
keyboard_keymap_overlay_values g533zw_lightbar_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 174, "Lightbar L1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L1
{ 0, 0, 1, 173, "Lightbar L2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L2
{ 0, 0, 2, 172, "Lightbar L3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L3
{ 0, 0, 3, 171, "Lightbar R3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R3
{ 0, 0, 4, 170, "Lightbar R2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R2
{ 0, 0, 5, 169, "Lightbar R1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R1
}
};
keyboard_keymap_overlay_values g713rw_keyboard_layout
{
KEYBOARD_SIZE_FULL,
{
aura_core_laptop_17_values,
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 2, 2, KEY_EN_MEDIA_VOLUME_DOWN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_ROW, }, // Insert Row and add Volume Down
{ 0, 0, 3, 3, KEY_EN_MEDIA_VOLUME_UP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Volume Up
{ 0, 0, 4, 4, KEY_EN_MEDIA_MUTE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Mute
{ 0, 0, 5, 5, "Key: Fan", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert "Fan" key
{ 0, 0, 6, 6, "Key: ROG", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert "ROG" key
{ 0, 6, 1, 127, KEY_EN_LEFT_FUNCTION, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Left Fuction
{ 0, 6, 8, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove part of Spacebar
{ 0, 6, 8, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove part of Spacebar
{ 0, 6, 10, 136, KEY_EN_RIGHT_FUNCTION, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Right Fuction
{ 0, 6, 10, 136, KEY_EN_RIGHT_WINDOWS, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Right Win Key
{ 0, 1, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, },
{ 0, 1, 15, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // trim extra column before numpad
{ 0, 1, 15, 38, KEY_EN_DELETE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert a Delete key
{ 0, 1, 17, 40, KEY_EN_PRINT_SCREEN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert a Print Screen key
{ 0, 1, 18, 41, KEY_EN_HOME, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert a Home key
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 3, 13, 76, KEY_EN_ANSI_BACK_SLASH, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Force ANSI | even on ISO layouts
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 5, 12, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // gap before arrow up key
{ 0, 5, 13, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // trim extra column before numpad
{ 0, 6, 11, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // 1 empty key before arrow keys
{ 0, 6, 15, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // trim extra column before numpad
{ 0, 6, 16, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // 1 empty key between numpad 0 and .
// Close numpad gap completely
{ 0, 1, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 5, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 6, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
// Move Arrow keys
{ 0, 5, 13, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Remove Arrow Up
{ 0, 6, 13, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Remove Arrow Down
{ 0, 6, 12, 139, KEY_EN_UP_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Shift Arrow Up
{ 0, 7, 11, 159, KEY_EN_LEFT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 7, 12, 160, KEY_EN_DOWN_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 7, 13, 161, KEY_EN_RIGHT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
}
};
keyboard_keymap_overlay_values g713rw_lightbar_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 174, "Lightbar L1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L1
{ 0, 0, 1, 173, "Lightbar L2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L2
{ 0, 0, 2, 172, "Lightbar L3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L3
{ 0, 0, 3, 171, "Lightbar R3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R3
{ 0, 0, 4, 170, "Lightbar R2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R2
{ 0, 0, 5, 169, "Lightbar R1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R1
}
};
keyboard_keymap_overlay_values g713rw_test_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 7, "Test01", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 1, 8, "Test02", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 2, 9, "Test03", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 3, 10, "Test04", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 4, 11, "Test05", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 5, 12, "Test06", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 6, 13, "Test07", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 7, 14, "Test08", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 8, 15, "Test09", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 9, 16, "Test10", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 10, 17, "Test11", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 11, 18, "Test12", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 12, 19, "Test13", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 13, 20, "Test14", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 14, 22, "Test15", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 15, 27, "Test16", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 16, 55, "Test17", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 17, 57, "Test18", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 18, 58, "Test19", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 19, 77, "Test20", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 20, 78, "Test21", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 21, 79, "Test22", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 22, 96, "Test23", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 23, 97, "Test24", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 24, 99, "Test25", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 25, 100, "Test26", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 26, 104, "Test27", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 27, 117, "Test28", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 28, 118, "Test29", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 29, 120, "Test30", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 30, 121, "Test31", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 31, 130, "Test32", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 32, 132, "Test33", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 33, 133, "Test34", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 34, 134, "Test35", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 35, 138, "Test36", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 36, 140, "Test37", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 37, 141, "Test38", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 38, 142, "Test39", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 39, 143, "Test40", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 40, 146, "Test41", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 41, 147, "Test42", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 42, 148, "Test43", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 43, 149, "Test44", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 44, 150, "Test45", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 45, 151, "Test46", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 46, 152, "Test47", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 47, 153, "Test48", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 48, 154, "Test49", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 49, 155, "Test50", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 50, 156, "Test51", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 51, 157, "Test52", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 52, 158, "Test53", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 53, 162, "Test54", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 54, 163, "Test55", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 55, 164, "Test56", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 56, 165, "Test57", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 57, 166, "Test58", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 58, 167, "Test59", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
}
};
keyboard_keymap_overlay_values g733zm_layout
{
KEYBOARD_SIZE_FULL,
{
aura_core_laptop_17_values,
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
}
};
keyboard_keymap_overlay_values g814jv_keyboard_layout
{
KEYBOARD_SIZE_FULL,
{
aura_core_laptop_18_values,
{
/* Add more regional layout fixes here */
}
},
{
/*------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 2, 2, KEY_EN_MEDIA_VOLUME_DOWN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_ROW, }, // Insert Row and add Volume Down
{ 0, 0, 3, 3, KEY_EN_MEDIA_VOLUME_UP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Volume Up
{ 0, 0, 4, 4, KEY_EN_MEDIA_MUTE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Mute
{ 0, 0, 5, 5, "Key: Fan", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert "Fan" key
{ 0, 0, 6, 6, "Key: ROG", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert "ROG" key
{ 0, 6, 8, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove part of Spacebar
{ 0, 6, 8, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove part of Spacebar
{ 0, 6, 1, 127, KEY_EN_LEFT_FUNCTION, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Left Fuction
{ 0, 6, 10, 136, KEY_EN_PRINT_SCREEN, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Replace Right Fuction with PrtSc
{ 0, 6, 11, 0, KEY_EN_RIGHT_WINDOWS, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Right Win Key
{ 0, 1, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 1, 14, 38, KEY_EN_DELETE, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Insert a Delete key
{ 0, 1, 16, 40, KEY_EN_PRINT_SCREEN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert a Print Screen key
{ 0, 1, 17, 41, KEY_EN_HOME, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert a Home key
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 2, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 3, 13, 76, KEY_EN_ANSI_BACK_SLASH, KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY, }, // Force ANSI | even on ISO layouts
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Numpad gap
{ 0, 3, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 4, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 5, 12, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 5, 13, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 5, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
{ 0, 6, 15, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, },
}
};
keyboard_keymap_overlay_values g814jv_lightbar_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Add more regional layout fixes here */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 173, "Lightbar L1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L1
{ 0, 0, 1, 172, "Lightbar L2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar L2
{ 0, 0, 2, 170, "Lightbar R2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R2
{ 0, 0, 3, 169, "Lightbar R1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lightbar R2
}
};
/*-------------------------------------------------------------------------*\
| AURA CORE LAPTOP DEVICES |
\*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------*\
| ASUS ROG Strix SCAR 15 G533ZM |
| |
| Zone "Keyboard" |
| Matrix |
| 7 Rows, 16 Columns |
\*-------------------------------------------------------------*/
static const aura_core_laptop_zone g533zm_zone =
{
ZONE_EN_KEYBOARD,
&g533zm_layout
};
static const aura_core_laptop_device g533zm_device =
{
"G533ZM",
{
&g533zm_zone,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr
}
};
/*-------------------------------------------------------------*\
| ASUS ROG Strix SCAR 15 G533ZW |
| |
| Zone "Keyboard" |
| Matrix |
| 7 Rows, 16 Columns |
\*-------------------------------------------------------------*/
static const aura_core_laptop_zone g533zw_lid_zone =
{
"Lid",
&g533zw_lid_layout
};
static const aura_core_laptop_zone g533zw_kb_zone =
{
ZONE_EN_KEYBOARD,
&g533zw_layout
};
static const aura_core_laptop_zone g533zw_lightbar_zone =
{
"Lightbar",
&g533zw_lightbar_layout
};
static const aura_core_laptop_device g533zw_device =
{
"G533ZW",
{
&g533zw_kb_zone,
&g533zw_lid_zone,
&g533zw_lightbar_zone,
nullptr,
nullptr,
nullptr
}
};
/*-------------------------------------------------------------*\
| ASUS ROG Strix SCAR G713RW |
| |
| Zone "Keyboard" |
| Matrix |
| 7 Rows, 20 Columns |
\*-------------------------------------------------------------*/
static const aura_core_laptop_zone g713rw_keyboard_zone =
{
ZONE_EN_KEYBOARD,
&g713rw_keyboard_layout
};
static const aura_core_laptop_zone g713rw_lightbar_zone =
{
"Lightbar",
&g713rw_lightbar_layout
};
static const aura_core_laptop_device g713rw_device =
{
"G713RW",
{
&g713rw_keyboard_zone,
&g713rw_lightbar_zone,
nullptr,
nullptr,
nullptr,
nullptr
}
};
/*-------------------------------------------------------------*\
| ASUS ROG Strix G18 (G814JV) |
| |
| Zone "Keyboard" |
| Matrix |
| 7 Rows, 16 Columns |
\*-------------------------------------------------------------*/
static const aura_core_laptop_zone g814rw_keyboard_zone =
{
ZONE_EN_KEYBOARD,
&g814jv_keyboard_layout
};
static const aura_core_laptop_zone g814jv_lightbar_zone =
{
"Lightbar",
&g814jv_lightbar_layout
};
static const aura_core_laptop_device g814jv_device =
{
"G814JV",
{
&g814rw_keyboard_zone,
&g814jv_lightbar_zone,
nullptr,
nullptr,
nullptr,
nullptr
}
};
/*-------------------------------------------------------------------------*\
| DEVICE MASTER LIST |
\*-------------------------------------------------------------------------*/
const aura_core_laptop_device* aura_core_laptop_device_list_data[] =
{
/*-----------------------------------------------------------------*\
| KEYBOARDS |
\*-----------------------------------------------------------------*/
&g533zm_device,
&g533zw_device,
&g713rw_device,
&g814jv_device,
};
const unsigned int AURA_CORE_LAPTOP_DEVICE_COUNT = (sizeof(aura_core_laptop_device_list_data) / sizeof(aura_core_laptop_device_list_data[ 0 ]));
const aura_core_laptop_device** aura_core_laptop_device_list = aura_core_laptop_device_list_data;
@@ -0,0 +1,50 @@
#pragma once
#include <string>
#include <vector>
#include "RGBController.h"
#include "RGBControllerKeyNames.h"
#include "KeyboardLayoutManager.h"
#define AURA_CORE_LAPTOP_ZONES_MAX 6
enum aura_core_kb_layout
{
AURA_CORE_LAPTOP_KB_LAYOUT_ANSI = 0x01, /* US ANSI Layout */
AURA_CORE_LAPTOP_KB_LAYOUT_ISO = 0x02, /* EURO ISO Layout */
AURA_CORE_LAPTOP_KB_LAYOUT_ABNT = 0x03, /* Brazilian Layout */
AURA_CORE_LAPTOP_KB_LAYOUT_JIS = 0x04, /* Japanese Layout */
};
typedef struct
{
std::string name;
keyboard_keymap_overlay_values* layout_new;
} aura_core_laptop_zone;
typedef struct
{
uint8_t zone;
uint8_t row;
uint8_t col;
uint8_t index;
const char* name;
} aura_core_laptop_led;
typedef struct
{
std::string dmi_name;
const aura_core_laptop_zone* zones[AURA_CORE_LAPTOP_ZONES_MAX];
} aura_core_laptop_device;
/*-----------------------------------------------------*\
| Aura Core Laptop Protocol Keyboards |
\*-----------------------------------------------------*/
#define AURA_STRIX_SCAR_15_PID 0x19B6
/*-----------------------------------------------------*\
| These constant values are defined in |
| AsusAuraCoreLaptopDevices.cpp |
\*-----------------------------------------------------*/
extern const unsigned int AURA_CORE_LAPTOP_DEVICE_COUNT;
extern const aura_core_laptop_device** aura_core_laptop_device_list;
@@ -11,129 +11,6 @@
#include "RGBController_AsusAuraCoreLaptop.h"
static unsigned int matrix_map[ASUSAURACORELAPTOP_KEY_HEIGHT][ASUSAURACORELAPTOP_KEY_WIDTH] =
{
{ NA, NA, 86, 87, 88, 89, 90, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA },
{ 0, NA, 1, 2, 3, 4, NA, 5, 6, 7, 8, NA, 9, 10, 11, 12, 13, NA },
{ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, NA },
{ 31, NA, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, NA, 45, NA },
{ 46, NA, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NA, 58, NA, 59, NA },
{ 60, NA, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, NA, 72, NA, 73, NA },
{ 74, 75, 76, 77, NA, NA, NA, 78, NA, NA, NA, 79, 80, 81, 82, 83, 84, 85 }
};
static const char *led_names[] =
{
KEY_EN_ESCAPE, //00
KEY_EN_F1,
KEY_EN_F2,
KEY_EN_F3,
KEY_EN_F4,
KEY_EN_F5,
KEY_EN_F6,
KEY_EN_F7,
KEY_EN_F8,
KEY_EN_F9,
KEY_EN_F10, //10
KEY_EN_F11,
KEY_EN_F12,
KEY_EN_DELETE,
KEY_EN_BACK_TICK,
KEY_EN_1,
KEY_EN_2,
KEY_EN_3,
KEY_EN_4,
KEY_EN_5,
KEY_EN_6, //20
KEY_EN_7,
KEY_EN_8,
KEY_EN_9,
KEY_EN_0,
KEY_EN_MINUS,
KEY_EN_EQUALS,
KEY_EN_BACKSPACE,
KEY_EN_BACKSPACE,
KEY_EN_BACKSPACE,
KEY_EN_MEDIA_PLAY_PAUSE, //30
KEY_EN_TAB,
KEY_EN_Q,
KEY_EN_W,
KEY_EN_E,
KEY_EN_R,
KEY_EN_T,
KEY_EN_Y,
KEY_EN_U,
KEY_EN_I,
KEY_EN_O, //40
KEY_EN_P,
KEY_EN_LEFT_BRACKET,
KEY_EN_RIGHT_BRACKET,
KEY_EN_ANSI_BACK_SLASH,
KEY_EN_MEDIA_STOP,
KEY_EN_CAPS_LOCK,
KEY_EN_A,
KEY_EN_S,
KEY_EN_D,
KEY_EN_F, //50
KEY_EN_G,
KEY_EN_H,
KEY_EN_J,
KEY_EN_K,
KEY_EN_L,
KEY_EN_SEMICOLON,
KEY_EN_QUOTE,
KEY_EN_ANSI_ENTER,
KEY_EN_MEDIA_PREVIOUS,
KEY_EN_LEFT_SHIFT, //60
KEY_EN_Z,
KEY_EN_X,
KEY_EN_C,
KEY_EN_V,
KEY_EN_B,
KEY_EN_N,
KEY_EN_M,
KEY_EN_COMMA,
KEY_EN_PERIOD,
KEY_EN_FORWARD_SLASH, //70
KEY_EN_RIGHT_SHIFT,
KEY_EN_UP_ARROW,
KEY_EN_MEDIA_NEXT,
KEY_EN_LEFT_CONTROL,
KEY_EN_LEFT_FUNCTION,
KEY_EN_LEFT_WINDOWS,
KEY_EN_LEFT_ALT,
KEY_EN_SPACE,
KEY_EN_RIGHT_ALT,
KEY_EN_RIGHT_CONTROL, //80
KEY_EN_LEFT_ARROW,
KEY_EN_DOWN_ARROW,
KEY_EN_RIGHT_ARROW,
KEY_EN_PRINT_SCREEN,
"Asus Keystone",
KEY_EN_MEDIA_VOLUME_DOWN,
KEY_EN_MEDIA_VOLUME_UP,
"Key: Mic On/Off",
"Key: HyperFan",
"Key: Armoury Crate", //90
"Lightbar LED 1",
"Lightbar LED 2",
"Lightbar LED 3",
"Lightbar LED 4",
"Lightbar LED 5",
"Lightbar LED 6",
"Logo",
"Lid Left",
"Lid Right", //99
};
/**------------------------------------------------------------------*\
@name AsusAuraCoreLaptop
@category DEVICE_TYPE_KEYBOARD
@@ -150,23 +27,32 @@ static const char *led_names[] =
* Awake (Normal Usage)
* Sleeping
* Shutdown / Power Off
MatrixMaps can be found in ArmouryCrate (it needs a chance to download device data)
Default path is:
C:\ProgramData\ASUS\ROG Live Service\DeviceContent\<Model name>\<Model name>.csv
(Model name is the code like G814JV - can be found in the error in logs)
\*-------------------------------------------------------------------*/
RGBController_AsusAuraCoreLaptop::RGBController_AsusAuraCoreLaptop(AsusAuraCoreLaptopController *controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
const aura_core_laptop_device* aura_dev = controller->GetDeviceData();
name = "Asus Aura Core Laptop";
vendor = "Asus";
type = DEVICE_TYPE_KEYBOARD;
description = controller->GetDeviceName();
serial = controller->GetSerial();
location = controller->GetLocation();
name = aura_dev->dmi_name;
vendor = "Asus";
type = DEVICE_TYPE_LAPTOP;
description = controller->GetDeviceDescription();
serial = controller->GetSerial();
location = controller->GetLocation();
mode Direct;
Direct.name = "Direct";
Direct.value = ASUSAURACORELAPTOP_MODE_DIRECT;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.brightness_min = ASUSAURACORELAPTOP_BRIGHTNESS_MIN;
Direct.brightness_max = ASUSAURACORELAPTOP_BRIGHTNESS_MAX;
Direct.brightness = ASUSAURACORELAPTOP_BRIGHTNESS_MAX;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
@@ -375,8 +261,9 @@ RGBController_AsusAuraCoreLaptop::RGBController_AsusAuraCoreLaptop(AsusAuraCoreL
Off.color_mode = MODE_COLORS_NONE;
modes.push_back(Off);
Init_Controller();
SetupZones();
SetMode(active_mode);
}
RGBController_AsusAuraCoreLaptop::~RGBController_AsusAuraCoreLaptop()
@@ -384,70 +271,131 @@ RGBController_AsusAuraCoreLaptop::~RGBController_AsusAuraCoreLaptop()
delete controller;
}
void RGBController_AsusAuraCoreLaptop::Init_Controller()
{
/*-------------------------------------------------*\
| Create the keyboard zone and add the matix map |
\*-------------------------------------------------*/
zone KB_zone;
KB_zone.name = "Keyboard Zone";
KB_zone.type = ZONE_TYPE_MATRIX;
KB_zone.leds_min = ASUSAURACORELAPTOP_KEYCOUNT;
KB_zone.leds_max = ASUSAURACORELAPTOP_KEYCOUNT;
KB_zone.leds_count = ASUSAURACORELAPTOP_KEYCOUNT;
KB_zone.matrix_map = new matrix_map_type;
KB_zone.matrix_map->height = ASUSAURACORELAPTOP_KEY_HEIGHT;
KB_zone.matrix_map->width = ASUSAURACORELAPTOP_KEY_WIDTH;
KB_zone.matrix_map->map = (unsigned int *)&matrix_map;
zones.push_back(KB_zone);
zone lightbar;
lightbar.name = "Lightbar Zone";
lightbar.type = ZONE_TYPE_LINEAR;
lightbar.leds_min = ASUSAURACORELAPTOP_LIGHTBARCOUNT;
lightbar.leds_max = ASUSAURACORELAPTOP_LIGHTBARCOUNT;
lightbar.leds_count = ASUSAURACORELAPTOP_LIGHTBARCOUNT;
lightbar.matrix_map = NULL;
zones.push_back(lightbar);
zone lid;
lid.name = "Lid Zone";
lid.type = ZONE_TYPE_LINEAR;
lid.leds_min = ASUSAURACORELAPTOP_LIDCOUNT;
lid.leds_max = ASUSAURACORELAPTOP_LIDCOUNT;
lid.leds_count = ASUSAURACORELAPTOP_LIDCOUNT;
lid.matrix_map = NULL;
zones.push_back(lid);
}
void RGBController_AsusAuraCoreLaptop::SetupZones()
{
/*-------------------------------------------------*\
| Clear any existing color/LED configuration |
\*-------------------------------------------------*/
leds.clear();
colors.clear();
std::string physical_size;
KEYBOARD_LAYOUT new_layout;
unsigned int max_led_value = 0;
const aura_core_laptop_device* aura_dev = controller->GetDeviceData();
unsigned int layout = controller->GetKeyboardLayout();
switch(layout)
{
case ASUSAURACORELAPTOP_LAYOUT_ISO:
new_layout = KEYBOARD_LAYOUT_ISO_QWERTY;
break;
case ASUSAURACORELAPTOP_LAYOUT_ANSI:
default:
new_layout = KEYBOARD_LAYOUT_ANSI_QWERTY;
break;
}
LOG_DEBUG("[%s] layout set as %d", description.c_str(), new_layout);
/*---------------------------------------------------------*\
| Set up zones |
| Fill in zones from the device data |
\*---------------------------------------------------------*/
for(std::size_t zone_index = 0; zone_index < zones.size(); zone_index++)
for(size_t i = 0; i < AURA_CORE_LAPTOP_ZONES_MAX; i++)
{
int zone_offset = (int)leds.size();
LOG_DEBUG("[%s] setting up zone %d", description.c_str(), i);
for(unsigned int led_index = 0; led_index < zones[zone_index].leds_count; led_index++)
if(aura_dev->zones[i] == NULL)
{
led new_led;
new_led.value = led_index + zone_offset;
new_led.name = led_names[new_led.value];
leds.push_back(new_led);
break;
}
else
{
zone new_zone;
new_zone.name = aura_dev->zones[i]->name;
if(aura_dev->zones[i]->layout_new != NULL)
{
KeyboardLayoutManager new_kb(new_layout,
aura_dev->zones[i]->layout_new->base_size,
aura_dev->zones[i]->layout_new->key_values);
if(aura_dev->zones[i]->layout_new->base_size != KEYBOARD_SIZE_EMPTY ||
aura_dev->zones[i]->layout_new->edit_keys.size() > 0)
{
/*---------------------------------------------------------*\
| Minor adjustments to keyboard layout |
\*---------------------------------------------------------*/
keyboard_keymap_overlay_values* temp = aura_dev->zones[i]->layout_new;
new_kb.ChangeKeys(*temp);
if(new_kb.GetRowCount() == 1 || new_kb.GetColumnCount() == 1)
{
if(new_kb.GetKeyCount() == 1)
{
new_zone.type = ZONE_TYPE_SINGLE;
}
else
{
new_zone.type = ZONE_TYPE_LINEAR;
}
}
else
{
new_zone.type = ZONE_TYPE_MATRIX;
matrix_map_type * new_map = new matrix_map_type;
new_zone.matrix_map = new_map;
/*---------------------------------------------------------*\
| Trusting the layout handed to the KLM is correct use the |
| row & column counts to set the matrix height & width |
\*---------------------------------------------------------*/
new_map->height = new_kb.GetRowCount();
new_map->width = new_kb.GetColumnCount();
new_map->map = new unsigned int[new_map->height * new_map->width];
new_kb.GetKeyMap(new_map->map, KEYBOARD_MAP_FILL_TYPE_COUNT);
}
/*---------------------------------------------------------*\
| Create LEDs for the Matrix zone |
| Place keys in the layout to populate the matrix |
\*---------------------------------------------------------*/
new_zone.leds_count = new_kb.GetKeyCount();
for(unsigned int led_idx = 0; led_idx < new_zone.leds_count; led_idx++)
{
led new_led;
new_led.name = new_kb.GetKeyNameAt(led_idx);
new_led.value = new_kb.GetKeyValueAt(led_idx);
max_led_value = std::max(max_led_value, new_led.value);
leds.push_back(new_led);
}
}
/*---------------------------------------------------------*\
| Add 1 the max_led_value to account for the 0th index |
\*---------------------------------------------------------*/
max_led_value++;
}
LOG_DEBUG("[%s] Creating a %s zone: %s with %d LEDs", name.c_str(),
((new_zone.type == ZONE_TYPE_MATRIX) ? "matrix": "linear"),
new_zone.name.c_str(), new_zone.leds_count);
new_zone.leds_min = new_zone.leds_count;
new_zone.leds_max = new_zone.leds_count;
zones.push_back(new_zone);
}
}
SetupColors();
/*---------------------------------------------------------*\
| Create a buffer map of pointers which contains the |
| layout order of colors the device expects. |
\*---------------------------------------------------------*/
buffer_map.resize(max_led_value, &null_color);
for(size_t led_idx = 0; led_idx < leds.size(); led_idx++)
{
buffer_map[leds[led_idx].value] = &colors[led_idx];
}
}
void RGBController_AsusAuraCoreLaptop::ResizeZone(int /*zone*/, int /*new_size*/)
@@ -459,36 +407,35 @@ void RGBController_AsusAuraCoreLaptop::ResizeZone(int /*zone*/, int /*new_size*/
void RGBController_AsusAuraCoreLaptop::DeviceUpdateLEDs()
{
controller->SetLedsDirect(colors);
}
void RGBController_AsusAuraCoreLaptop::UpdateZoneLEDs(int zone)
{
std::vector<RGBColor> colour;
for(size_t i = 0; i < zones[zone].leds_count; i++)
for(size_t i = 85; i < leds.size(); i++)
{
colour.push_back(zones[zone].colors[i]);
LOG_DEBUG("[%s] Setting %s @ LED index %d and buffer index %d to R: %02X G: %02X B: %02X",
name.c_str(),
leds[i].name.c_str(),
i,
leds[i].value,
RGBGetRValue(colors[i]),
RGBGetGValue(colors[i]),
RGBGetBValue(colors[i]));
}
controller->SetLedsDirect(colour);
controller->SetLedsDirect(buffer_map);
}
void RGBController_AsusAuraCoreLaptop::UpdateSingleLED(int led)
void RGBController_AsusAuraCoreLaptop::UpdateZoneLEDs(int /*zone*/)
{
std::vector<RGBColor> colour;
colour.push_back(colors[led]);
controller->SetLedsDirect(buffer_map);
}
controller->SetLedsDirect(colour);
void RGBController_AsusAuraCoreLaptop::UpdateSingleLED(int /*led*/)
{
controller->SetLedsDirect(buffer_map);
}
void RGBController_AsusAuraCoreLaptop::DeviceUpdateMode()
{
mode set_mode = modes[active_mode];
if(set_mode.value == ASUSAURACORELAPTOP_MODE_DIRECT)
{
return;
}
uint8_t random = (set_mode.color_mode == MODE_COLORS_RANDOM) ? 0xFF : 0;
RGBColor color1 = (set_mode.colors.size() > 0) ? set_mode.colors[0] : 0;
RGBColor color2 = (set_mode.colors.size() > 1) ? set_mode.colors[1] : 0;
@@ -11,6 +11,7 @@
#pragma once
#include <algorithm>
#include <vector>
#include "RGBController.h"
#include "AsusAuraCoreLaptopController.h"
@@ -31,7 +32,8 @@ public:
void DeviceUpdateMode();
private:
void Init_Controller();
RGBColor null_color = 0;
std::vector<RGBColor *> buffer_map;
AsusAuraCoreLaptopController* controller;
AsusAuraCoreLaptopController* controller;
};
@@ -9,13 +9,9 @@
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include "Detector.h"
#include "AsusAuraGPUController.h"
#include "LogManager.h"
#include "RGBController.h"
#include "RGBController_AsusAuraGPU.h"
#include "i2c_smbus.h"
#include "pci_ids.h"
@@ -69,72 +65,84 @@ void DetectAsusAuraGPUControllers(i2c_smbus_interface* bus, uint8_t i2c_addr, co
} /* DetectAsusAuraGPUControllers() */
/*-----------------------------------------*\
| NVidia GPUs |
| Nvidia GPUs |
\*-----------------------------------------*/
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1050 O2G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050_DEV, ASUS_SUB_VEN, ASUS_GTX1050_STRIX_O2G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1050 Ti 4G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1050 Ti O4G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_O4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1050 Ti O4G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_O4G_GAMING_2, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG GTX 1060 Strix 6G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1060_DEV, ASUS_SUB_VEN, ASUS_GTX1060_STRIX_6G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG GTX 1060 Strix" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1060_DEV, ASUS_SUB_VEN, ASUS_GTX1060_STRIX, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG GTX 1070 Strix Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070_DEV, ASUS_SUB_VEN, ASUS_GTX1070_STRIX_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG GTX 1070 Strix OC" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070_DEV, ASUS_SUB_VEN, ASUS_GTX1070_STRIX_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1070 Ti 8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070TI_8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1070 Ti A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070TI_A8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG GTX 1080 Strix OC" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_GTX1080_STRIX, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_A8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_O8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 O8G 11Gbps" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_O8G_11GBPS, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 Ti Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 Ti 11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_11G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 Ti O11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_O11G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1080 Ti O11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_O11G_GAMING_A02, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1650 SUPER OC 4G" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1650S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1650S_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1660 SUPER O6G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1660S_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1660 SUPER 6G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1660S_6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Strix GTX 1660 Ti OC 6G" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660TI_DEV, ASUS_SUB_VEN, ASUS_ROG_GTX1660TI_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 EVO Gaming 6G" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 O6G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 O6G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_GAMING_86D2, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 O6G EVO Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU104_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 SUPER 8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 SUPER A8G EVO Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_A8G_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 SUPER O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2060 SUPER A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING_86FF, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING_8706, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_O8G_GAMING_8729, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER 8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_8G_GAMING_8707, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2070 SUPER O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 O8G V2 Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_O8G_V2_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 SUPER A8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 SUPER O8G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 SUPER O8G White" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_O8G_WHITE, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 Ti 11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 Ti 11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_11G_GAMING_866C, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 Ti A11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_A11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RTX 2080 Ti O11G Gaming" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_O11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS TUF RTX 3060 Ti 8G Gaming OC" , DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX3060TI_LHR_DEV, ASUS_SUB_VEN, ASUS_TUF_RTX_3060_TI_O8G_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1050 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050_DEV, ASUS_SUB_VEN, ASUS_GTX1050_STRIX_O2G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1050 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1050 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_O4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1050 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1050TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1050TI_O4G_GAMING_2, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1060 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1060_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1060_6G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1060 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1060_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1060, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1070 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070_8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1070 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070_O8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1070 OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1070 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070TI_8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1070 A8G Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1070TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1070TI_A8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_GTX1080_STRIX, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_A8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_O8G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Gaming OC 11Gbps", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080_O8G_11GBPS, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_11G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_O11G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1080 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1080TI_O11G_GAMING_A02, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Poseidon GeForce GTX 1080 Ti", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_POSEIDON_GTX1080TI, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1650 SUPER A4G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1650S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1650S_A4G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1650 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1650S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1650S_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1660 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1660S_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1660 SUPER Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_GTX1660S_6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce GTX 1660 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_GTX1660TI_DEV, ASUS_SUB_VEN, ASUS_ROG_GTX1660TI_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_GAMING_86D2, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 EVO Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 EVO V2 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU106_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_06G_EVO_V2_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 EVO Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060_TU104_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060_O6G_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER A8G EVO Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_A8G_EVO_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_8G_GAMING_8702, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2060 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2060S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2060S_A8G_GAMING_86FD, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING_86FF, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_A8G_GAMING_8706, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_O8G_GAMING_8729, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_8G_GAMING_8707, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2070 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2070S_OC_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2070S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 V2 Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080_O8G_V2_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 SUPER A8G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_A8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 SUPER Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 SUPER White OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080S_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080S_O8G_WHITE, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Ti Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_11G_GAMING_866C, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Ti A11G Gaming", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_A11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX GeForce RTX 2080 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX2080TI_A_DEV, ASUS_SUB_VEN, ASUS_ROG_STRIX_RTX2080TI_O11G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS TUF GeForce RTX 3060 Ti Gaming OC", DetectAsusAuraGPUControllers, NVIDIA_VEN, NVIDIA_RTX3060TI_LHR_DEV, ASUS_SUB_VEN, ASUS_TUF_RTX_3060TI_O8G_OC, 0x2A);
/*-----------------------------------------*\
| AMD GPUs |
\*-----------------------------------------*/
REGISTER_I2C_PCI_DETECTOR("ASUS AREZ Strix RX Vega 56 O8G" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_VEGA10_DEV, ASUS_SUB_VEN, ASUS_AREZ_STRIX_VEGA56_08G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG Vega 64 Strix" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_VEGA10_DEV, ASUS_SUB_VEN, ASUS_VEGA64_STRIX, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 5600 XT Strix O6G Gaming" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5600XT_STRIX_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 5700 XT Strix Gaming OC" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700XT_STRIX_GAMING_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 5700 XT Strix 08G Gaming" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700XT_STRIX_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RX 470 O4G Gaming" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX470_STRIX_O4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RX 480 Gaming OC" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX480_STRIX_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX RX 560 Gaming" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS11, ASUS_SUB_VEN, ASUS_RX560_STRIX_4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 570 Strix O4G Gaming OC" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX570_STRIX_O4G_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 570 Strix O8G Gaming OC" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX570_STRIX_O8G_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 580 Strix Gaming OC" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX580_STRIX_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG RX 580 Strix Gaming TOP" , DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX580_STRIX_GAMING_TOP, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS AREZ STRIX Radeon RX Vega 56 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_VEGA10_DEV, ASUS_SUB_VEN, ASUS_AREZ_STRIX_VEGA56_08G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon Vega 64", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_VEGA10_DEV, ASUS_SUB_VEN, ASUS_VEGA64_STRIX, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 470 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX470_STRIX_O4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 480 Gaming", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX480_STRIX_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 480 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX480_STRIX_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 560 Gaming", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS11, ASUS_SUB_VEN, ASUS_RX560_STRIX_4G_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 560 Gaming", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS11, ASUS_SUB_VEN, ASUS_RX560_STRIX_4G_GAMING_04BE, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 570 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX570_STRIX_O4G_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 570 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX570_STRIX_O8G_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 580 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX580_STRIX_GAMING_OC, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 580 Gaming TOP", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX580_STRIX_GAMING_TOP, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 590 Gaming", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_POLARIS_DEV, ASUS_SUB_VEN, ASUS_RX590_STRIX_GAMING, 0x29);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 5600 XT Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5600XT_STRIX_O6G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 5700 Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700_STRIX_GAMING_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 5700 XT Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700XT_STRIX_GAMING_OC, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 5700 XT Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700XT_STRIX_O8G_GAMING, 0x2A);
REGISTER_I2C_PCI_DETECTOR("ASUS ROG STRIX Radeon RX 5700 XT Gaming OC", DetectAsusAuraGPUControllers, AMD_GPU_VEN, AMD_NAVI10_DEV, ASUS_SUB_VEN, ASUS_RX5700XT_STRIX_O8G_GAMING_05C3, 0x2A);
@@ -32,7 +32,7 @@ int RGBController_AuraGPU::GetDeviceMode()
break;
}
for(int mode = 0; mode < modes.size(); mode++)
for(unsigned int mode = 0; mode < modes.size(); mode++)
{
if(modes[mode].value == dev_mode)
{
@@ -11,6 +11,7 @@
#include <cstring>
#include "AsusAuraHeadsetStandController.h"
#include "StringUtils.h"
AuraHeadsetStandController::AuraHeadsetStandController(hid_device* dev_handle, const char* path)
{
@@ -38,10 +39,7 @@ std::string AuraHeadsetStandController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AuraHeadsetStandController::GetVersion()
@@ -11,7 +11,7 @@
#pragma once
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
enum
@@ -11,6 +11,7 @@
#include <cstring>
#include "AsusAuraKeyboardController.h"
#include "StringUtils.h"
AuraKeyboardController::AuraKeyboardController(hid_device* dev_handle, const char* path)
{
@@ -38,10 +39,7 @@ std::string AuraKeyboardController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AuraKeyboardController::SendDirect
@@ -13,7 +13,7 @@
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
class AuraKeyboardController
@@ -12,6 +12,7 @@
#include <cstring>
#include "AsusAuraMonitorController.h"
#include "LogManager.h"
#include "StringUtils.h"
AuraMonitorController::AuraMonitorController(hid_device* dev_handle, const char* path, uint16_t pid)
{
@@ -40,10 +41,7 @@ std::string AuraMonitorController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
void AuraMonitorController::BeginUpdate()
@@ -11,7 +11,7 @@
#pragma once
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
enum
@@ -13,7 +13,7 @@
/**------------------------------------------------------------------*\
@name Asus Aura Monitor
@category LEDStrip
@category Accessory
@type USB
@save :x:
@direct :white_check_mark:
@@ -28,7 +28,7 @@ RGBController_AuraMonitor::RGBController_AuraMonitor(AuraMonitorController* cont
name = "ASUS Aura Monitor";
vendor = "ASUS";
type = DEVICE_TYPE_LEDSTRIP;
type = DEVICE_TYPE_MONITOR;
description = "ASUS Aura Monitor Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
@@ -11,6 +11,7 @@
#include <cstring>
#include "AsusAuraMouseController.h"
#include "StringUtils.h"
AuraMouseController::AuraMouseController(hid_device* dev_handle, const char* path, uint16_t pid)
{
@@ -65,10 +66,7 @@ std::string AuraMouseController::GetSerialString()
return("");
}
std::wstring serial_wstring = serial_string;
std::string return_string = CleanSerial(serial_wstring);
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AuraMouseController::GetVersion(bool wireless, int protocol)
@@ -12,7 +12,7 @@
#pragma once
#include <string>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
#include "AsusAuraMouseDevices.h"
@@ -55,6 +55,7 @@
#define AURA_ROG_KERIS_WIRELESS_AIMPOINT_2_4_PID 0x1A68
#define AURA_ROG_KERIS_WIRELESS_AIMPOINT_BT_PID 0x1A6A
#define AURA_TUF_M3_PID 0x1910
#define AURA_TUF_M3_GEN_II_PID 0x1A9B
#define AURA_TUF_M5_PID 0x1898
#define AURA_ROG_SPATHA_X_DOCK_FAKE_PID 0xFFFF
@@ -636,6 +637,20 @@ static std::map<int,mouse_type> aura_mouse_devices =
{ AURA_MOUSE_MODE_STATIC, AURA_MOUSE_MODE_BREATHING, AURA_MOUSE_MODE_SPECTRUM, AURA_MOUSE_MODE_REACTIVE }
}
},
{
AURA_TUF_M3_GEN_II_PID, // TUF M3 Gen II
{
0,
0,
0,
100,
false,
1,
false,
{ AURA_MOUSE_ZONE_LOGO },
{ AURA_MOUSE_MODE_STATIC, AURA_MOUSE_MODE_BREATHING, AURA_MOUSE_MODE_SPECTRUM, AURA_MOUSE_MODE_REACTIVE }
}
},
{
AURA_TUF_M5_PID, // TUF M5
{
@@ -13,6 +13,7 @@
#include <chrono>
#include <thread>
#include "AsusAuraMouseGen1Controller.h"
#include "StringUtils.h"
AsusAuraMouseGen1Controller::AsusAuraMouseGen1Controller(hid_device* dev_handle, const char* path, uint16_t pid)
{
@@ -41,10 +42,7 @@ std::string AsusAuraMouseGen1Controller::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AsusAuraMouseGen1Controller::GetVersion()
@@ -13,7 +13,7 @@
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
#define HID_MAX_STR 255
@@ -221,7 +221,7 @@ void RGBController_AsusROGSpatha::DeviceUpdateMode()
if(modes[active_mode].value == ASUS_ROG_SPATHA_MODE_SPECTRUM_CYCLE || modes[active_mode].value == ASUS_ROG_SPATHA_MODE_BREATHING)
{
for(int j = 0; j < modes[active_mode].colors.size(); j++)
for(unsigned int j = 0; j < modes[active_mode].colors.size(); j++)
{
controller->SendUpdate(0x13 + j * 3 + i * 38, RGBGetRValue(modes[active_mode].colors[j]));
controller->SendUpdate(0x14 + j * 3 + i * 38, RGBGetGValue(modes[active_mode].colors[j]));
@@ -255,7 +255,7 @@ void RGBController_AsusROGSpatha::DeviceSaveMode()
if(modes[active_mode].value == ASUS_ROG_SPATHA_MODE_SPECTRUM_CYCLE || modes[active_mode].value == ASUS_ROG_SPATHA_MODE_BREATHING)
{
for(int j = 0; j < modes[active_mode].colors.size(); j++)
for(unsigned int j = 0; j < modes[active_mode].colors.size(); j++)
{
controller->UpdateProfile(0x13 + j * 3 + i * 38, profile, RGBGetRValue(modes[active_mode].colors[j]));
controller->UpdateProfile(0x14 + j * 3 + i * 38, profile, RGBGetGValue(modes[active_mode].colors[j]));
@@ -1,14 +1,17 @@
/*-----------------------------------------*\
| AsusAuraMousematController.cpp |
| |
| Driver for ASUS Aura RGB USB |
| lighting controller |
| |
| Adam Honse (CalcProgrammer1) 1/10/2022 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AsusAuraMousematController.cpp |
| |
| Driver for ASUS Aura mousemat |
| |
| Adam Honse (CalcProgrammer1) 10 Jan 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AsusAuraMousematController.h"
#include <cstring>
#include "AsusAuraMousematController.h"
#include "StringUtils.h"
AuraMousematController::AuraMousematController(hid_device* dev_handle, const char* path)
{
@@ -36,10 +39,7 @@ std::string AuraMousematController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AuraMousematController::GetVersion()
@@ -1,17 +1,18 @@
/*-----------------------------------------*\
| AsusAuraMousematController.h |
| |
| Definitions and types for ASUS Aura |
| USB RGB lighting controller |
| |
| Adam Honse (CalcProgrammer1) 1/10/2022 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| AsusAuraMousematController.h |
| |
| Driver for ASUS Aura mousemat |
| |
| Adam Honse (CalcProgrammer1) 10 Jan 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <hidapi.h>
#include "RGBController.h"
enum
{
@@ -1,11 +1,13 @@
/*-----------------------------------------*\
| RGBController_AsusAuraMousemat.cpp |
| |
| Generic RGB Interface for Asus Aura |
| USB controller driver |
| |
| Adam Honse (CalcProgrammer1) 1/10/2022 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraMousemat.cpp |
| |
| RGBController for ASUS Aura mousemat |
| |
| Adam Honse (CalcProgrammer1) 10 Jan 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AsusAuraMousemat.h"
@@ -1,13 +1,16 @@
/*-----------------------------------------*\
| RGBController_AsusAuraMousemat.h |
| |
| Generic RGB Interface for Asus Aura |
| USB controller driver |
| |
| Mola19 06/04/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraMousemat.h |
| |
| RGBController for ASUS Aura mousemat |
| |
| Mola19 06 Apr 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AsusAuraMousematController.h"
@@ -1,28 +1,32 @@
/*-------------------------------------------------------------------*\
| AsusAuraRyuoAIOController.cpp |
| |
| Driver for the ASUS Aura Ryuo AIO |
| lighting controller |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
\*-------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| AsusAuraRyuoAIOController.cpp |
| |
| Driver for ASUS Aura Ryuo |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AsusAuraRyuoAIOController.h"
AsusAuraRyuoAIOController::AsusAuraRyuoAIOController(hid_device* dev_handle, const char* path) : AuraUSBController(dev_handle, path)
{
/*-----------------------------------------------------*\
| Add addressable devices |
| Manually adding device info for now |
| TODO: Implement config table accurately |
\*-----------------------------------------------------*/
device_info.push_back({0x00, 0x00, 12, 0, AuraDeviceType::FIXED});
/*-----------------------------------------------------*\
| Add addressable devices |
| Manually adding device info for now |
| TODO: Implement config table accurately |
\*-----------------------------------------------------*/
device_info.push_back({0x00, 0x00, 12, 0, AuraDeviceType::FIXED});
}
AsusAuraRyuoAIOController::~AsusAuraRyuoAIOController()
{
hid_close(dev);
/*---------------------------------------------------------*\
| HID device is closed in the base class |
\*---------------------------------------------------------*/
}
std::string AsusAuraRyuoAIOController::GetLocation()
@@ -32,10 +36,10 @@ std::string AsusAuraRyuoAIOController::GetLocation()
void AsusAuraRyuoAIOController::SetMode(unsigned char /*channel*/, unsigned char /*mode*/, unsigned char /*red*/, unsigned char /*grn*/, unsigned char /*blu*/)
{
/*---------------------------------------------------------*\
| This interface is not used in this controller however is |
| required by the abstract class |
\*---------------------------------------------------------*/
/*---------------------------------------------------------*\
| This interface is not used in this controller however is |
| required by the abstract class |
\*---------------------------------------------------------*/
}
void AsusAuraRyuoAIOController::SetMode(unsigned char mode, unsigned char speed, unsigned char direction, RGBColor colour)
@@ -1,20 +1,22 @@
/*-------------------------------------------------------------------*\
| AsusAuraRyuoAIOController.h |
| |
| Driver for the ASUS Aura Ryuo AIO |
| lighting controller |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
\*-------------------------------------------------------------------*/
#include <string>
#include <hidapi/hidapi.h>
#include "RGBController.h"
#include "AsusAuraUSBController.h"
/*---------------------------------------------------------*\
| AsusAuraRyuoAIOController.h |
| |
| Driver for ASUS Aura Ryuo |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include <hidapi.h>
#include "RGBController.h"
#include "AsusAuraUSBController.h"
#define ASUSAURARYUOAIOCONTROLLER_TIMEOUT 250
#define ASUSAURARYUOAIOCONTROLLER_HID_MAX_STR 255
@@ -1,12 +1,14 @@
/*-------------------------------------------------------------------*\
| RGBController_AsusAuraRyuoAIO.cpp |
| |
| Driver for the ASUS Aura Ryuo AIO |
| lighting controller |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
\*-------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraRyuoAIO.cpp |
| |
| RGBController for ASUS Aura Ryuo |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBControllerKeyNames.h"
#include "RGBController_AsusAuraRyuoAIO.h"
@@ -178,7 +180,7 @@ void RGBController_AsusAuraRyuoAIO::ResizeZone(int /*zone*/, int /*new_size*/)
void RGBController_AsusAuraRyuoAIO::DeviceUpdateLEDs()
{
for(int zone_idx = 0; zone_idx < zones.size(); zone_idx++)
for(unsigned int zone_idx = 0; zone_idx < zones.size(); zone_idx++)
{
UpdateZoneLEDs(zone_idx);
}
@@ -203,7 +205,7 @@ void RGBController_AsusAuraRyuoAIO::DeviceUpdateMode()
int RGBController_AsusAuraRyuoAIO::GetLED_Zone(int led_idx)
{
for(int zone_idx = 0; zone_idx < zones.size(); zone_idx++)
for(unsigned int zone_idx = 0; zone_idx < zones.size(); zone_idx++)
{
int zone_start = zones[zone_idx].start_idx;
int zone_end = zone_start + zones[zone_idx].leds_count - 1;
@@ -1,18 +1,21 @@
/*-------------------------------------------------------------------*\
| RGBController_AsusAuraRyuoAIO.h |
| |
| Driver for the ASUS Aura Ryuo AIO |
| lighting controller |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
\*-------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraRyuoAIO.h |
| |
| RGBController for ASUS Aura Ryuo |
| |
| Cooper Hall (geobot19 / Geo_bot) 08 Apr 2022 |
| using snipets from Chris M (Dr.No) |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <vector>
#include "LogManager.h"
#include "RGBController.h"
#include "AsusAuraRyuoAIOController.h"
#include <vector>
class RGBController_AsusAuraRyuoAIO : public RGBController
{
@@ -1,21 +1,23 @@
/*-----------------------------------------*\
| AsusAuraTUFKeyboardController.cpp |
| |
| Driver for ASUS Aura RGB USB |
| lighting controller |
| |
| Mola19 03/03/2021 |
\*-----------------------------------------*/
#include "AsusAuraTUFKeyboardController.h"
/*---------------------------------------------------------*\
| AsusAuraTUFKeyboardController.cpp |
| |
| Driver for ASUS Aura TUF keyboard |
| |
| Mola19 03 Mar 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <math.h>
#include <string>
#include <stdio.h>
#include <string.h>
#include <cmath>
#include <vector>
#include "AsusAuraTUFKeyboardController.h"
#include "StringUtils.h"
AuraTUFKeyboardController::AuraTUFKeyboardController(hid_device* dev_handle, const char* path, uint16_t pid, unsigned short version)
{
@@ -37,42 +39,32 @@ std::string AuraTUFKeyboardController::GetDeviceLocation()
return("HID: " + location);
}
std::string clean_serial(const std::wstring& wstr)
{
/*-------------------------------------------------------------------------*\
| Skip non-ASCII, trailing garbage in serial numbers. Required by the |
| Scope II 96, whose original firmware outputs garbage, which even differs |
| after computer reboots and therefore breaks OpenRGB profile matching. |
\*-------------------------------------------------------------------------*/
std::string result;
for(wchar_t c : wstr)
{
// Forbid control chars and anything above final printable low-ASCII.
if(c < 32 || c > 126)
{
break;
}
result += (char)c;
}
return(result);
}
std::string AuraTUFKeyboardController::GetSerialString()
{
wchar_t serial_string[128];
int ret = hid_get_serial_number_string(dev, serial_string, 128);
wchar_t serial_string[HID_MAX_STR];
memset(serial_string, 0, sizeof(serial_string));
int ret = hid_get_serial_number_string(dev, serial_string, HID_MAX_STR);
if(ret != 0)
{
return("");
}
std::wstring serial_wstring = serial_string;
std::string return_string = clean_serial(serial_wstring);
/*-------------------------------------------------------------------------*\
| Skip non-ASCII, trailing garbage in serial numbers. Required by the |
| Scope II 96, whose original firmware outputs garbage, which even differs |
| after computer reboots and therefore breaks OpenRGB profile matching. |
\*-------------------------------------------------------------------------*/
switch(device_pid)
{
case AURA_ROG_STRIX_SCOPE_II_96_WIRELESS_USB_PID:
serial_string[12] = L'\0';
break;
default:
break;
}
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
std::string AuraTUFKeyboardController::GetVersion()
@@ -1,20 +1,23 @@
/*-----------------------------------------*\
| AsusAuraTUFKeyboardController.h |
| |
| Definitions and types for ASUS Aura |
| USB RGB lighting controller |
| |
| Mola19 03/03/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AsusAuraTUFKeyboardController.h |
| |
| Driver for ASUS Aura TUF keyboard |
| |
| Mola19 03 Mar 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController.h"
#include "AsusAuraTUFKeyboardLayouts.h"
#pragma once
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "RGBController.h"
#include "AsusAuraTUFKeyboardLayouts.h"
#pragma once
#define HID_MAX_STR 128
enum
{
@@ -45,6 +48,7 @@ enum
AURA_ROG_STRIX_FLARE_II_ANIMATE_PID = 0x19FC,
AURA_ROG_STRIX_SCOPE_PID = 0x18F8,
AURA_ROG_STRIX_SCOPE_RX_PID = 0x1951,
AURA_ROG_STRIX_SCOPE_RX_EVA_02_PID = 0x1B12,
AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_USB_PID = 0x19F6,
AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_2_4_PID = 0x19F8,
AURA_ROG_STRIX_SCOPE_II_PID = 0x1AB3,
@@ -1,19 +1,21 @@
/*-----------------------------------------*\
| AsusAuraTUFKeyboardController.h |
| |
| Definitions and types for ASUS Aura |
| USB RGB lighting controller |
| |
| Mola19 10/02/2021 |
\*-----------------------------------------*/
#include "RGBControllerKeyNames.h"
#include <vector>
#include <map>
#include "RGBController.h"
/*---------------------------------------------------------*\
| AsusAuraTUFKeyboardLayouts.h |
| |
| Layouts for ASUS Aura TUF keyboard |
| |
| Mola19 02 Nov 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <map>
#include <vector>
#include "RGBControllerKeyNames.h"
#include "RGBController.h"
enum
{
ASUS_TUF_K7_LAYOUT_CA = 1,
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| RGBController_AsusAuraTUFKeyboard.cpp |
| |
| Generic RGB Interface for Asus Aura |
| USB controller driver |
| |
| Mola19 03/03/2020 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraTUFKeyboard.cpp |
| |
| RGBController for ASUS Aura TUF keyboard |
| |
| Mola19 03 Mar 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AsusAuraTUFKeyboard.h"
#include <vector>
#include <cmath>
#include <vector>
#include "RGBController_AsusAuraTUFKeyboard.h"
/**------------------------------------------------------------------*\
@name Asus Aura TUF Keyboard
@@ -65,6 +67,7 @@ RGBController_AuraTUFKeyboard::RGBController_AuraTUFKeyboard(AuraTUFKeyboardCont
case AURA_ROG_STRIX_FLARE_II_PID:
case AURA_ROG_STRIX_FLARE_II_ANIMATE_PID:
case AURA_ROG_STRIX_SCOPE_RX_PID:
case AURA_ROG_STRIX_SCOPE_RX_EVA_02_PID:
case AURA_ROG_STRIX_SCOPE_PID:
case AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_2_4_PID:
case AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_USB_PID:
@@ -138,7 +141,7 @@ RGBController_AuraTUFKeyboard::RGBController_AuraTUFKeyboard(AuraTUFKeyboardCont
Wave.value = AURA_KEYBOARD_MODE_WAVE;
Wave.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_DIRECTION_HV | MODE_FLAG_MANUAL_SAVE | MODE_FLAG_HAS_BRIGHTNESS;
if(controller->is_per_led_keyboard) Wave.flags |= MODE_FLAG_HAS_DIRECTION_UD;
Wave.speed_min = AURA_KEYBOARD_SPEED_MIN;
Wave.speed_max = AURA_KEYBOARD_SPEED_MAX;
Wave.speed = AURA_KEYBOARD_SPEED_DEFAULT;
@@ -417,6 +420,7 @@ void RGBController_AuraTUFKeyboard::SetupZones()
break;
case AURA_ROG_STRIX_SCOPE_PID:
case AURA_ROG_STRIX_SCOPE_RX_PID:
case AURA_ROG_STRIX_SCOPE_RX_EVA_02_PID:
case AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_USB_PID:
case AURA_ROG_STRIX_SCOPE_NX_WIRELESS_DELUXE_2_4_PID:
keyboard_ptr = &AsusROGStrixScopeLayouts;
@@ -1,13 +1,16 @@
/*-----------------------------------------*\
| RGBController_AsusAuraTUFKeyboard.h |
| |
| Generic RGB Interface for Asus Aura |
| USB controller driver |
| |
| Mola19 03/03/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AsusAuraTUFKeyboard.h |
| |
| RGBController for ASUS Aura TUF keyboard |
| |
| Mola19 03 Mar 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AsusAuraTUFKeyboardController.h"
@@ -1,14 +1,16 @@
/*-----------------------------------------*\
| AsusAuraAddressableController.cpp |
| |
| Driver for ASUS Aura RGB Addressable |
| lighting controller |
| |
| Adam Honse (CalcProgrammer1) 1/18/2020 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AsusAuraAddressableController.cpp |
| |
| Driver for ASUS Aura addressable controller |
| |
| Adam Honse (CalcProgrammer1) 18 Jan 2020 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AsusAuraAddressableController.h"
#include <cstring>
#include "AsusAuraAddressableController.h"
AuraAddressableController::AuraAddressableController(hid_device* dev_handle, const char* path) : AuraUSBController(dev_handle, path)
{
@@ -1,20 +1,21 @@
/*-----------------------------------------*\
| AsusAuraAddressableController.h |
| |
| Definitions and types for ASUS Aura |
| Addressable RGB lighting controller |
| |
| Adam Honse (CalcProgrammer1) 1/18/2020 |
\*-----------------------------------------*/
#include "RGBController.h"
#include "AsusAuraUSBController.h"
#include <string>
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| AsusAuraAddressableController.h |
| |
| Driver for ASUS Aura addressable controller |
| |
| Adam Honse (CalcProgrammer1) 18 Jan 2020 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include <hidapi.h>
#include "RGBController.h"
#include "AsusAuraUSBController.h"
enum
{
AURA_ADDRESSABLE_CONTROL_MODE_EFFECT = 0x3B, /* Effect control mode */
@@ -1,14 +1,16 @@
/*-----------------------------------------*\
| AsusAuraMainboardController.cpp |
| |
| Driver for ASUS Aura RGB USB mainboard |
| lighting controller |
| |
| Martin Hartl (inlart) 4/25/2020 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AsusAuraMainboardController.cpp |
| |
| Driver for ASUS Aura mainboard |
| |
| Martin Hartl (inlart) 25 Apr 2020 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AsusAuraMainboardController.h"
#include <cstring>
#include "AsusAuraMainboardController.h"
AuraMainboardController::AuraMainboardController(hid_device* dev_handle, const char* path) : AuraUSBController(dev_handle, path), mode(AURA_MODE_DIRECT)
{
@@ -37,6 +39,7 @@ AuraMainboardController::AuraMainboardController(hid_device* dev_handle, const c
for(int i = 0; i < num_addressable_headers; i++)
{
device_info.push_back({effect_channel, (unsigned char)i, 0x01, 0, AuraDeviceType::ADDRESSABLE});
effect_channel++;
}
}
@@ -1,20 +1,21 @@
/*-----------------------------------------*\
| AsusAuraMainboardController.h |
| |
| Definitions and types for ASUS Aura |
| USB Mainboard RGB lighting controller |
| |
| Martin Hartl (inlart) 4/25/2020 |
\*-----------------------------------------*/
#include "RGBController.h"
#include "AsusAuraUSBController.h"
#include <string>
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| AsusAuraMainboardController.h |
| |
| Driver for ASUS Aura mainboard |
| |
| Martin Hartl (inlart) 25 Apr 2020 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include <hidapi.h>
#include "RGBController.h"
#include "AsusAuraUSBController.h"
enum
{
AURA_MAINBOARD_CONTROL_MODE_EFFECT = 0x35, /* Effect control mode */
@@ -1,16 +1,18 @@
/*-----------------------------------------*\
| AsusAuraUSBController.cpp |
| |
| Driver for ASUS Aura RGB USB |
| lighting controller |
| |
| Martin Hartl (inlart) 4/25/2020 |
\*-----------------------------------------*/
#include "AsusAuraUSBController.h"
#include "LogManager.h"
/*---------------------------------------------------------*\
| AsusAuraUSBController.cpp |
| |
| Driver for ASUS Aura USB device |
| |
| Martin Hartl (inlart) 25 Apr 2020 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <cstring>
#include "AsusAuraUSBController.h"
#include "LogManager.h"
#include "StringUtils.h"
AuraUSBController::AuraUSBController(hid_device* dev_handle, const char* path)
{
@@ -51,10 +53,7 @@ std::string AuraUSBController::GetSerialString()
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());
return(return_string);
return(StringUtils::wstring_to_string(serial_string));
}
const std::vector<AuraDeviceInfo>& AuraUSBController::GetAuraDevices() const

Some files were not shown because too many files have changed in this diff Show More