Aura: add support for Rear Glow power modes

This commit is contained in:
Luke D. Jones
2023-06-18 19:48:08 +12:00
parent 68ee62fef1
commit 04543eeca0
7 changed files with 123 additions and 28 deletions

View File

@@ -31,13 +31,19 @@ pub struct LedPowerCommand2 {
#[derive(Options)]
pub enum SetAuraEnabled {
/// Applies to both old and new models
#[options(help = "set <keyboard, logo, lightbar> to enabled while device is awake")]
#[options(help = "set <keyboard, logo, lightbar, rearglow> to enabled while device is awake")]
Awake(AuraEnabled),
#[options(help = "set <keyboard, logo, lightbar> to enabled while the device is booting")]
#[options(
help = "set <keyboard, logo, lightbar, rearglow> to enabled while the device is booting"
)]
Boot(AuraEnabled),
#[options(help = "set <keyboard, logo, lightbar> to animate while the device is suspended")]
#[options(
help = "set <keyboard, logo, lightbar, rearglow> to animate while the device is suspended"
)]
Sleep(AuraEnabled),
#[options(help = "set <keyboard, logo, lightbar> to animate while the device is shutdown")]
#[options(
help = "set <keyboard, logo, lightbar, rearglow> to animate while the device is shutdown"
)]
Shutdown(AuraEnabled),
}
@@ -50,7 +56,9 @@ pub struct AuraEnabled {
#[options(meta = "", help = "<true/false>")]
pub logo: Option<bool>,
#[options(meta = "", help = "<true/false>")]
pub lightbar: Option<bool>,
pub frontglow: Option<bool>,
#[options(meta = "", help = "<true/false>")]
pub rearglow: Option<bool>,
#[options(meta = "", help = "<true/false>")]
pub lid: Option<bool>,
}

View File

@@ -601,26 +601,30 @@ fn handle_led_power2(
aura_cli::SetAuraEnabled::Boot(arg) => {
check(arg.keyboard, AuraDevRog2::BootKeyb);
check(arg.logo, AuraDevRog2::BootLogo);
check(arg.lightbar, AuraDevRog2::BootBar);
check(arg.frontglow, AuraDevRog2::BootBar);
check(arg.rearglow, AuraDevRog2::BootRearGlow);
check(arg.lid, AuraDevRog2::AwakeLid);
}
aura_cli::SetAuraEnabled::Sleep(arg) => {
check(arg.keyboard, AuraDevRog2::SleepKeyb);
check(arg.logo, AuraDevRog2::SleepLogo);
check(arg.lightbar, AuraDevRog2::SleepBar);
check(arg.frontglow, AuraDevRog2::SleepBar);
check(arg.rearglow, AuraDevRog2::SleepRearGlow);
check(arg.lid, AuraDevRog2::SleepLid);
}
aura_cli::SetAuraEnabled::Awake(arg) => {
check(arg.keyboard, AuraDevRog2::AwakeKeyb);
check(arg.logo, AuraDevRog2::AwakeLogo);
check(arg.lightbar, AuraDevRog2::AwakeBar);
check(arg.frontglow, AuraDevRog2::AwakeBar);
check(arg.rearglow, AuraDevRog2::AwakeRearGlow);
check(arg.lid, AuraDevRog2::AwakeLid);
}
aura_cli::SetAuraEnabled::Shutdown(arg) => {
check(arg.keyboard, AuraDevRog2::ShutdownKeyb);
check(arg.logo, AuraDevRog2::ShutdownLogo);
check(arg.lightbar, AuraDevRog2::ShutdownBar);
check(arg.lid, AuraDevRog2::ShutdownBar);
check(arg.frontglow, AuraDevRog2::ShutdownBar);
check(arg.rearglow, AuraDevRog2::ShutdownRearGlow);
check(arg.lid, AuraDevRog2::ShutdownLid);
}
}