add support for ga403wr, zephyrus g14 2025

This commit is contained in:
rustysec
2025-11-29 23:49:24 -08:00
parent a811f20f65
commit 574b954866
2 changed files with 11 additions and 3 deletions

View File

@@ -13,6 +13,7 @@ use crate::usb::{PROD_ID1, PROD_ID1_STR, PROD_ID2, PROD_ID2_STR};
#[derive(Default, Debug, Copy, Clone, PartialEq, Eq, Deserialize, Serialize)]
pub enum SlashType {
GA403,
GA403WR,
GA605,
GU605,
#[default]
@@ -22,6 +23,7 @@ pub enum SlashType {
impl SlashType {
pub const fn prod_id(&self) -> u16 {
match self {
SlashType::GA403WR => PROD_ID2,
SlashType::GA403 => PROD_ID1,
SlashType::GA605 => PROD_ID2,
SlashType::GU605 => PROD_ID1,
@@ -31,6 +33,7 @@ impl SlashType {
pub const fn prod_id_str(&self) -> &str {
match self {
SlashType::GA403WR => PROD_ID2_STR,
SlashType::GA403 => PROD_ID1_STR,
SlashType::GA605 => PROD_ID2_STR,
SlashType::GU605 => PROD_ID1_STR,
@@ -40,7 +43,9 @@ impl SlashType {
pub fn from_dmi() -> Self {
let board_name = DMIID::new().unwrap_or_default().board_name.to_uppercase();
if board_name.contains("GA403") {
if board_name.contains("GA403WR") {
SlashType::GA403WR
} else if board_name.contains("GA403") {
SlashType::GA403
} else if board_name.contains("GA605") {
SlashType::GA605
@@ -57,6 +62,7 @@ impl FromStr for SlashType {
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(match s {
"ga403wr" | "GA403WR" => Self::GA403WR,
"ga403" | "GA403" => Self::GA403,
"ga605" | "GA605" => Self::GA605,
"gu605" | "GU605" => Self::GU605,

View File

@@ -38,8 +38,9 @@ pub fn get_slash_type() -> SlashType {
.map_err(|_| SlashError::NoDevice)
.unwrap_or_default();
let board_name = dmi.board_name;
if board_name.contains("GA403") {
if board_name.contains("GA403WR") {
SlashType::GA403WR
} else if board_name.contains("GA403") {
SlashType::GA403
} else if board_name.contains("GA605") {
SlashType::GA605
@@ -52,6 +53,7 @@ pub fn get_slash_type() -> SlashType {
pub const fn report_id(slash_type: SlashType) -> u8 {
match slash_type {
SlashType::GA403WR => REPORT_ID_19B6,
SlashType::GA403 => REPORT_ID_193B,
SlashType::GA605 => REPORT_ID_19B6,
SlashType::GU605 => REPORT_ID_193B,