From ae3693e0d92d9b9b848b1d424c9a804fdd2eadbc Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 14:08:27 +0100 Subject: [PATCH] Feat: add aura support for G614F models --- CHANGELOG.md | 1 + rog-slash/src/data.rs | 8 +++++++- rog-slash/src/usb.rs | 7 +++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55010403..7c950759 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Added testing support for G835LW - Added support for GU605C models slash lighting: thanks @Otters - Restore fedora: thanks @ali205412 +- Add support to G614F models slash lighting ## [6.1.22] diff --git a/rog-slash/src/data.rs b/rog-slash/src/data.rs index d173acc8..89d9841f 100644 --- a/rog-slash/src/data.rs +++ b/rog-slash/src/data.rs @@ -17,6 +17,7 @@ pub enum SlashType { GA605, GU605, GU605C, + G614F, #[default] Unsupported, } @@ -29,6 +30,7 @@ impl SlashType { SlashType::GA605 => PROD_ID2, SlashType::GU605 => PROD_ID1, SlashType::GU605C => PROD_ID2, + SlashType::G614F => PROD_ID2, SlashType::Unsupported => 0, } } @@ -40,13 +42,16 @@ impl SlashType { SlashType::GA605 => PROD_ID2_STR, SlashType::GU605 => PROD_ID1_STR, SlashType::GU605C => PROD_ID2_STR, + SlashType::G614F => PROD_ID2_STR, SlashType::Unsupported => "", } } pub fn from_dmi() -> Self { let board_name = DMIID::new().unwrap_or_default().board_name.to_uppercase(); - if board_name.contains("GA403W") { + if board_name.contains("G614F") { + SlashType::G614F + } else if board_name.contains("GA403W") { SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 @@ -72,6 +77,7 @@ impl FromStr for SlashType { "GA605" => Self::GA605, "GU605C" => Self::GU605C, "GU605" => Self::GU605, + "G614FR" => Self::G614F, _ => Self::Unsupported, }) } diff --git a/rog-slash/src/usb.rs b/rog-slash/src/usb.rs index db204d5c..ad0afc22 100644 --- a/rog-slash/src/usb.rs +++ b/rog-slash/src/usb.rs @@ -37,8 +37,10 @@ pub fn get_slash_type() -> SlashType { let dmi = DMIID::new() .map_err(|_| SlashError::NoDevice) .unwrap_or_default(); - let board_name = dmi.board_name; - if board_name.contains("GA403W") { + let board_name = dmi.board_name.to_uppercase(); + if board_name.contains("G614F") { + SlashType::G614F + } else if board_name.contains("GA403W") { SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 @@ -58,6 +60,7 @@ pub const fn report_id(slash_type: SlashType) -> u8 { SlashType::GA403W => REPORT_ID_19B6, SlashType::GA403 => REPORT_ID_193B, SlashType::GA605 => REPORT_ID_19B6, + SlashType::G614F => REPORT_ID_19B6, SlashType::GU605 => REPORT_ID_193B, SlashType::GU605C => REPORT_ID_19B6, SlashType::Unsupported => REPORT_ID_19B6,