Compare 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
Adam Honse c60539cb62 Update header comments for some ASUS controllers 2024-05-09 11:56:22 -05:00
Adam Honse 6aa6e5a972 Update file header comments to new standardized format for ASRock SMBus controller files 2024-05-09 06:48:05 -05:00
Adam Honse 30acbb10f7 Update more controller files' header comments to new standardized format 2024-05-08 20:51:16 -05:00
Chris M b87bf14fd5 Added Asus ROG Strix RTX4070Ti Super 16GB Gaming OC GPU
* Added `0x896B` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4070tis-o16g-gaming/)
* Resolves #4119
2024-05-09 00:54:49 +00:00
Adam Honse 1bbfded78a Update more file header comments to standardized new format, move some locally owned files out of the dependencies folder 2024-05-08 11:53:07 -05:00
Adam Honse ff2957ec80 Update the rest of the user interface file header comments to the standardized new format 2024-05-08 00:40:41 -05:00
SDD701 e11046d076 added Redragon M801 Sniper support 2024-05-07 14:55:28 +07:00
Adam Honse da80b12fda Update some user interface file header comments to standardized new format 2024-05-06 16:35:13 -05:00
Chris M 2b23841ec2 Added MSI RTX4080 16G Gaming X Slim White GPU
* Registered detector in MSIGPUv2ControllerDetect.cpp
* Link to [webpage](https://www.msi.com/Graphics-Card/GeForce-RTX-4080-16GB-GAMING-X-SLIM-WHITE)
* Resolves #4110
2024-05-05 01:47:41 +00:00
Adam Honse 4f951c13c6 Even more file header comment updates to standardized new format 2024-05-04 01:27:12 -05:00
Adam Honse a7c400bc65 Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
Adam Honse a3066db16c Update even more file header comments to standardized new format 2024-05-03 11:52:02 -05:00
Alex Ritter 200b8e3a24 Fix mac info 2024-05-03 15:00:50 +02:00
Adam Honse b12cd438cd Update more file header comments to standardized new format 2024-05-03 00:39:21 -05:00
Adam Honse f38b7485f7 Start updating file header comments to standardized new format 2024-05-03 00:05:12 -05:00
Cooper Hall 1ca946f3eb improved I2C/SMBus warning message 2024-05-03 04:08:11 +00:00
Chris M 6c4d901cb9 Added Asus Strix LC RTX4090 24GB Gaming GPU
* Added `0x88E8` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-lc-rtx4090-o24g-gaming/)
2024-05-03 07:17:55 +10:00
Adam Honse 30ab1bfadd Add some comments to device page code 2024-05-02 11:11:02 -05:00
Qwex ad6e83885e Fix mac os crash on rescan 2024-05-02 12:57:13 +00:00
Chris M 7ae3ee5e72 Swap Razer Naga Chroma Logo & Scroll Wheel zones
* Resolves #4098
2024-05-02 05:26:17 +00:00
Adam Honse 95d9998398 Add Hex color value box 2024-05-02 00:20:30 -05:00
Adam Honse 9c2d30bbbd Formatting and organizational cleanup for controllers through CoolerMasterController 2024-05-01 00:13:41 -05:00
Adam Honse b6d5c64c5b Formatting and organizational cleanup for controllers beginning with A 2024-04-30 23:45:41 -05:00
Adam Honse 89645dff38 Remove LenovoGen7USBController, as it has been superseded by LenovoUSBController_Gen7_8 and is dead code 2024-04-30 18:53:50 -05:00
Adam Honse d52ad02c5c Organize most controller files into subfolders 2024-04-30 17:18:39 -05:00
Adam Honse ba57bad361 Even more warning fixes 2024-04-29 19:57:57 -05:00
Adam Honse d3c81d3306 More warning fixes 2024-04-29 18:08:33 -05:00
rc_05 f39409b7aa Added support for HyperX Pulsefire Core (HP Inc. version) 2024-04-29 21:37:14 +00:00
Codename-Antares f229c93fd4 Add Support for Red Square Keyrox TKL V2 2024-04-29 18:07:18 +00:00
Adam Honse fb963f4ab2 Fix even more warnings 2024-04-28 18:12:17 -05:00
Adam Honse 06ca1448d1 Fix more warnings 2024-04-28 16:15:09 -05:00
Adam Honse aa2c557045 Fix some warnings 2024-04-28 14:33:09 -05:00
Barry H 42542b6b67 Add Corsair M65 RGB Ultra Wired 2024-04-22 03:40:36 +00:00
calamar 31e72737c5 Add support for PNY RT 4070 Ti Super XLR8 Verto 2024-04-17 14:49:50 +00:00
Chris M 2c9e96c854 Added Asus Strix RTX4080 Super O16GB Gaming White GPU
* Added `0x8968` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4080s-o16g-white/)
* Resolves #4081
2024-04-17 13:12:57 +00:00
Adam Honse 2f80548303 Initial commit for NZXT Mouse Controller (NZXT Lift), implements only Direct mode 2024-04-16 18:09:50 -05:00
Oleh Selin fe87c25c16 Fix zone number for Razer Ornata V3 TKL 2024-04-14 19:18:24 +03:00
Chris M bdf6b763ba Added MSI RTX4080 Super 16G Gaming X Slim White GPU
* Added `0x511A` to pci_ids.h
* Registered detector in MSIGPUv2ControllerDetect.cpp
* Link to [webpage](https://www.msi.com/Graphics-Card/GeForce-RTX-4080-SUPER-16G-GAMING-X-SLIM-WHITE)
* Resolves #4068
2024-04-13 10:06:16 +10:00
Andrew Babbitt cafca16c81 Support for Corsair Dominator Titanium 2024-04-11 16:29:53 +00:00
Chris M 90a828e7a9 Added Asus Strix RTX4080 Super 16GB Gaming White GPU
* Added `0x8969` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://rog.asus.com/graphics-cards/graphics-cards/rog-strix/rog-strix-rtx4080s-16g-white/)
* Resolves #4066
2024-04-11 14:56:29 +10:00
Chris M 23d9a26ced Added Asus TUF RTX4070Ti Super 16GB Gaming OC White GPU
* Added `0x895B` to pci_ids.h
* Registered detector in ENESMBusControllerDetect.cpp
* Link to [webpage](https://www.asus.com/us/motherboards-components/graphics-cards/tuf-gaming/tuf-rtx4070tis-o16g-white-gaming/)
* Resolves #4061
2024-04-09 22:04:21 +10:00
WhoAmI 116cbb1707 Added Gainward GeForce RTX 3050 Ghost support 2024-04-07 03:16:25 +00:00
Jonathan Guzman 7b2534a3a5 Add Logitech G733 2nd variant 2024-04-07 02:14:51 +00:00
3232 changed files with 95597 additions and 373267 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 -->
+15 -12
View File
@@ -1,17 +1,20 @@
#include "AutoStart-FreeBSD.h"
#include "LogManager.h"
#include "filesystem.h"
/*---------------------------------------------------------*\
| AutoStart-FreeBSD.cpp |
| |
| Autostart implementation for FreeBSD |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <fstream>
#include <iostream>
#include <limits.h>
#include <unistd.h>
#include <sstream>
/*-----------------------------------------------------*\
| FreeBSD AutoStart Implementation |
| Public Methods |
\*-----------------------------------------------------*/
#include "AutoStart-FreeBSD.h"
#include "LogManager.h"
#include "filesystem.h"
AutoStart::AutoStart(std::string name)
{
@@ -50,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);
@@ -72,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;
}
/*---------------------------------------------*\
@@ -86,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);
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| AutoStart-FreeBSD.h |
| |
| Autostart implementation for FreeBSD |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
+18 -15
View File
@@ -1,17 +1,20 @@
#include "AutoStart-Linux.h"
#include "LogManager.h"
#include "filesystem.h"
/*---------------------------------------------------------*\
| AutoStart-Linux.cpp |
| |
| Autostart implementation for Linux |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <fstream>
#include <iostream>
#include <sstream>
#include <unistd.h>
#include <linux/limits.h>
/*-----------------------------------------------------*\
| Linux AutoStart Implementation |
| Public Methods |
\*-----------------------------------------------------*/
#include "AutoStart-Linux.h"
#include "LogManager.h"
#include "filesystem.h"
AutoStart::AutoStart(std::string name)
{
@@ -50,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);
@@ -73,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;
}
/*---------------------------------------------*\
@@ -87,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);
@@ -122,7 +125,7 @@ std::string AutoStart::GetExePath()
char exepath[ PATH_MAX ];
ssize_t count = readlink("/proc/self/exe", exepath, PATH_MAX);
return(std::string(exepath, (count > 0) ? count : 0));
}
@@ -159,7 +162,7 @@ std::string AutoStart::GenerateDesktopFile(AutoStartInfo autostart_info)
}
fileContents << std::endl;
return(fileContents.str());
}
@@ -198,7 +201,7 @@ void AutoStart::InitAutoStart(std::string name)
std::error_code ec;
bool success = true;
if(!filesystem::exists(autostart_dir))
{
success = filesystem::create_directories(autostart_dir, ec);
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| AutoStart-Linux.h |
| |
| Autostart implementation for Linux |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
+19 -17
View File
@@ -1,18 +1,20 @@
#include "AutoStart-MacOS.h"
#include "LogManager.h"
#include "filesystem.h"
/*---------------------------------------------------------*\
| AutoStart-MacOS.cpp |
| |
| Autostart implementation for MacOS |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <fstream>
#include <sstream>
#include <iostream>
#include <unistd.h>
#include <mach-o/dyld.h>
/*-----------------------------------------------------*\
| MacOS AutoStart Implementation |
| Public Methods |
\*-----------------------------------------------------*/
#include "AutoStart-MacOS.h"
#include "LogManager.h"
#include "filesystem.h"
AutoStart::AutoStart(std::string name)
{
@@ -51,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);
@@ -74,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;
}
/*---------------------------------------------*\
@@ -88,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);
@@ -152,7 +154,7 @@ std::string AutoStart::GenerateLaunchAgentFile(AutoStartInfo autostart_info)
fileContents << " <key>ProgramArguments</key>" << std::endl;
fileContents << " <array>" << std::endl;
fileContents << " <string>" << autostart_info.path << "</string>" << std::endl;
if(autostart_info.args != "")
{
std::istringstream arg_parser(autostart_info.args);
@@ -163,12 +165,12 @@ std::string AutoStart::GenerateLaunchAgentFile(AutoStartInfo autostart_info)
fileContents << " <string>" << arg << "</string>" << std::endl;
}
}
fileContents << " </array>" << std::endl;
fileContents << " <key>RunAtLoad</key><true/>" << std::endl;
fileContents << "</dict>" << std::endl;
fileContents << "</plist>" << std::endl;
return(fileContents.str());
}
@@ -193,7 +195,7 @@ void AutoStart::InitAutoStart(std::string name)
std::error_code ec;
bool success = true;
if(!filesystem::exists(autostart_dir))
{
success = filesystem::create_directories(autostart_dir, ec);
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| AutoStart-MacOS.h |
| |
| Autostart implementation for MacOS |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
+22 -20
View File
@@ -1,17 +1,19 @@
#include "AutoStart-Windows.h"
#include "LogManager.h"
#include "filesystem.h"
/*---------------------------------------------------------*\
| AutoStart-Windows.cpp |
| |
| Autostart implementation for Windows |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <fstream>
#include <iostream>
#include "windows.h"
#include <shlobj.h>
/*-----------------------------------------------------*\
| Windows AutoStart Implementation |
| Public Methods |
\*-----------------------------------------------------*/
#include "AutoStart-Windows.h"
#include "LogManager.h"
#include "filesystem.h"
#include "windows.h"
AutoStart::AutoStart(std::string name)
{
@@ -41,16 +43,16 @@ bool AutoStart::DisableAutoStart()
else
{
success = filesystem::remove(autostart_file, autostart_file_remove_errcode);
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);
@@ -97,11 +99,11 @@ bool AutoStart::EnableAutoStart(AutoStartInfo autostart_info)
shellLink->SetArguments(argumentsw.c_str());
shellLink->SetDescription(descriptionw.c_str());
shellLink->SetIconLocation(iconw.c_str(), 0);
IPersistFile* persistFile;
result = shellLink->QueryInterface(IID_IPersistFile, (void**)&persistFile);
if(SUCCEEDED(result))
{
result = persistFile->Save(startupfilepathw.c_str(), TRUE);
@@ -122,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;
@@ -151,7 +153,7 @@ std::string AutoStart::GetExePath()
char exepath[MAX_PATH] = "";
DWORD count = GetModuleFileNameA(NULL, exepath, MAX_PATH);
return(std::string(exepath, (count > 0) ? count : 0));
}
@@ -197,8 +199,8 @@ std::wstring AutoStart::utf8_decode(const std::string& str)
int size_needed = MultiByteToWideChar(CP_UTF8, 0, &str[0], (int) str.size(), nullptr, 0);
std::wstring wstrTo(size_needed, 0);
MultiByteToWideChar(CP_UTF8, 0, &str[0], (int) str.size(), &wstrTo[0], size_needed);
return(wstrTo);
}
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| AutoStart-Windows.h |
| |
| Autostart implementation for Windows |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
+9 -5
View File
@@ -1,9 +1,13 @@
#include "AutoStart.h"
/*---------------------------------------------------------*\
| AutoStart.cpp |
| |
| Autostart common implementation |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
/*-----------------------------------------------------*\
| Common AutoStart Implementation |
| Public Methods |
\*-----------------------------------------------------*/
#include "AutoStart.h"
std::string AutoStartInterface::GetAutoStartFile()
{
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| AutoStart.h |
| |
| Autostart common implementation |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
+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)
+9
View File
@@ -1,3 +1,12 @@
/*---------------------------------------------------------*\
| Colors.h |
| |
| List of named color constants |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#ifndef COLORS_H
#define COLORS_H
@@ -1,19 +1,20 @@
/*-------------------------------------------------------------------*\
| A4TechDetector.cpp |
| |
| Driver for A4Tech Devices Detector |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
\*-------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| A4TechDetector.cpp |
| |
| Detector for A4Tech Devices |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
/*-----------------------------------------------------*\
| OpenRGB includes |
\*-----------------------------------------------------*/
#include <hidapi/hidapi.h>
#include <hidapi.h>
#include "Detector.h"
#include "RGBController.h"
/*-----------------------------------------------------*\
| A4 Tech specific includes |
@@ -54,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);
@@ -1,21 +1,24 @@
/*-------------------------------------------------------------------*\
| BloodyB820RController.cpp |
| |
| Driver for A4Tech Bloody B820R Keyboard Controller |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
\*-------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| BloodyB820RController.cpp |
| |
| Driver for A4Tech Bloody B820R Keyboard |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "BloodyB820RController.h"
#include "StringUtils.h"
/*--------------------------------------------------------------------------------------*\
* The controller for this device should pass a packet of 64 bytes where the subsequent *
* two packets are for RED, GREEN, and BLUE respectively. The first 6 bytes are control *
* or information bytes and colors bytes starts from index 6. Moreover, the first pack- *
* et of each RGB contains color for 58 keys and the rest (104 - 58 == 46) are send on *
* the second packet. *
\*--------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*\
| The controller for this device should pass a packet of 64 bytes where the subsequent |
| two packets are for RED, GREEN, and BLUE respectively. The first 6 bytes are control |
| or information bytes and colors bytes starts from index 6. Moreover, the first pack- |
| et of each RGB contains color for 58 keys and the rest (104 - 58 == 46) are send on |
| the second packet. |
\*-------------------------------------------------------------------------------------*/
BloodyB820RController::BloodyB820RController(hid_device* dev_handle, const char* path)
{
@@ -33,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()
@@ -50,12 +54,12 @@ std::string BloodyB820RController::GetLocation()
void BloodyB820RController::SendControlPacket(uint8_t data)
{
uint8_t buffer[BLOODY_B820R_PACKET_SIZE] = { 0x07, 0x03, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 };
uint8_t buffer[BLOODY_B820R_PACKET_SIZE] = { 0x07, 0x03, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 };
hid_send_feature_report(dev, buffer, BLOODY_B820R_PACKET_SIZE);
buffer[BLOODY_B820R_MODE_BYTE] = 0;
buffer[BLOODY_B820R_DATA_BYTE] = data;
buffer[BLOODY_B820R_MODE_BYTE] = 0;
buffer[BLOODY_B820R_DATA_BYTE] = data;
hid_send_feature_report(dev, buffer, BLOODY_B820R_PACKET_SIZE);
}
@@ -75,14 +79,12 @@ void BloodyB820RController::SetLEDDirect(std::vector<RGBColor> colors)
| packet_map is the index of the Key from full_matrix_map and |
| the value is the position in the direct packet buffer |
\*-----------------------------------------------------------------*/
for(size_t i = 0; i < colors.size(); i++)
{
RGBColor color = colors[i];
uint8_t offset = BLOODY_B820R_RGB_OFFSET;
uint8_t buffer_idx = offset + i % BLOODY_B820R_RGB_BUFFER_SIZE;
uint8_t* buffers[2][3] =
RGBColor color = colors[i];
uint8_t offset = BLOODY_B820R_RGB_OFFSET;
uint8_t buffer_idx = offset + i % BLOODY_B820R_RGB_BUFFER_SIZE;
uint8_t* buffers[2][3] =
{
{r1_buffer, g1_buffer, b1_buffer},
{r2_buffer, g2_buffer, b2_buffer}
@@ -99,4 +101,4 @@ void BloodyB820RController::SetLEDDirect(std::vector<RGBColor> colors)
hid_send_feature_report(dev, g2_buffer, BLOODY_B820R_PACKET_SIZE);
hid_send_feature_report(dev, b1_buffer, BLOODY_B820R_PACKET_SIZE);
hid_send_feature_report(dev, b2_buffer, BLOODY_B820R_PACKET_SIZE);
}
}
@@ -1,19 +1,21 @@
/*-------------------------------------------------------------------*\
| BloodyB820RController.h |
| |
| Driver for A4Tech Bloody B820R Keyboard Controller |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
\*-------------------------------------------------------------------*/
#include <string>
#include <hidapi/hidapi.h>
#include "RGBController.h"
/*---------------------------------------------------------*\
| BloodyB820RController.h |
| |
| Driver for A4Tech Bloody B820R Keyboard |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#define NA 0xFFFFFFFF
#define HID_MAX_STR 255
#include <string>
#include <hidapi.h>
#include "RGBController.h"
#define HID_MAX_STR 255
#define BLOODY_B820R_RGB_BUFFER_SIZE 58
#define BLOODY_B820R_RGB_OFFSET 6
@@ -25,9 +27,9 @@
#define BLOODY_B820R_RELEASE_CONTROL 0x00
/*---------------------------------------------------------*\
| Bloody B820R product ID |
| Bloody B820R product ID |
\*---------------------------------------------------------*/
#define BLOODY_B820R_PID 0xFA10
#define BLOODY_B820R_PID 0xFA10
enum
{
@@ -0,0 +1,253 @@
/*---------------------------------------------------------*\
| RGBController_BloodyB820R.cpp |
| |
| RGBController for A4Tech Bloody B820R Keyboard |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBControllerKeyNames.h"
#include "RGBController_BloodyB820R.h"
//0xFFFFFFFF indicates an unused entry in matrix
#define NA 0xFFFFFFFF
static unsigned int matrix_map[6][21] =
{
{0, NA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NA, NA, NA, NA, 13, 14, 15},
{16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36},
{37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57},
{58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NA, NA, NA, NA, 71, 72, 73, NA},
{74, NA, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, NA, NA, 86, NA, 87, 88, 89, 90},
{91, 92, 93, 94, NA, NA, NA, NA, NA, NA, 95, 96, 97, 98, 99, 100, 101, 102, NA, 103, NA},
};
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,
KEY_EN_F11,
KEY_EN_F12,
KEY_EN_PRINT_SCREEN,
KEY_EN_SCROLL_LOCK,
KEY_EN_PAUSE_BREAK,
KEY_EN_BACK_TICK, //10
KEY_EN_1,
KEY_EN_2,
KEY_EN_3,
KEY_EN_4,
KEY_EN_5,
KEY_EN_6,
KEY_EN_7,
KEY_EN_8,
KEY_EN_9,
KEY_EN_0,
KEY_EN_MINUS,
KEY_EN_EQUALS,
KEY_EN_BACKSPACE,
KEY_EN_INSERT,
KEY_EN_HOME,
KEY_EN_PAGE_UP,
KEY_EN_NUMPAD_LOCK,
KEY_EN_NUMPAD_DIVIDE,
KEY_EN_NUMPAD_TIMES,
KEY_EN_NUMPAD_MINUS,
KEY_EN_TAB, //20
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,
KEY_EN_P,
KEY_EN_LEFT_BRACKET,
KEY_EN_RIGHT_BRACKET,
KEY_EN_ANSI_BACK_SLASH,
KEY_EN_DELETE,
KEY_EN_END,
KEY_EN_PAGE_DOWN,
KEY_EN_NUMPAD_7,
KEY_EN_NUMPAD_8,
KEY_EN_NUMPAD_9,
KEY_EN_NUMPAD_PLUS,
KEY_EN_CAPS_LOCK, //30
KEY_EN_A,
KEY_EN_S,
KEY_EN_D,
KEY_EN_F,
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_NUMPAD_4,
KEY_EN_NUMPAD_5,
KEY_EN_NUMPAD_6,
KEY_EN_LEFT_SHIFT, //40
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,
KEY_EN_RIGHT_SHIFT,
KEY_EN_UP_ARROW,
KEY_EN_NUMPAD_1,
KEY_EN_NUMPAD_2,
KEY_EN_NUMPAD_3,
KEY_EN_NUMPAD_ENTER,
KEY_EN_LEFT_CONTROL, //50
KEY_EN_LEFT_WINDOWS,
KEY_EN_LEFT_ALT,
KEY_EN_SPACE,
KEY_EN_RIGHT_ALT,
KEY_EN_RIGHT_FUNCTION,
KEY_EN_MENU,
KEY_EN_RIGHT_CONTROL,
KEY_EN_LEFT_ARROW,
KEY_EN_DOWN_ARROW,
KEY_EN_RIGHT_ARROW,
KEY_EN_NUMPAD_0,
KEY_EN_NUMPAD_PERIOD
};
/**------------------------------------------------------------------*\
@name A4Tech Bloody B820R
@category Keyboard
@type USB
@save :x:
@direct :white_check_mark:
@effects :x:
@detectors DetectBloodyB820R
@comment The A4Tech Bloody B820R keyboard controller currently
supports the full size (ANSI layout).
\*-------------------------------------------------------------------*/
RGBController_BloodyB820R::RGBController_BloodyB820R(BloodyB820RController *controller_ptr)
{
controller = controller_ptr;
name = "Bloody B820R";
vendor = "A4Tech";
type = DEVICE_TYPE_KEYBOARD;
description = "A4Tech Bloody Keyboard";
serial = controller->GetSerial();
location = controller->GetLocation();
mode Direct;
Direct.name = "Direct";
Direct.value = BLOODY_B820R_MODE_DIRECT;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
SetupZones();
}
RGBController_BloodyB820R::~RGBController_BloodyB820R()
{
delete controller;
}
void RGBController_BloodyB820R::SetupZones()
{
/*-------------------------------------------------*\
| Create the Keyboard zone and add the matrix map |
\*-------------------------------------------------*/
zone KB_zone;
KB_zone.name = ZONE_EN_KEYBOARD;
KB_zone.type = ZONE_TYPE_MATRIX;
KB_zone.leds_min = BLOODY_B820R_KEYCOUNT;
KB_zone.leds_max = BLOODY_B820R_KEYCOUNT;
KB_zone.leds_count = BLOODY_B820R_KEYCOUNT;
KB_zone.matrix_map = new matrix_map_type;
KB_zone.matrix_map->height = 6;
KB_zone.matrix_map->width = 21;
KB_zone.matrix_map->map = (unsigned int *)&matrix_map;
zones.push_back(KB_zone);
/*-------------------------------------------------*\
| Clear any existing color/LED configuration |
\*-------------------------------------------------*/
leds.clear();
colors.clear();
/*---------------------------------------------------------*\
| Set up zones |
\*---------------------------------------------------------*/
for(unsigned int led_index = 0; led_index < BLOODY_B820R_KEYCOUNT; led_index++)
{
led new_led;
new_led.name = led_names[led_index];
new_led.value = led_index;
leds.push_back(new_led);
}
SetupColors();
}
void RGBController_BloodyB820R::ResizeZone(int /*zone*/, int /*new_size*/)
{
/*---------------------------------------------------------*\
| This device does not support resizing zones |
\*---------------------------------------------------------*/
}
void RGBController_BloodyB820R::DeviceUpdateLEDs()
{
controller->SetLEDDirect(colors);
}
void RGBController_BloodyB820R::UpdateZoneLEDs(int zone)
{
std::vector<RGBColor> colour;
for(size_t i = 0; i < zones[zone].leds_count; i++)
{
colour.push_back(zones[zone].colors[i]);
}
controller->SetLEDDirect(colour);
}
void RGBController_BloodyB820R::UpdateSingleLED(int led)
{
std::vector<RGBColor> colour;
colour.push_back(colors[led]);
controller->SetLEDDirect(colour);
}
void RGBController_BloodyB820R::DeviceUpdateMode()
{
/* This device does not support modes yet */
}
@@ -0,0 +1,35 @@
/*---------------------------------------------------------*\
| RGBController_BloodyB820R.h |
| |
| RGBController for A4Tech Bloody B820R Keyboard |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <vector>
#include "RGBController.h"
#include "BloodyB820RController.h"
class RGBController_BloodyB820R : public RGBController
{
public:
RGBController_BloodyB820R(BloodyB820RController* controller_ptr);
~RGBController_BloodyB820R();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
BloodyB820RController* controller;
};
@@ -1,14 +1,16 @@
/*---------------------------------------------------------------------*\
| BloodyMouseController.cpp |
| |
| Driver for BloodyMouse USB Controller |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
\*---------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| BloodyMouseController.cpp |
| |
| Driver for A4Tech Bloody Mouse |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "BloodyMouseController.h"
#include "LogManager.h"
#include "StringUtils.h"
BloodyMouseController::BloodyMouseController(hid_device* dev_handle, const char* path, uint16_t product_id)
{
@@ -26,26 +28,20 @@ BloodyMouseController::~BloodyMouseController()
uint16_t BloodyMouseController::GetPid()
{
return pid;
return(pid);
}
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()
@@ -53,7 +49,7 @@ std::string BloodyMouseController::GetLocation()
return("HID: " + location);
}
void BloodyMouseController::InitDevice()
void BloodyMouseController::InitDevice()
{
uint8_t buffer[BLOODYMOUSE_WRITE_PACKET_SIZE] = { 0x07, 0x03, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 };
@@ -65,7 +61,7 @@ void BloodyMouseController::InitDevice()
hid_send_feature_report(dev, buffer, BLOODYMOUSE_WRITE_PACKET_SIZE);
}
void BloodyMouseController::SetLedsDirect(std::vector<RGBColor> colors)
void BloodyMouseController::SetLedsDirect(std::vector<RGBColor> colors)
{
uint8_t buffer[BLOODYMOUSE_WRITE_PACKET_SIZE] = { 0x07, 0x03, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00 };
@@ -1,30 +1,34 @@
/*---------------------------------------------------------------------*\
| BloodyMouseController.h |
| |
| Driver for BloodyMouse USB Controller |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
\*---------------------------------------------------------------------*/
#include <string>
#include <hidapi/hidapi.h>
#include "RGBController.h"
/*---------------------------------------------------------*\
| BloodyMouseController.h |
| |
| Driver for A4Tech Bloody Mouse |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
| 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"
/*-----------------------------------------------------*\
| 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 |
\*-----------------------------------------------------*/
#define BLOODY_MP_50RS_PID 0xFA60
#define HID_MAX_STR 255
#define HID_MAX_STR 255
#define BLOODYMOUSE_WRITE_PACKET_SIZE 64
#define BLOODYMOUSE_BRIGHTNESS_MIN 0
@@ -54,6 +58,7 @@ public:
std::string GetLocation();
void SetLedsDirect(std::vector<RGBColor> colors);
private:
uint16_t pid;
std::string location;
@@ -1,11 +1,13 @@
/*---------------------------------------------------------------------*\
| RGBController_BloodyMouse.cpp |
| |
| Driver for BloodyMouse USB Controller |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
\*---------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_BloodyMouse.cpp |
| |
| RGBController for A4Tech Bloody Mouse |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_BloodyMouse.h"
@@ -107,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:
@@ -125,7 +129,7 @@ void RGBController_BloodyMouse::SetupZones()
zone new_zone;
new_zone.name = mz.name;
new_zone.leds_min = mz.zone_leds.size();
new_zone.leds_min = (unsigned int)mz.zone_leds.size();
new_zone.leds_max = new_zone.leds_min;
new_zone.leds_count = new_zone.leds_min;
new_zone.type = bool_single ? ZONE_TYPE_SINGLE : ZONE_TYPE_LINEAR;
@@ -1,13 +1,16 @@
/*---------------------------------------------------------------------*\
| RGBController_BloodyMouse.h |
| |
| Driver for BloodyMouse USB Controller |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
\*---------------------------------------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_BloodyMouse.h |
| |
| RGBController for A4Tech Bloody Mouse |
| |
| Chris M (Dr_No) 30 Jun 2022 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <vector>
#include "RGBController.h"
#include "BloodyMouseController.h"
@@ -1,247 +0,0 @@
/*-------------------------------------------------------------------*\
| RGBController_BloodyB820R.cpp |
| |
| Driver for A4Tech Bloody B820R Keyboard Controller |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
\*-------------------------------------------------------------------*/
#include "RGBControllerKeyNames.h"
#include "RGBController_BloodyB820R.h"
static unsigned int matrix_map[6][21] =
{
{0, NA, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NA, NA, NA, NA, 13, 14, 15},
{16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36},
{37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57},
{58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NA, NA, NA, NA, 71, 72, 73, NA},
{74, NA, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, NA, NA, 86, NA, 87, 88, 89, 90},
{91, 92, 93, 94, NA, NA, NA, NA, NA, NA, 95, 96, 97, 98, 99, 100, 101, 102, NA, 103, NA},
};
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,
KEY_EN_F11,
KEY_EN_F12,
KEY_EN_PRINT_SCREEN,
KEY_EN_SCROLL_LOCK,
KEY_EN_PAUSE_BREAK,
KEY_EN_BACK_TICK, //10
KEY_EN_1,
KEY_EN_2,
KEY_EN_3,
KEY_EN_4,
KEY_EN_5,
KEY_EN_6,
KEY_EN_7,
KEY_EN_8,
KEY_EN_9,
KEY_EN_0,
KEY_EN_MINUS,
KEY_EN_EQUALS,
KEY_EN_BACKSPACE,
KEY_EN_INSERT,
KEY_EN_HOME,
KEY_EN_PAGE_UP,
KEY_EN_NUMPAD_LOCK,
KEY_EN_NUMPAD_DIVIDE,
KEY_EN_NUMPAD_TIMES,
KEY_EN_NUMPAD_MINUS,
KEY_EN_TAB, //20
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,
KEY_EN_P,
KEY_EN_LEFT_BRACKET,
KEY_EN_RIGHT_BRACKET,
KEY_EN_ANSI_BACK_SLASH,
KEY_EN_DELETE,
KEY_EN_END,
KEY_EN_PAGE_DOWN,
KEY_EN_NUMPAD_7,
KEY_EN_NUMPAD_8,
KEY_EN_NUMPAD_9,
KEY_EN_NUMPAD_PLUS,
KEY_EN_CAPS_LOCK, //30
KEY_EN_A,
KEY_EN_S,
KEY_EN_D,
KEY_EN_F,
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_NUMPAD_4,
KEY_EN_NUMPAD_5,
KEY_EN_NUMPAD_6,
KEY_EN_LEFT_SHIFT, //40
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,
KEY_EN_RIGHT_SHIFT,
KEY_EN_UP_ARROW,
KEY_EN_NUMPAD_1,
KEY_EN_NUMPAD_2,
KEY_EN_NUMPAD_3,
KEY_EN_NUMPAD_ENTER,
KEY_EN_LEFT_CONTROL, //50
KEY_EN_LEFT_WINDOWS,
KEY_EN_LEFT_ALT,
KEY_EN_SPACE,
KEY_EN_RIGHT_ALT,
KEY_EN_RIGHT_FUNCTION,
KEY_EN_MENU,
KEY_EN_RIGHT_CONTROL,
KEY_EN_LEFT_ARROW,
KEY_EN_DOWN_ARROW,
KEY_EN_RIGHT_ARROW,
KEY_EN_NUMPAD_0,
KEY_EN_NUMPAD_PERIOD
};
/**------------------------------------------------------------------*\
@name A4Tech Bloody B820R
@category Keyboard
@type USB
@save :x:
@direct :white_check_mark:
@effects :x:
@detectors A4TechDetector
@comment The A4Tech Bloody B820R keyboard controller currently
supports the full size (ANSI layout).
\*-------------------------------------------------------------------*/
RGBController_BloodyB820R::RGBController_BloodyB820R(BloodyB820RController *controller_ptr)
{
controller = controller_ptr;
name = "Bloody B820R";
vendor = "A4Tech";
type = DEVICE_TYPE_KEYBOARD;
description = "A4Tech Bloody Keyboard";
serial = controller->GetSerial();
location = controller->GetLocation();
mode Direct;
Direct.name = "Direct";
Direct.value = BLOODY_B820R_MODE_DIRECT;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
SetupZones();
}
RGBController_BloodyB820R::~RGBController_BloodyB820R()
{
delete controller;
}
void RGBController_BloodyB820R::SetupZones()
{
/*-------------------------------------------------*\
| Create the Keyboard zone and add the matrix map |
\*-------------------------------------------------*/
zone KB_zone;
KB_zone.name = ZONE_EN_KEYBOARD;
KB_zone.type = ZONE_TYPE_MATRIX;
KB_zone.leds_min = BLOODY_B820R_KEYCOUNT;
KB_zone.leds_max = BLOODY_B820R_KEYCOUNT;
KB_zone.leds_count = BLOODY_B820R_KEYCOUNT;
KB_zone.matrix_map = new matrix_map_type;
KB_zone.matrix_map->height = 6;
KB_zone.matrix_map->width = 21;
KB_zone.matrix_map->map = (unsigned int *)&matrix_map;
zones.push_back(KB_zone);
/*-------------------------------------------------*\
| Clear any existing color/LED configuration |
\*-------------------------------------------------*/
leds.clear();
colors.clear();
/*---------------------------------------------------------*\
| Set up zones |
\*---------------------------------------------------------*/
for(unsigned int led_index = 0; led_index < BLOODY_B820R_KEYCOUNT; led_index++)
{
led new_led;
new_led.name = led_names[led_index];
new_led.value = led_index;
leds.push_back(new_led);
}
SetupColors();
}
void RGBController_BloodyB820R::ResizeZone(int /*zone*/, int /*new_size*/)
{
/*---------------------------------------------------------*\
| This device does not support resizing zones |
\*---------------------------------------------------------*/
}
void RGBController_BloodyB820R::DeviceUpdateLEDs()
{
controller->SetLEDDirect(colors);
}
void RGBController_BloodyB820R::UpdateZoneLEDs(int zone)
{
std::vector<RGBColor> colour;
for(size_t i = 0; i < zones[zone].leds_count; i++)
{
colour.push_back(zones[zone].colors[i]);
}
controller->SetLEDDirect(colour);
}
void RGBController_BloodyB820R::UpdateSingleLED(int led)
{
std::vector<RGBColor> colour;
colour.push_back(colors[led]);
controller->SetLEDDirect(colour);
}
void RGBController_BloodyB820R::DeviceUpdateMode()
{
/* This device does not support modes yet */
}
@@ -1,32 +0,0 @@
/*-------------------------------------------------------------------*\
| RGBController_BloodyB820R.h |
| |
| Driver for A4Tech Bloody B820R Keyboard Controller |
| |
| Mohammed Julfikar Ali Mahbub (o-julfikar) 01 Apr 2024 |
| |
\*-------------------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "BloodyB820RController.h"
#include <vector>
class RGBController_BloodyB820R : public RGBController
{
public:
RGBController_BloodyB820R(BloodyB820RController* controller_ptr);
~RGBController_BloodyB820R();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
BloodyB820RController* controller;
};
@@ -1,21 +1,24 @@
/*-----------------------------------------*\
| AMDWraithPrismController.h |
| |
| Driver for AMD Wraith Prism RGB lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 12/6/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AMDWraithPrismController.cpp |
| |
| Driver for AMD Wraith Prism |
| |
| Adam Honse (CalcProgrammer1) 06 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AMDWraithPrismController.h"
#include <cstring>
#include <stdio.h>
#include <stdlib.h>
#include "AMDWraithPrismController.h"
#include "StringUtils.h"
AMDWraithPrismController::AMDWraithPrismController(hid_device* dev_handle, const char* path)
{
dev = dev_handle;
location = path;
dev = dev_handle;
location = path;
current_fan_mode = AMD_WRAITH_PRISM_FAN_LOGO_MODE_STATIC;
current_fan_speed = 0xFF;
@@ -53,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()
@@ -1,19 +1,20 @@
/*-----------------------------------------*\
| AMDWraithPrismController.h |
| |
| Definitions and types for AMD Wraith |
| Prism lighting controller |
| |
| Adam Honse (CalcProgrammer1) 12/6/2019 |
\*-----------------------------------------*/
#include <string>
#include <hidapi/hidapi.h>
#include "RGBController.h"
/*---------------------------------------------------------*\
| AMDWraithPrismController.h |
| |
| Driver for AMD Wraith Prism |
| |
| Adam Honse (CalcProgrammer1) 06 Dec 2019 |
| |
| 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"
#define AMD_WRAITH_PRISM_FAN_BRIGHTNESS_DEFAULT_MAX 0xFF
#define AMD_WRAITH_PRISM_FAN_BRIGHTNESS_CYCLE_MAX 0x7F
@@ -1,11 +1,28 @@
/*---------------------------------------------------------*\
| AMDWraithPrismControllerDetect.cpp |
| |
| Detector for AMD Wraith Prism |
| |
| Adam Honse (CalcProgrammer1) 06 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <hidapi.h>
#include "Detector.h"
#include "AMDWraithPrismController.h"
#include "RGBController.h"
#include "RGBController_AMDWraithPrism.h"
#include <hidapi/hidapi.h>
#define AMD_WRAITH_PRISM_VID 0x2516
#define AMD_WRAITH_PRISM_PID 0x0051
/*---------------------------------------------------------*\
| AMD Wraith Prism vendor ID |
\*---------------------------------------------------------*/
#define AMD_WRAITH_PRISM_VID 0x2516
/*---------------------------------------------------------*\
| AMD Wraith Prism product ID |
\*---------------------------------------------------------*/
#define AMD_WRAITH_PRISM_PID 0x0051
/******************************************************************************************\
* *
@@ -1,11 +1,13 @@
/*-----------------------------------------*\
| RGBController_AMDWraithPrism.cpp |
| |
| Generic RGB Interface for AMD Wraith |
| Prism |
| |
| Adam Honse (CalcProgrammer1) 12/25/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AMDWraithPrism.cpp |
| |
| RGBController for AMD Wraith Prism |
| |
| Adam Honse (CalcProgrammer1) 25 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AMDWraithPrism.h"
@@ -25,14 +27,14 @@
RGBController_AMDWraithPrism::RGBController_AMDWraithPrism(AMDWraithPrismController* controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
name = "AMD Wraith Prism";
vendor = "Cooler Master";
type = DEVICE_TYPE_COOLER;
description = "AMD Wraith Prism Device";
version = controller->GetFirmwareVersionString();
location = controller->GetLocationString();
name = "AMD Wraith Prism";
vendor = "Cooler Master";
type = DEVICE_TYPE_COOLER;
description = "AMD Wraith Prism Device";
version = controller->GetFirmwareVersionString();
location = controller->GetLocationString();
mode Direct;
Direct.name = "Direct";
@@ -138,8 +140,8 @@ void RGBController_AMDWraithPrism::SetupZones()
/*---------------------------------------------------------*\
| LED maps |
\*---------------------------------------------------------*/
const unsigned int logo_leds[1] = { 0x00 };
const unsigned int fan_leds[1] = { 0x01 };
const unsigned int logo_leds[1] = { 0x00 };
const unsigned int fan_leds[1] = { 0x01 };
const unsigned int ring_leds[14] = { 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x10, 0x0F,
0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09 };
@@ -179,24 +181,24 @@ void RGBController_AMDWraithPrism::SetupZones()
for(unsigned int led_idx = 0; led_idx < 1; led_idx++)
{
led logo_led;
logo_led.name = "Logo LED";
logo_led.value = logo_leds[led_idx];
logo_led.name = "Logo LED";
logo_led.value = logo_leds[led_idx];
leds.push_back(logo_led);
}
for(unsigned int led_idx = 0; led_idx < 1; led_idx++)
{
led fan_led;
fan_led.name = "Fan LED";
fan_led.value = fan_leds[led_idx];
fan_led.name = "Fan LED";
fan_led.value = fan_leds[led_idx];
leds.push_back(fan_led);
}
for(unsigned int led_idx = 0; led_idx < 14; led_idx++)
{
led ring_led;
ring_led.name = "Ring LED";
ring_led.value = ring_leds[led_idx];
ring_led.name = "Ring LED";
ring_led.value = ring_leds[led_idx];
leds.push_back(ring_led);
}
@@ -1,13 +1,16 @@
/*-----------------------------------------*\
| RGBController_AMDWraithPrism.h |
| |
| Generic RGB Interface for AMD Wraith |
| Prism |
| |
| Adam Honse (CalcProgrammer1) 12/25/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AMDWraithPrism.h |
| |
| RGBController for AMD Wraith Prism |
| |
| Adam Honse (CalcProgrammer1) 25 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AMDWraithPrismController.h"
@@ -1,17 +1,19 @@
/*-----------------------------------------*\
| AOCKeyboardController.cpp |
| |
| Driver for AOC Keyboard lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 5/10/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AOCKeyboardController.cpp |
| |
| Driver for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 10 May 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AOCKeyboardController.h"
#include <cstring>
#include <chrono>
#include <cstring>
#include <thread>
#include "AOCKeyboardController.h"
#include "StringUtils.h"
using namespace std::chrono_literals;
@@ -41,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
@@ -1,18 +1,20 @@
/*-----------------------------------------*\
| AOCKeyboardController.h |
| |
| Definitions and types for AOC keyboard |
| lighting controller |
| |
| Adam Honse (CalcProgrammer1) 5/10/2023 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
#include <string>
/*---------------------------------------------------------*\
| AOCKeyboardController.h |
| |
| Driver for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 10 May 2023 |
| |
| 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"
/*-----------------------------------------*\
| AOC Keyboard Modes |
\*-----------------------------------------*/
@@ -1,10 +1,20 @@
/*---------------------------------------------------------*\
| AOCKeyboardControllerDetect.cpp |
| |
| Detector for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 10 May 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AOCKeyboardController.h"
#include "RGBController.h"
#include "RGBController_AOCKeyboard.h"
/*-----------------------------------------------------*\
| AOC Mousemat IDs |
| AOC Keyboard IDs |
\*-----------------------------------------------------*/
#define AOC_VID 0x3938
#define AOC_GK500_PID 0x1178
@@ -33,4 +43,4 @@ void DetectAOCKeyboardControllers(hid_device_info* info, const std::string& name
}
REGISTER_HID_DETECTOR_PU("AOC GK500", DetectAOCKeyboardControllers, AOC_VID, AOC_GK500_PID, 0xFF19, 0xFF19);
REGISTER_HID_DETECTOR_PU("AOC GK500", DetectAOCKeyboardControllers, AOC_VID, AOC_GK500_PID_2, 0xFF19, 0xFF19);
REGISTER_HID_DETECTOR_PU("AOC GK500", DetectAOCKeyboardControllers, AOC_VID, AOC_GK500_PID_2, 0xFF19, 0xFF19);
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCKeyboard.cpp |
| |
| Generic RGB Interface for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 5/10/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCKeyboard.cpp |
| |
| RGBController for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 10 May 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AOCKeyboard.h"
#include "KeyboardLayoutManager.h"
@@ -32,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
},
@@ -47,14 +50,14 @@ layout_values aoc_keyboard_offset_values =
RGBController_AOCKeyboard::RGBController_AOCKeyboard(AOCKeyboardController* controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
name = "AOC Keyboard Device";
vendor = "AOC";
type = DEVICE_TYPE_KEYBOARD;
description = "AOC Keyboard Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
name = "AOC Keyboard Device";
vendor = "AOC";
type = DEVICE_TYPE_KEYBOARD;
description = "AOC Keyboard Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
mode Static;
Static.name = "Static";
@@ -288,7 +291,7 @@ void RGBController_AOCKeyboard::SetupZones()
| Create LEDs for the Matrix zone |
| Place keys in the layout to populate the matrix |
\*---------------------------------------------------------*/
for(size_t led_idx = 0; led_idx < new_zone.leds_count; led_idx++)
for(unsigned int led_idx = 0; led_idx < new_zone.leds_count; led_idx++)
{
led new_led;
@@ -299,8 +302,6 @@ void RGBController_AOCKeyboard::SetupZones()
zones.push_back(new_zone);
SetupColors();
}
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCKeyboard.h |
| |
| Generic RGB Interface for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 5/10/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCKeyboard.h |
| |
| RGBController for AOC keyboard |
| |
| Adam Honse (CalcProgrammer1) 10 May 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
@@ -1,14 +1,17 @@
/*-----------------------------------------*\
| AOCMouseController.cpp |
| |
| Driver for AOC Mouse lighting controller |
| |
| Adam Honse (CalcProgrammer1) 4/20/2023 |
\*-----------------------------------------*/
#include "AOCMouseController.h"
/*---------------------------------------------------------*\
| AOCMouseController.cpp |
| |
| Driver for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 20 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <cstring>
#include "AOCMouseController.h"
#include "StringUtils.h"
AOCMouseController::AOCMouseController(hid_device* dev_handle, const char* path)
{
@@ -36,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));
}
/*-------------------------------------------------------------------------------------------------*\
@@ -1,18 +1,20 @@
/*-----------------------------------------*\
| AOCMouseController.h |
| |
| Definitions and types for AOC mouse |
| lighting controller |
| |
| Adam Honse (CalcProgrammer1) 4/20/2023 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
#include <string>
/*---------------------------------------------------------*\
| AOCMouseController.h |
| |
| Driver for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 20 Apr 2023 |
| |
| 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"
/*-----------------------------------------*\
| AOC Mousemat Modes |
| Note: The 0x80 bit is the random flag |
@@ -1,10 +1,20 @@
/*---------------------------------------------------------*\
| AOCMouseControllerDetect.cpp |
| |
| Detector for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 20 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AOCMouseController.h"
#include "RGBController.h"
#include "RGBController_AOCMouse.h"
/*-----------------------------------------------------*\
| AOC Mousemat IDs |
| AOC Mouse IDs |
\*-----------------------------------------------------*/
#define AOC_VID 0x3938
#define AOC_GM500_PID 0x1179
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCMouse.cpp |
| |
| Generic RGB Interface for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 4/20/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCMouse.cpp |
| |
| RGBController for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 20 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AOCMouse.h"
@@ -21,14 +24,14 @@
RGBController_AOCMouse::RGBController_AOCMouse(AOCMouseController* controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
name = "AOC Mouse Device";
vendor = "AOC";
type = DEVICE_TYPE_MOUSE;
description = "AOC Mouse Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
name = "AOC Mouse Device";
vendor = "AOC";
type = DEVICE_TYPE_MOUSE;
description = "AOC Mouse Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCMouse.h |
| |
| Generic RGB Interface for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 4/20/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCMouse.h |
| |
| RGBController for AOC mouse |
| |
| Adam Honse (CalcProgrammer1) 20 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| AOCMousematController.cpp |
| |
| Driver for AOC Mousemat lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 4/15/2023 |
\*-----------------------------------------*/
#include "AOCMousematController.h"
/*---------------------------------------------------------*\
| AOCMousematController.cpp |
| |
| Driver for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 15 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <cstring>
#include "AOCMousematController.h"
#include "StringUtils.h"
AOCMousematController::AOCMousematController(hid_device* dev_handle, const char* path)
{
@@ -37,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));
}
/*-------------------------------------------------------------------------------------------------*\
@@ -1,18 +1,20 @@
/*-----------------------------------------*\
| AOCMousematController.h |
| |
| Definitions and types for AOC mousemat |
| lighting controller |
| |
| Adam Honse (CalcProgrammer1) 4/15/2023 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
#include <string>
/*---------------------------------------------------------*\
| AOCMousematController.h |
| |
| Driver for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 15 Apr 2023 |
| |
| 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"
/*-----------------------------------------*\
| AOC Mousemat Modes |
| Note: The 0x80 bit is the random flag |
@@ -1,6 +1,16 @@
/*---------------------------------------------------------*\
| AOCMousematControllerDetect.cpp |
| |
| Detector for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 15 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AOCMousematController.h"
#include "RGBController.h"
#include "RGBController_AOCMousemat.h"
/*-----------------------------------------------------*\
@@ -31,4 +41,4 @@ void DetectAOCMousematControllers(hid_device_info* info, const std::string& name
}
}
REGISTER_HID_DETECTOR_IPU("AOC AGON AMM700", DetectAOCMousematControllers, AOC_VID, AOC_AMM700_PID, 1, 0xFF19, 0xFF19);
REGISTER_HID_DETECTOR_IPU("AOC AGON AMM700", DetectAOCMousematControllers, AOC_VID, AOC_AMM700_PID, 1, 0xFF19, 0xFF19);
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCMousemat.cpp |
| |
| Generic RGB Interface for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 4/15/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCMousemat.cpp |
| |
| RGBController for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 15 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_AOCMousemat.h"
@@ -21,14 +24,14 @@
RGBController_AOCMousemat::RGBController_AOCMousemat(AOCMousematController* controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
name = "AOC Mousemat Device";
vendor = "AOC";
type = DEVICE_TYPE_MOUSEMAT;
description = "AOC Mousemat Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
name = "AOC Mousemat Device";
vendor = "AOC";
type = DEVICE_TYPE_MOUSEMAT;
description = "AOC Mousemat Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
@@ -1,10 +1,13 @@
/*-----------------------------------------*\
| RGBController_AOCMousemat.h |
| |
| Generic RGB Interface for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 4/15/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AOCMousemat.h |
| |
| RGBController for AOC mousemat |
| |
| Adam Honse (CalcProgrammer1) 15 Apr 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
@@ -1,20 +1,22 @@
/*-----------------------------------------*\
| ASRockPolychromeUSBController.cpp |
| |
| Driver for ASRock Polychrome USB |
| lighting controller |
| |
| Ed Kambulow (dredvard) 12/20/2020 |
| Shady Nawara (ShadyNawara) 01/16/2023 |
\*-----------------------------------------*/
#include <cstring>
#include <stdio.h>
/*---------------------------------------------------------*\
| ASRockPolychromeUSBController.cpp |
| |
| Driver for ASRock Polychrome USB motherboards |
| |
| Ed Kambulow (dredvard) 20 Dec 2020 |
| Shady Nawara (ShadyNawara) 16 Jan 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <cstring>
#include "RGBController.h"
#include "ResourceManager.h"
#include "SettingsManager.h"
#include "StringUtils.h"
#include "ASRockPolychromeUSBController.h"
#include "dependencies/dmiinfo.h"
#include "dmiinfo.h"
#define POLYCHROME_USB_READ_ZONE_CONFIG 0x11
#define POLYCHROME_USB_READ_HEADER 0x14
@@ -55,7 +57,7 @@ PolychromeUSBController::~PolychromeUSBController()
unsigned int PolychromeUSBController::GetChannelCount()
{
return(device_info.size());
return((unsigned int)device_info.size());
}
std::string PolychromeUSBController::GetDeviceLocation()
@@ -78,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()
@@ -381,7 +380,7 @@ void PolychromeUSBController::WriteRGSwap
bool chnl8
)
{
unsigned char rgconfig[1] = {static_cast<unsigned char>(((chnl8 << 7) | (pcb << 6) | (io << 5) | (pch << 4) | (ahdr1 << 3) | (ahdr0 << 2) | (hdr1 << 1) | hdr0))};
unsigned char rgconfig[1] = {static_cast<unsigned char>((((unsigned char)chnl8 << 7) | ((unsigned char)pcb << 6) | ((unsigned char)io << 5) | ((unsigned char)pch << 4) | ((unsigned char)ahdr1 << 3) | ((unsigned char)ahdr0 << 2) | ((unsigned char)hdr1 << 1) | (unsigned char)hdr0))};
WriteHeader(POLYCHROME_USB_RGSWAP_CFG, rgconfig, 1);
}
@@ -1,19 +1,21 @@
/*-----------------------------------------*\
| ASRockPolychromeUSBController.h |
| |
| Driver for ASRock Polychrome USB |
| lighting controller |
| |
| Ed Kambulow (dredvard) 12/20/2020 |
| Shady Nawara (ShadyNawara) 01/16/2023 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
#include <string>
/*---------------------------------------------------------*\
| ASRockPolychromeUSBController.h |
| |
| Driver for ASRock Polychrome USB motherboards |
| |
| Ed Kambulow (dredvard) 20 Dec 2020 |
| Shady Nawara (ShadyNawara) 16 Jan 2023 |
| |
| 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"
/*----------------------------------------------------------------------------------------------*\
| Definitions for Polychrome USB |
\*----------------------------------------------------------------------------------------------*/
@@ -154,12 +156,11 @@ protected:
);
private:
unsigned int led_count;
std::string device_name;
unsigned char configtable[12];
bool rgswapconfig[8] = { 0 };
void SetDeviceInfo();
void SetDeviceInfo();
void ReadConfigTables();
void Commit();
};
@@ -1,13 +1,19 @@
/*---------------------------------------------------------*\
| ASRockPolychromeUSBControllerDetect.cpp |
| |
| Detector for ASRock Polychrome USB motherboards |
| |
| Ed Kambulow (dredvard) 20 Dec 2020 |
| Shady Nawara (ShadyNawara) 16 Jan 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <hidapi.h>
#include "Detector.h"
#include "ASRockPolychromeUSBController.h"
#include "RGBController.h"
#include "RGBController_ASRockPolychromeUSB.h"
#include "i2c_smbus.h"
#include "pci_ids.h"
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| ASRock vendor ID |
@@ -32,5 +38,5 @@ void DetectPolychromeUSBControllers(hid_device_info* info, const std::string& /*
}
}
REGISTER_HID_DETECTOR("ASRock Polychrome USB", DetectPolychromeUSBControllers, ASROCK_VID, ASROCK_MOTHERBOARD_1_PID);
REGISTER_HID_DETECTOR("ASRock Deskmini Addressable LED Strip", DetectPolychromeUSBControllers, ASROCK_VID, ASROCK_DESKMINI_ADDRESSABLE_LED_STRIP_PID);
REGISTER_HID_DETECTOR("ASRock Polychrome USB", DetectPolychromeUSBControllers, ASROCK_VID, ASROCK_MOTHERBOARD_1_PID);
REGISTER_HID_DETECTOR("ASRock Deskmini Addressable LED Strip", DetectPolychromeUSBControllers, ASROCK_VID, ASROCK_DESKMINI_ADDRESSABLE_LED_STRIP_PID);
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeUSB.cpp |
| |
| Generic RGB Interface for OpenRGB |
| ASRock Polychrome USB Driver |
| |
| Ed Kambulow (Dredvard) 12/26/2020 |
| Shady Nawara (ShadyNawara) 01/16/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeUSB.cpp |
| |
| RGBController for ASRock Polychrome USB motherboards |
| |
| Ed Kambulow (dredvard) 20 Dec 2020 |
| Shady Nawara (ShadyNawara) 16 Jan 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_ASRockPolychromeUSB.h"
#include <string.h>
#include "RGBController_ASRockPolychromeUSB.h"
#define ASROCK_USB_MAX_ZONES 8
#define ASROCK_ADDRESSABLE_MAX_LEDS 100
@@ -293,7 +295,7 @@ void RGBController_PolychromeUSB::DeviceUpdateLEDs()
set_mode = active_mode;
}
controller->WriteZone(zone_idx, set_mode, zones_info[zone_idx].speed, zones[zone_idx].colors[0], false);
controller->WriteZone((unsigned char)zone_idx, set_mode, zones_info[zone_idx].speed, zones[zone_idx].colors[0], false);
}
}
@@ -1,12 +1,14 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeUSB.h |
| |
| Generic RGB Interface for OpenRGB |
| ASRock Polychrome USB Driver |
| |
| Ed Kambulow (Dredvard) 12/26/2020 |
| Shady Nawara (ShadyNawara) 01/16/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeUSB.h |
| |
| RGBController for ASRock Polychrome USB motherboards |
| |
| Ed Kambulow (dredvard) 20 Dec 2020 |
| Shady Nawara (ShadyNawara) 16 Jan 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
@@ -29,7 +31,6 @@ public:
void DeviceUpdateMode();
private:
bool initializedMode;
PolychromeUSBController* controller;
std::vector<PolychromeZoneInfo> zones_info;
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| ASRockPolychromeSMBusController.cpp |
| |
| Driver for for ASRock ASR LED and |
| Polychrome RGB lighting controller |
| |
| Adam Honse (CalcProgrammer1) 12/14/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| ASRockASRRGBSMBusController.cpp |
| |
| Driver for SMBus ASRock ASR RGB motherboards |
| |
| Adam Honse (CalcProgrammer1) 14 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "ASRockASRRGBSMBusController.h"
#include <cstring>
#include "dependencies/dmiinfo.h"
#include "dmiinfo.h"
#include "LogManager.h"
#define ASROCK_ZONE_LED_COUNT_MESSAGE_EN "[%s] Zone %i LED count: %02d"
@@ -64,7 +66,7 @@ void ASRockASRRGBSMBusController::SetColorsAndSpeed(uint8_t led, uint8_t red, ui
{
uint8_t color_speed_pkt[4] = { red, green, blue, active_speed };
uint8_t select_led_pkt[1] = { led };
/*-----------------------------------------------------*\
| Select LED |
\*-----------------------------------------------------*/
@@ -1,18 +1,19 @@
/*-----------------------------------------*\
| ASRockASRRGBSMBusController.h |
| |
| Definitions and types for ASRock |
| ASR LED and Polychrome RGB lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 12/13/2019 |
\*-----------------------------------------*/
#include "i2c_smbus.h"
#include <string>
/*---------------------------------------------------------*\
| ASRockASRRGBSMBusController.h |
| |
| Driver for SMBus ASRock ASR RGB motherboards |
| |
| Adam Honse (CalcProgrammer1) 13 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include "i2c_smbus.h"
typedef uint8_t polychrome_dev_id;
#define ASROCK_ASR_CONTROLLER_NAME "ASRock ASR RGB SMBus Controller"
@@ -63,7 +64,7 @@ public:
uint8_t GetMode();
void SetColorsAndSpeed(uint8_t led, uint8_t red, uint8_t green, uint8_t blue);
void SetMode(uint8_t zone, uint8_t mode, uint8_t speed);
uint16_t fw_version;
private:
@@ -1,11 +1,13 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeSMBus.cpp |
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_ASRRGBSMBus.cpp |
| |
| RGBController for SMBus ASRock ASR LED motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_ASRockASRRGBSMBus.h"
@@ -167,7 +169,7 @@ void RGBController_ASRockASRRGBSMBus::ResizeZone(int /*zone*/, int /*new_size*/)
void RGBController_ASRockASRRGBSMBus::DeviceUpdateLEDs()
{
for (std::size_t led = 0; led < colors.size(); led++)
for(unsigned int led = 0; led < colors.size(); led++)
{
UpdateSingleLED(led);
}
@@ -0,0 +1,35 @@
/*---------------------------------------------------------*\
| RGBController_ASRRGBSMBus.h |
| |
| RGBController for SMBus ASRock ASR RGB motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockASRRGBSMBusController.h"
class RGBController_ASRockASRRGBSMBus : public RGBController
{
public:
RGBController_ASRockASRRGBSMBus(ASRockASRRGBSMBusController* controller_ptr);
~RGBController_ASRockASRRGBSMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockASRRGBSMBusController* controller;
};
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| ASRockPolychromeV1SMBusController.cpp |
| |
| Driver for for ASRock ASR LED and |
| Polychrome RGB lighting controller |
| |
| Adam Honse (CalcProgrammer1) 12/14/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| ASRockPolychromeV1SMBusController.cpp |
| |
| Driver for SMBus ASRock Polychrome V1 motherboards |
| |
| Adam Honse (CalcProgrammer1) 14 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "ASRockPolychromeV1SMBusController.h"
#include <cstring>
#include "dependencies/dmiinfo.h"
#include "ASRockPolychromeV1SMBusController.h"
#include "dmiinfo.h"
#include "LogManager.h"
#define ASROCK_ZONE_LED_COUNT_MESSAGE_EN "[%s] Zone %i LED count: %02d"
@@ -1,19 +1,20 @@
/*-----------------------------------------*\
| ASRockPolychromeV1SMBusController.h |
| |
| Definitions and types for ASRock |
| ASR LED and Polychrome RGB lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 12/13/2019 |
\*-----------------------------------------*/
#include "i2c_smbus.h"
#include "RGBController.h"
#include <string>
/*---------------------------------------------------------*\
| ASRockPolychromeV1SMBusController.h |
| |
| Driver for SMBus ASRock Polychrome V1 motherboards |
| |
| Adam Honse (CalcProgrammer1) 13 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include "i2c_smbus.h"
#include "RGBController.h"
typedef uint8_t polychrome_dev_id;
#define ASROCK_V1_CONTROLLER_NAME "ASRock Polychrome v1 SMBus Controller"
@@ -1,11 +1,14 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeSMBus.cpp |
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeV1SMBus.cpp |
| |
| RGBController for SMBus ASRock Polychrome V1 |
| motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "LogManager.h"
#include "RGBController_ASRockPolychromeV1SMBus.h"
@@ -0,0 +1,38 @@
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeV1SMBus.h |
| |
| RGBController for SMBus ASRock Polychrome V1 |
| motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockPolychromeV1SMBusController.h"
class RGBController_ASRockPolychromeV1SMBus : public RGBController
{
public:
RGBController_ASRockPolychromeV1SMBus(ASRockPolychromeV1SMBusController* controller_ptr);
~RGBController_ASRockPolychromeV1SMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockPolychromeV1SMBusController* controller;
uint8_t getModeIndex(uint8_t mode_value);
std::vector<uint8_t> zoneIndexMap;
};
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| ASRockPolychromeV2SMBusController.cpp |
| |
| Driver for for ASRock ASR LED and |
| Polychrome RGB lighting controller |
| |
| Adam Honse (CalcProgrammer1) 12/14/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| ASRockPolychromeV2SMBusController.cpp |
| |
| Driver for SMBus ASRock Polychrome V2 motherboards |
| |
| Adam Honse (CalcProgrammer1) 14 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "ASRockPolychromeV2SMBusController.h"
#include <cstring>
#include "dependencies/dmiinfo.h"
#include "ASRockPolychromeV2SMBusController.h"
#include "dmiinfo.h"
#include "LogManager.h"
#define ASROCK_ZONE_LED_COUNT_MESSAGE_EN "[%s] Zone %i LED count: %02d"
@@ -1,18 +1,19 @@
/*-----------------------------------------*\
| ASRockPolychromeSMBusController.h |
| |
| Definitions and types for ASRock |
| ASR LED and Polychrome RGB lighting |
| controller |
| |
| Adam Honse (CalcProgrammer1) 12/13/2019 |
\*-----------------------------------------*/
#include "i2c_smbus.h"
#include <string>
/*---------------------------------------------------------*\
| ASRockPolychromeV2SMBusController.h |
| |
| Driver for SMBus ASRock Polychrome V2 motherboards |
| |
| Adam Honse (CalcProgrammer1) 13 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <string>
#include "i2c_smbus.h"
typedef uint8_t polychrome_dev_id;
#define ASROCK_V2_CONTROLLER_NAME "ASRock Polychrome v2 SMBus Controller"
@@ -132,7 +133,7 @@ public:
uint8_t zone_led_count[6];
uint16_t fw_version;
private:
std::string device_name;
uint8_t active_zone;
@@ -1,11 +1,14 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeV2SMBus.cpp|
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeV2SMBus.cpp |
| |
| RGBController for SMBus ASRock Polychrome V2 |
| motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController_ASRockPolychromeV2SMBus.h"
@@ -287,7 +290,7 @@ void RGBController_ASRockPolychromeV2SMBus::ResizeZone(int /*zone*/, int /*new_s
void RGBController_ASRockPolychromeV2SMBus::DeviceUpdateLEDs()
{
for (std::size_t led = 0; led < colors.size(); led++)
for(unsigned int led = 0; led < colors.size(); led++)
{
UpdateSingleLED(led);
}
@@ -0,0 +1,36 @@
/*---------------------------------------------------------*\
| RGBController_ASRockPolychromeV2SMBus.h |
| |
| RGBController for SMBus ASRock Polychrome V2 |
| motherboards |
| |
| Adam Honse (CalcProgrammer1) 15 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockPolychromeV2SMBusController.h"
class RGBController_ASRockPolychromeV2SMBus : public RGBController
{
public:
RGBController_ASRockPolychromeV2SMBus(ASRockPolychromeV2SMBusController* controller_ptr);
~RGBController_ASRockPolychromeV2SMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockPolychromeV2SMBusController* controller;
};
@@ -1,17 +1,26 @@
/*---------------------------------------------------------*\
| ASRockSMBusControllerDetect.cpp |
| |
| Detector for SMBus ASRock ASR RGB and Polychrome |
| motherboards |
| |
| Adam Honse (CalcProgrammer1) 14 Dec 2019 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#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"
#include "i2c_smbus.h"
#include "pci_ids.h"
#include <vector>
#include <stdio.h>
#include <stdlib.h>
/*******************************************************************************************\
* *
@@ -1,33 +0,0 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeSMBus.h |
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockASRRGBSMBusController.h"
class RGBController_ASRockASRRGBSMBus : public RGBController
{
public:
RGBController_ASRockASRRGBSMBus(ASRockASRRGBSMBusController* controller_ptr);
~RGBController_ASRockASRRGBSMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockASRRGBSMBusController* controller;
};
@@ -1,35 +0,0 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromeV1SMBus.h |
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockPolychromeV1SMBusController.h"
class RGBController_ASRockPolychromeV1SMBus : public RGBController
{
public:
RGBController_ASRockPolychromeV1SMBus(ASRockPolychromeV1SMBusController* controller_ptr);
~RGBController_ASRockPolychromeV1SMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockPolychromeV1SMBusController* controller;
uint8_t getModeIndex(uint8_t mode_value);
std::vector<uint8_t> zoneIndexMap;
};
@@ -1,33 +0,0 @@
/*-----------------------------------------*\
| RGBController_ASRockPolychromev2SMBus.h |
| |
| Generic RGB Interface for OpenRGB |
| ASRock ASR LED and Polychrome RGB Driver |
| |
| Adam Honse (CalcProgrammer1) 12/15/2019 |
\*-----------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ASRockPolychromeV2SMBusController.h"
class RGBController_ASRockPolychromeV2SMBus : public RGBController
{
public:
RGBController_ASRockPolychromeV2SMBus(ASRockPolychromeV2SMBusController* controller_ptr);
~RGBController_ASRockPolychromeV2SMBus();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ASRockPolychromeV2SMBusController* controller;
};
@@ -1,13 +1,14 @@
/*-----------------------------------------*\
| AlienwareController.cpp |
| |
| Driver for Alienware lighting controller |
| |
| Gabriel Marcano (gemarcano) 4/21/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AlienwareController.cpp |
| |
| Driver for Dell Alienware RGB USB controller |
| |
| Gabriel Marcano (gemarcano) 21 Apr 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBController.h"
#include "AlienwareController.h"
#include <cstring>
#include <cstdint>
#include <map>
@@ -15,7 +16,10 @@
#include <chrono>
#include <algorithm>
#include <sstream>
#include "RGBController.h"
#include "AlienwareController.h"
#include "LogManager.h"
#include "StringUtils.h"
typedef uint32_t alienware_platform_id;
@@ -27,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
};
@@ -43,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)
@@ -84,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 |
@@ -95,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 |
\*-----------------------------------------------------*/
@@ -105,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 |
\*-----------------------------------------------------*/
@@ -167,7 +171,7 @@ AlienwareController::~AlienwareController()
unsigned int AlienwareController::GetZoneCount()
{
return(zones.size());
return((unsigned int)zones.size());
}
std::vector<const char*> AlienwareController::GetZoneNames()
@@ -272,7 +276,7 @@ bool AlienwareController::Dim(std::vector<uint8_t> zones, double percent)
/*-----------------------------------------------------*\
| Set up message packet with leading 00, per hidapi |
\*-----------------------------------------------------*/
uint16_t num_zones = zones.size();
uint16_t num_zones = (uint16_t)zones.size();
usb_buf[0x00] = 0x00;
usb_buf[0x01] = 0x03;
@@ -376,7 +380,7 @@ bool AlienwareController::SelectZones(const std::vector<uint8_t>& zones)
/*-----------------------------------------------------*\
| Set up message packet with leading 00, per hidapi |
\*-----------------------------------------------------*/
uint16_t num_zones = zones.size();
uint16_t num_zones = (uint16_t)zones.size();
usb_buf[0x00] = 0x00;
usb_buf[0x01] = 0x03;
@@ -515,7 +519,7 @@ bool AlienwareController::SetColorDirect(RGBColor color, std::vector<uint8_t> zo
/*-----------------------------------------------------*\
| Set up message packet with leading 00, per hidapi |
\*-----------------------------------------------------*/
uint16_t num_zones = zones.size();
uint16_t num_zones = (uint16_t)zones.size();
usb_buf[0x00] = 0x00;
usb_buf[0x01] = 0x03;
@@ -651,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)
@@ -678,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)
@@ -1,18 +1,20 @@
/*-----------------------------------------*\
| AlienwareController.h |
| |
| Driver for Dell Alienware RGB USB |
| controller |
| |
| Gabriel Marcano (gemarcano) 4/19/2021 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <hidapi/hidapi.h>
#include <string>
/*---------------------------------------------------------*\
| AlienwareController.h |
| |
| Driver for Dell Alienware RGB USB controller |
| |
| Gabriel Marcano (gemarcano) 19 Apr 2021 |
| |
| 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"
/*----------------------------------------------------------------------------------------------*\
| Definitions for Alienware Controller |
\*----------------------------------------------------------------------------------------------*/
@@ -1,6 +1,14 @@
/*---------------------------------------------------------*\
| AlienwareControllerDetect.cpp |
| |
| Detector for Dell Alienware RGB USB controller |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AlienwareController.h"
#include "RGBController.h"
#include "RGBController_Alienware.h"
/*---------------------------------------------------------*\
@@ -11,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)
{
@@ -26,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);
@@ -1,16 +1,17 @@
/*-----------------------------------------*\
| RGBController_Alienware.cpp |
| |
| Generic RGB Interface for OpenRGB |
| Alienware USB Driver |
| |
| Gabriel Marcano (gemarcano) 4/19/2021 |
\*-----------------------------------------*/
#include "RGBController_Alienware.h"
/*---------------------------------------------------------*\
| RGBController_Alienware.cpp |
| |
| RGBController for Dell Alienware RGB USB controller |
| |
| Gabriel Marcano (gemarcano) 19 Apr 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <thread>
#include <chrono>
#include "RGBController_Alienware.h"
/**------------------------------------------------------------------*\
@name Alienware
@@ -213,7 +214,7 @@ void RGBController_Alienware::DeviceUpdateMode()
/*-----------------------------------------------------*\
| Setup state per zone |
\*-----------------------------------------------------*/
for(std::size_t zone_idx = 0; zone_idx < zones.size(); zone_idx++)
for(uint8_t zone_idx = 0; zone_idx < zones.size(); zone_idx++)
{
zone current_zone = zones[zone_idx];
@@ -1,19 +1,20 @@
/*-----------------------------------------*\
| RGBController_Alienware.h |
| |
| Generic RGB Interface for OpenRGB |
| Alienware RGB USB Driver |
| |
| Gabriel Marcano (gemarcano) 4/19/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_Alienware.h |
| |
| RGBController for Dell Alienware RGB USB controller |
| |
| Gabriel Marcano (gemarcano) 19 Apr 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include <chrono>
#include "RGBController.h"
#include "AlienwareController.h"
#include <chrono>
class RGBController_Alienware : public RGBController
{
public:
@@ -1,16 +1,18 @@
/*------------------------------------------------------*\
| AlienwareAW410KController.cpp |
| |
| Driver for Alienware AW410K |
| keyboard light controller |
| |
| based on AW510K controller by Mohamad Sallal - msallal|
| |
| Dominik Mikolajczyk - dmiko 23/10/2023 |
\*------------------------------------------------------*/
/*---------------------------------------------------------*\
| AlienwareAW410KController.cpp |
| |
| Driver for Alienware AW410K keyboard |
| |
| based on AW510K controller by Mohamad Sallal (msallal) |
| Dominik Mikolajczyk (dmiko) 23 Oct 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AlienwareAW410KController.h"
#include <cstring>
#include "AlienwareAW410KController.h"
#include "StringUtils.h"
AlienwareAW410KController::AlienwareAW410KController(hid_device* dev_handle, const char* path)
{
@@ -34,20 +36,18 @@ 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()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -69,7 +69,7 @@ void AlienwareAW410KController::SendCommit()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 20 milliseconds |
@@ -77,7 +77,6 @@ void AlienwareAW410KController::SendCommit()
std::this_thread::sleep_for(std::chrono::milliseconds(20));
}
void AlienwareAW410KController::SendfeatureReport
(
unsigned char first_byte,
@@ -86,7 +85,7 @@ void AlienwareAW410KController::SendfeatureReport
unsigned char forth_byte
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -105,7 +104,7 @@ void AlienwareAW410KController::SendfeatureReport
/*-----------------------------------------------------*\
| Send Feature report packet |
\*-----------------------------------------------------*/
hid_send_feature_report(dev, (unsigned char *)usb_buf, 65);
hid_send_feature_report(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 10 milliseconds |
@@ -115,7 +114,7 @@ void AlienwareAW410KController::SendfeatureReport
void AlienwareAW410KController::SendEdit()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -133,7 +132,7 @@ void AlienwareAW410KController::SendEdit()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 2 milliseconds |
@@ -143,7 +142,7 @@ void AlienwareAW410KController::SendEdit()
void AlienwareAW410KController::SendInitialize()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -168,7 +167,7 @@ void AlienwareAW410KController::SendInitialize()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 2 milliseconds |
@@ -222,7 +221,7 @@ void AlienwareAW410KController::SendDirectOn
std::vector<SelectedButtons> &frame_data
)
{
SendfeatureReport(0x0E, frame_data.size(), 0x00, 0x01);
SendfeatureReport(0x0E, (unsigned char)frame_data.size(), 0x00, 0x01);
/*-----------------------------------------------*\
| To Guarantee the data are always %4 =0 append |
@@ -302,7 +301,7 @@ void AlienwareAW410KController::SendDirectOn
void AlienwareAW410KController::SetMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -324,7 +323,7 @@ void AlienwareAW410KController::UpdateSingleLED
{
SendfeatureReport(0x0E, 0x01, 0x00, 0x01);
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -354,7 +353,7 @@ void AlienwareAW410KController::UpdateSingleLED
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 20 milliseconds |
@@ -366,7 +365,7 @@ void AlienwareAW410KController::SendMode
(
unsigned char /*zone*/,
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -374,7 +373,7 @@ void AlienwareAW410KController::SendMode
unsigned char blue
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -400,13 +399,13 @@ void AlienwareAW410KController::SendMode
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
}
void AlienwareAW410KController::SetMorphMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char red1,
unsigned char green1,
unsigned char blue1,
@@ -415,7 +414,7 @@ void AlienwareAW410KController::SetMorphMode
unsigned char blue2
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -444,5 +443,5 @@ void AlienwareAW410KController::SetMorphMode
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
}
@@ -1,21 +1,21 @@
/*------------------------------------------------------*\
| AlienwareAW410KController.h |
| |
| Definitions and types for alienware |
| AW410K Keyboard |
| |
| based on AW510K controller by Mohamad Sallal - msallal|
| |
| Dominik Mikolajczyk - dmiko 23/10/2023 |
\*------------------------------------------------------*/
#include "RGBController.h"
#include <string>
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| AlienwareAW410KController.h |
| |
| Driver for Alienware AW410K keyboard |
| |
| based on AW510K controller by Mohamad Sallal (msallal) |
| Dominik Mikolajczyk (dmiko) 23 Oct 2023 |
| |
| 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"
enum
{
ALIENWARE_AW410K_ZONE_MODE_KEYBOARD = 0x01,
@@ -109,7 +109,7 @@ public:
void SetMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -120,7 +120,7 @@ public:
void SetMorphMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char red1,
unsigned char green1,
unsigned char blue1,
@@ -145,7 +145,7 @@ private:
(
unsigned char zone,
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -1,17 +1,18 @@
/*------------------------------------------------------*\
| RGBController_AlienwareAW410K.cpp |
| |
| Generic RGB Interface for alienware |
| AW410K Keyboard |
| |
| based on AW510K controller by Mohamad Sallal - msallal|
| |
| Dominik Mikolajczyk - dmiko 23/10/2023 |
\*------------------------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AlienwareAW410K.cpp |
| |
| RGBController for Alienware AW410K keyboard |
| |
| based on AW510K controller by Mohamad Sallal (msallal) |
| Dominik Mikolajczyk (dmiko) 23 Oct 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <iterator>
#include "RGBControllerKeyNames.h"
#include "RGBController_AlienwareAW410K.h"
#include <iterator>
//0xFFFFFFFF indicates an unused entry in matrix
#define NA 0xFFFFFFFF
@@ -410,7 +411,7 @@ void RGBController_AlienwareAW410K::DeviceUpdateMode()
| Load LEDs again in case of profile load etc. |
\*-------------------------------------------------------------*/
DeviceUpdateLEDs();
break;
break;
case ALIENWARE_AW410K_MODE_MORPH:
/*-------------------------------------------------------------*\
| In case of morph it requires two colors (color1 and color2) |
@@ -0,0 +1,37 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareAW410K.h |
| |
| RGBController for Alienware AW410K keyboard |
| |
| based on AW510K controller by Mohamad Sallal (msallal) |
| Dominik Mikolajczyk (dmiko) 23 Oct 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AlienwareAW410KController.h"
class RGBController_AlienwareAW410K : public RGBController
{
public:
RGBController_AlienwareAW410K(AlienwareAW410KController* controller_ptr);
~RGBController_AlienwareAW410K();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareAW410KController* controller;
std::vector<RGBColor> current_colors;
};
@@ -1,14 +1,17 @@
/*-----------------------------------------*\
| AlienwareAW510KController.cpp |
| |
| Driver for Alienware AW510K |
| keyboard light controller |
| |
| Mohamad Sallal - msallal 05/22/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AlienwareAW510KController.cpp |
| |
| Driver for Alienware AW510K keyboard |
| |
| Mohamad Sallal (msallal) 22 May 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AlienwareAW510KController.h"
#include <cstring>
#include "AlienwareAW510KController.h"
#include "StringUtils.h"
AlienwareAW510KController::AlienwareAW510KController(hid_device* dev_handle, const char* path)
{
@@ -31,17 +34,19 @@ 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()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -63,7 +68,7 @@ void AlienwareAW510KController::SendCommit()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 20 milliseconds |
@@ -71,7 +76,6 @@ void AlienwareAW510KController::SendCommit()
std::this_thread::sleep_for(std::chrono::milliseconds(20));
}
void AlienwareAW510KController::SendfeatureReport
(
unsigned char first_byte,
@@ -80,7 +84,7 @@ void AlienwareAW510KController::SendfeatureReport
unsigned char forth_byte
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -99,7 +103,7 @@ void AlienwareAW510KController::SendfeatureReport
/*-----------------------------------------------------*\
| Send Feature report packet |
\*-----------------------------------------------------*/
hid_send_feature_report(dev, (unsigned char *)usb_buf, 65);
hid_send_feature_report(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 10 milliseconds |
@@ -109,7 +113,7 @@ void AlienwareAW510KController::SendfeatureReport
void AlienwareAW510KController::SendEdit()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -127,7 +131,7 @@ void AlienwareAW510KController::SendEdit()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 2 milliseconds |
@@ -137,7 +141,7 @@ void AlienwareAW510KController::SendEdit()
void AlienwareAW510KController::SendInitialize()
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -162,7 +166,7 @@ void AlienwareAW510KController::SendInitialize()
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 2 milliseconds |
@@ -216,7 +220,7 @@ void AlienwareAW510KController::SendDirectOn
std::vector<SelectedKeys> &frame_data
)
{
SendfeatureReport(0x0E, frame_data.size(), 0x00, 0x01);
SendfeatureReport(0x0E, (unsigned char)frame_data.size(), 0x00, 0x01);
/*-----------------------------------------------*\
| To Guarantee the data are always %4 =0 append |
@@ -296,7 +300,7 @@ void AlienwareAW510KController::SendDirectOn
void AlienwareAW510KController::SetMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -318,7 +322,7 @@ void AlienwareAW510KController::UpdateSingleLED
{
SendfeatureReport(0x0E, 0x01, 0x00, 0x01);
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -348,7 +352,7 @@ void AlienwareAW510KController::UpdateSingleLED
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
/*-----------------------------------------------------*\
| Delay 20 milliseconds |
@@ -360,7 +364,7 @@ void AlienwareAW510KController::SendMode
(
unsigned char /*zone*/,
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -368,7 +372,7 @@ void AlienwareAW510KController::SendMode
unsigned char blue
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -394,13 +398,13 @@ void AlienwareAW510KController::SendMode
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
}
void AlienwareAW510KController::SetMorphMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char red1,
unsigned char green1,
unsigned char blue1,
@@ -409,7 +413,7 @@ void AlienwareAW510KController::SetMorphMode
unsigned char blue2
)
{
char usb_buf[65];
unsigned char usb_buf[65];
/*-----------------------------------------------------*\
| Zero out buffer |
@@ -438,5 +442,5 @@ void AlienwareAW510KController::SetMorphMode
/*-----------------------------------------------------*\
| Send packet |
\*-----------------------------------------------------*/
hid_write(dev, (unsigned char *)usb_buf, 65);
hid_write(dev, usb_buf, 65);
}
@@ -1,19 +1,20 @@
/*-----------------------------------------*\
| AlienwareAW510KController.h |
| |
| Definitions and types for alienware |
| AW510K Keyboard |
| |
| Mohamad Sallal - msallal 05/22/2021 |
\*-----------------------------------------*/
#include "RGBController.h"
#include <string>
#include <hidapi/hidapi.h>
/*---------------------------------------------------------*\
| AlienwareAW510KController.h |
| |
| Driver for Alienware AW510K keyboard |
| |
| Mohamad Sallal (msallal) 22 May 2021 |
| |
| 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"
enum
{
ALIENWARE_AW510K_ZONE_MODE_KEYBOARD = 0x01,
@@ -110,7 +111,7 @@ public:
void SetMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -121,7 +122,7 @@ public:
void SetMorphMode
(
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char red1,
unsigned char green1,
unsigned char blue1,
@@ -146,7 +147,7 @@ private:
(
unsigned char zone,
unsigned char mode,
unsigned short speed,
unsigned char speed,
unsigned char direction,
unsigned char colorMode,
unsigned char red,
@@ -1,15 +1,17 @@
/*-----------------------------------------*\
| RGBController_AlienwareAW510K.cpp |
| |
| Generic RGB Interface for alienware |
| AW510K Keyboard |
| |
| Mohamad Sallal - msallal 05/22/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AlienwareAW510K.cpp |
| |
| RGBController for Alienware AW510K keyboard |
| |
| Mohamad Sallal (msallal) 22 May 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <iterator>
#include "RGBControllerKeyNames.h"
#include "RGBController_AlienwareAW510K.h"
#include <iterator>
//0xFFFFFFFF indicates an unused entry in matrix
#define NA 0xFFFFFFFF
@@ -0,0 +1,36 @@
/*---------------------------------------------------------*\
| RGBController_AlienwareAW510K.h |
| |
| RGBController for Alienware AW510K keyboard |
| |
| Mohamad Sallal (msallal) 22 May 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AlienwareAW510KController.h"
class RGBController_AlienwareAW510K : public RGBController
{
public:
RGBController_AlienwareAW510K(AlienwareAW510KController* controller_ptr);
~RGBController_AlienwareAW510K();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareAW510KController* controller;
std::vector<RGBColor> current_colors;
};
@@ -1,21 +1,29 @@
/*---------------------------------------------------------*\
| AlienwareKeyboardControllerDetect.cpp |
| |
| Detector for Alienware Keyboard |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include <hidapi.h>
#include "Detector.h"
#include "AlienwareAW510KController.h"
#include "AlienwareAW410KController.h"
#include "RGBController.h"
#include "RGBController_AlienwareAW510K.h"
#include "RGBController_AlienwareAW410K.h"
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
| Alienware vendor ID |
\*-----------------------------------------------------*/
#define ALIENWARE_VID 0x04F2
#define ALIENWARE_VID 0x04F2
/*-----------------------------------------------------*\
| Keyboard product IDs |
\*-----------------------------------------------------*/
#define ALIENWARE_AW510K_PID 0x1830
#define ALIENWARE_AW410K_PID 0x1968
#define ALIENWARE_AW510K_PID 0x1830
#define ALIENWARE_AW410K_PID 0x1968
/******************************************************************************************\
* *
@@ -1,36 +0,0 @@
/*------------------------------------------------------*\
| RGBController_AlienwareAW410K.h |
| |
| Generic RGB Interface for Alienware |
| AW410K keyboard |
| |
| based on AW510K controller by Mohamad Sallal - msallal|
| |
| Dominik Mikolajczyk - dmiko 23/10/2023 |
\*------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AlienwareAW410KController.h"
class RGBController_AlienwareAW410K : public RGBController
{
public:
RGBController_AlienwareAW410K(AlienwareAW410KController* controller_ptr);
~RGBController_AlienwareAW410K();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareAW410KController* controller;
std::vector<RGBColor> current_colors;
};
@@ -1,34 +0,0 @@
/*-----------------------------------------*\
| RGBController_AlienwareAW510K.h |
| |
| Generic RGB Interface for Alienware |
| AW510K keyboard |
| |
| Mohamad Sallal - msallal 05/22/2021 |
\*-----------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AlienwareAW510KController.h"
class RGBController_AlienwareAW510K : public RGBController
{
public:
RGBController_AlienwareAW510K(AlienwareAW510KController* controller_ptr);
~RGBController_AlienwareAW510K();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
AlienwareAW510KController* controller;
std::vector<RGBColor> current_colors;
};
@@ -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;
};
@@ -1,32 +1,36 @@
/*-----------------------------------------*\
| AnnePro2Controller.cpp |
| |
| Driver for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06/06/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AnnePro2Controller.cpp |
| |
| Driver for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06 Jun 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "AnnePro2Controller.h"
#include "StringUtils.h"
using namespace std::chrono_literals;
AnnePro2Controller::AnnePro2Controller(hid_device* dev_handle, const char* path)
AnnePro2Controller::AnnePro2Controller(hid_device* dev_handle, const char* path)
{
dev = dev_handle;
location = path;
}
AnnePro2Controller::~AnnePro2Controller()
AnnePro2Controller::~AnnePro2Controller()
{
hid_close(dev);
}
std::string AnnePro2Controller::GetDeviceLocation()
std::string AnnePro2Controller::GetDeviceLocation()
{
return("HID: " + location);
}
std::string AnnePro2Controller::GetSerialString()
std::string AnnePro2Controller::GetSerialString()
{
wchar_t serial_string[128];
int ret = hid_get_serial_number_string(dev, serial_string, 128);
@@ -36,13 +40,10 @@ 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)
void AnnePro2Controller::SendDirect(unsigned char frame_count, unsigned char * frame_data)
{
/*-------------------------------------------------------------*\
| Reverse engineered by https://github.com/manualmanul/Annemone |
@@ -74,7 +75,7 @@ void AnnePro2Controller::SendDirect(unsigned char frame_count, unsigned char * f
{
const unsigned char e = (messages_to_send_amount << 4) + p;
const unsigned char a = ((messages_to_send_amount - 1) == p) ? val_2 + real_command_info_length : max_message_length + real_command_info_length;
/*---------------------------------------------------------*\
| Service data |
\*---------------------------------------------------------*/
@@ -1,19 +1,20 @@
/*-----------------------------------------*\
| AnnePro2Controller.h |
| |
| Driver for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06/06/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| AnnePro2Controller.h |
| |
| Driver for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06 Jun 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include <string>
#include <vector>
#include <hidapi/hidapi.h>
#pragma once
#include <hidapi.h>
#include "RGBController.h"
class AnnePro2Controller
{
@@ -33,4 +34,4 @@ public:
private:
hid_device* dev;
std::string location;
};
};
@@ -1,16 +1,33 @@
/*---------------------------------------------------------*\
| AnnePro2ControllerDetect.cpp |
| |
| Detector for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06 Jun 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "Detector.h"
#include "AnnePro2Controller.h"
#include "RGBController.h"
#include "RGBController_AnnePro2.h"
#include <hidapi/hidapi.h>
#include <hidapi.h>
#define ANNE_PRO_2_VID_1 0x04D9
#define ANNE_PRO_2_VID_2 0x3311
#define ANNE_PRO_2_PID_1 0x8008
#define ANNE_PRO_2_PID_2 0x8009
#define ANNE_PRO_2_PID_3 0xA292
#define ANNE_PRO_2_PID_4 0xA293
#define ANNE_PRO_2_PID_5 0xA297
/*---------------------------------------------------------*\
| Anne Pro 2 vendor IDs |
\*---------------------------------------------------------*/
#define ANNE_PRO_2_VID_1 0x04D9
#define ANNE_PRO_2_VID_2 0x3311
/*---------------------------------------------------------*\
| Anne Pro 2 product IDs |
\*---------------------------------------------------------*/
#define ANNE_PRO_2_PID_1 0x8008
#define ANNE_PRO_2_PID_2 0x8009
#define ANNE_PRO_2_PID_3 0xA292
#define ANNE_PRO_2_PID_4 0xA293
#define ANNE_PRO_2_PID_5 0xA297
/******************************************************************************************\
* *
@@ -1,11 +1,13 @@
/*-----------------------------------------*\
| RGBController_AnnePro2.cpp |
| |
| Generic RGB Interface for Obins Lab |
| AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06/06/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AnnePro2.cpp |
| |
| RGBController for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06 Jun 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "RGBControllerKeyNames.h"
#include "RGBController_AnnePro2.h"
@@ -1,13 +1,16 @@
/*-----------------------------------------*\
| RGBController_AnnePro2.h |
| |
| Generic RGB Interface for Obins Lab |
| AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06/06/2021 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| RGBController_AnnePro2.h |
| |
| RGBController for Obins Lab AnnePro2 keyboard |
| |
| Sergey Gavrilov (DrZlo13) 06 Jun 2021 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "AnnePro2Controller.h"
@@ -1,13 +1,16 @@
/*-----------------------------------------*\
| ArcticController.h |
| |
| Controller Interface for Arctic devices |
| |
| Armin Wolf (Wer-Wolf) 01/09/2023 |
\*-----------------------------------------*/
/*---------------------------------------------------------*\
| ArcticController.cpp |
| |
| Driver for Arctic devices |
| |
| Armin Wolf (Wer-Wolf) 09 Jan 2023 |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-only |
\*---------------------------------------------------------*/
#include "ArcticController.h"
#include <cstring>
#include "ArcticController.h"
using namespace std::chrono_literals;

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