mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Properly set full defaults for LED power
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
use crate::laptops::LaptopLedData;
|
use crate::laptops::{LaptopLedData, ASUS_KEYBOARD_DEVICES};
|
||||||
use log::{error, warn};
|
use log::{error, warn};
|
||||||
use rog_aura::usb::{AuraDev1866, AuraDev19b6, AuraPowerDev};
|
use rog_aura::usb::{AuraDev1866, AuraDev19b6, AuraPowerDev};
|
||||||
use rog_aura::{AuraEffect, AuraModeNum, AuraZone, Direction, LedBrightness, Speed, GRADIENT};
|
use rog_aura::{AuraEffect, AuraModeNum, AuraZone, Direction, LedBrightness, Speed, GRADIENT};
|
||||||
@@ -7,6 +7,8 @@ use std::collections::{BTreeMap, HashSet};
|
|||||||
use std::fs::{File, OpenOptions};
|
use std::fs::{File, OpenOptions};
|
||||||
use std::io::{Read, Write};
|
use std::io::{Read, Write};
|
||||||
|
|
||||||
|
use super::controller::CtrlKbdLed;
|
||||||
|
|
||||||
pub static AURA_CONFIG_PATH: &str = "/etc/asusd/aura.conf";
|
pub static AURA_CONFIG_PATH: &str = "/etc/asusd/aura.conf";
|
||||||
|
|
||||||
/// Enable/disable LED control in various states such as
|
/// Enable/disable LED control in various states such as
|
||||||
@@ -81,13 +83,46 @@ pub struct AuraConfig {
|
|||||||
|
|
||||||
impl Default for AuraConfig {
|
impl Default for AuraConfig {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
|
let mut prod_id = String::new();
|
||||||
|
for prod in ASUS_KEYBOARD_DEVICES.iter() {
|
||||||
|
if let Ok(_) = CtrlKbdLed::find_led_node(prod) {
|
||||||
|
prod_id = prod.to_string();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let enabled = if prod_id == "19b6" {
|
||||||
|
AuraPowerConfig::AuraDev19b6(HashSet::from([
|
||||||
|
AuraDev19b6::BootLogo,
|
||||||
|
AuraDev19b6::BootKeyb,
|
||||||
|
AuraDev19b6::SleepLogo,
|
||||||
|
AuraDev19b6::SleepKeyb,
|
||||||
|
AuraDev19b6::AwakeLogo,
|
||||||
|
AuraDev19b6::AwakeKeyb,
|
||||||
|
AuraDev19b6::ShutdownLogo,
|
||||||
|
AuraDev19b6::ShutdownKeyb,
|
||||||
|
AuraDev19b6::AwakeBar,
|
||||||
|
AuraDev19b6::BootBar,
|
||||||
|
AuraDev19b6::SleepBar,
|
||||||
|
AuraDev19b6::ShutdownBar,
|
||||||
|
]))
|
||||||
|
} else {
|
||||||
|
AuraPowerConfig::AuraDev1866(HashSet::from([
|
||||||
|
AuraDev1866::Awake,
|
||||||
|
AuraDev1866::Boot,
|
||||||
|
AuraDev1866::Sleep,
|
||||||
|
AuraDev1866::Keyboard,
|
||||||
|
AuraDev1866::Lightbar,
|
||||||
|
]))
|
||||||
|
};
|
||||||
|
|
||||||
AuraConfig {
|
AuraConfig {
|
||||||
brightness: LedBrightness::Med,
|
brightness: LedBrightness::Med,
|
||||||
current_mode: AuraModeNum::Static,
|
current_mode: AuraModeNum::Static,
|
||||||
builtins: BTreeMap::new(),
|
builtins: BTreeMap::new(),
|
||||||
multizone: None,
|
multizone: None,
|
||||||
multizone_on: false,
|
multizone_on: false,
|
||||||
enabled: AuraPowerConfig::AuraDev1866(HashSet::new()),
|
enabled,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ impl CtrlKbdLed {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn find_led_node(id_product: &str) -> Result<String, RogError> {
|
pub(crate) fn find_led_node(id_product: &str) -> Result<String, RogError> {
|
||||||
let mut enumerator = udev::Enumerator::new().map_err(|err| {
|
let mut enumerator = udev::Enumerator::new().map_err(|err| {
|
||||||
warn!("{}", err);
|
warn!("{}", err);
|
||||||
RogError::Udev("enumerator failed".into(), err)
|
RogError::Udev("enumerator failed".into(), err)
|
||||||
|
|||||||
Reference in New Issue
Block a user