mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Merge branch 'devel'
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo '+cargo +nightly fmt --all -- --check'
|
echo '+cargo fmt --all -- --check'
|
||||||
cargo +nightly fmt --all -- --check
|
cargo fmt --all -- --check
|
||||||
git add -u
|
git add -u
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo '+cargo +nightly fmt --all -- --check'
|
echo '+cargo fmt --all -- --check'
|
||||||
cargo +nightly fmt --all -- --check
|
cargo fmt --all -- --check
|
||||||
echo '+cargo clippy --all -- -D warnings'
|
echo '+cargo clippy --all -- -D warnings'
|
||||||
cargo clippy --all -- -D warnings
|
cargo clippy --all -- -D warnings
|
||||||
echo '+cargo cranky'
|
echo '+cargo cranky'
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ format:
|
|||||||
- tags
|
- tags
|
||||||
<<: *rust_cache
|
<<: *rust_cache
|
||||||
script:
|
script:
|
||||||
- echo "nightly" > rust-toolchain
|
- rustup component add rustfmt || true
|
||||||
- rustup component add rustfmt
|
|
||||||
- cargo fmt --check
|
- cargo fmt --check
|
||||||
|
|
||||||
check:
|
check:
|
||||||
@@ -40,8 +39,8 @@ check:
|
|||||||
- tags
|
- tags
|
||||||
<<: *rust_cache
|
<<: *rust_cache
|
||||||
script:
|
script:
|
||||||
- rustup component add clippy
|
- rustup component add clippy || true
|
||||||
- cargo check
|
- cargo check --locked --workspace
|
||||||
# deny currently catches too much
|
# deny currently catches too much
|
||||||
#- cargo install cargo-deny && cargo deny
|
#- cargo install cargo-deny && cargo deny
|
||||||
- cargo install cargo-cranky && cargo cranky
|
- cargo install cargo-cranky && cargo cranky
|
||||||
@@ -52,7 +51,7 @@ test:
|
|||||||
<<: *rust_cache
|
<<: *rust_cache
|
||||||
script:
|
script:
|
||||||
- mkdir -p .git/hooks > /dev/null
|
- mkdir -p .git/hooks > /dev/null
|
||||||
- cargo test --all -- --test-threads=1
|
- cargo test --locked --all
|
||||||
|
|
||||||
release:
|
release:
|
||||||
only:
|
only:
|
||||||
@@ -60,7 +59,7 @@ release:
|
|||||||
<<: *rust_cache
|
<<: *rust_cache
|
||||||
script:
|
script:
|
||||||
- cargo install cargo-vendor-filterer
|
- cargo install cargo-vendor-filterer
|
||||||
- make && make vendor
|
- make FROZEN=1 && make vendor
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- vendor_asusctl*.tar.xz
|
- vendor_asusctl*.tar.xz
|
||||||
@@ -72,7 +71,7 @@ pages:
|
|||||||
- tags
|
- tags
|
||||||
<<: *rust_cache
|
<<: *rust_cache
|
||||||
script:
|
script:
|
||||||
- cargo doc --document-private-items --no-deps --workspace
|
- cargo doc --locked --document-private-items --no-deps --workspace
|
||||||
- rm -rf public
|
- rm -rf public
|
||||||
- mkdir public
|
- mkdir public
|
||||||
- cp -R target/doc/* public
|
- cp -R target/doc/* public
|
||||||
|
|||||||
9
Makefile
9
Makefile
@@ -37,6 +37,15 @@ ifeq ($(X11),1)
|
|||||||
ARGS += --features "rog-control-center/x11"
|
ARGS += --features "rog-control-center/x11"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Always use the versions in Cargo.lock by default
|
||||||
|
ARGS += --locked
|
||||||
|
|
||||||
|
# Allow optionally freezing the build to avoid any network access and enforce Cargo.lock strictly
|
||||||
|
FROZEN ?= 0
|
||||||
|
ifeq ($(FROZEN),1)
|
||||||
|
ARGS += --frozen
|
||||||
|
endif
|
||||||
|
|
||||||
VENDORED ?= 0
|
VENDORED ?= 0
|
||||||
ifeq ($(VENDORED),1)
|
ifeq ($(VENDORED),1)
|
||||||
ARGS += --frozen
|
ARGS += --frozen
|
||||||
|
|||||||
@@ -82,7 +82,9 @@ A gui is now in the repo - ROG Control Center. At this time it is still a WIP, b
|
|||||||
|
|
||||||
# BUILDING
|
# BUILDING
|
||||||
|
|
||||||
Rust and cargo are required, they can be installed from [rustup.rs](https://rustup.rs/) or from the distro repos if newer than 1.75.
|
Rust and cargo are required, they can be installed from [rustup.rs](https://rustup.rs/).
|
||||||
|
|
||||||
|
Distro packaging should work with the stable toolchain. If your distro does not provide a recent Rust toolchain, install rustup and use the stable toolchain.
|
||||||
|
|
||||||
**fedora:**
|
**fedora:**
|
||||||
|
|
||||||
|
|||||||
@@ -231,6 +231,8 @@ impl AuraConfig {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use std::sync::{Mutex, MutexGuard, OnceLock};
|
||||||
|
|
||||||
use rog_aura::keyboard::AuraPowerState;
|
use rog_aura::keyboard::AuraPowerState;
|
||||||
use rog_aura::{
|
use rog_aura::{
|
||||||
AuraEffect, AuraModeNum, AuraZone, Colour, Direction, LedBrightness, PowerZones, Speed,
|
AuraEffect, AuraModeNum, AuraZone, Colour, Direction, LedBrightness, PowerZones, Speed,
|
||||||
@@ -238,8 +240,20 @@ mod tests {
|
|||||||
|
|
||||||
use super::AuraConfig;
|
use super::AuraConfig;
|
||||||
|
|
||||||
|
// Global mutex to serialize tests that rely on process-wide environment
|
||||||
|
// variables
|
||||||
|
static TEST_MUTEX: OnceLock<Mutex<()>> = OnceLock::new();
|
||||||
|
|
||||||
|
fn test_lock() -> MutexGuard<'static, ()> {
|
||||||
|
TEST_MUTEX
|
||||||
|
.get_or_init(|| Mutex::new(()))
|
||||||
|
.lock()
|
||||||
|
.expect("TEST_MUTEX poisoned")
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn set_multizone_4key_config() {
|
fn set_multizone_4key_config() {
|
||||||
|
let _guard = test_lock();
|
||||||
std::env::set_var("BOARD_NAME", "");
|
std::env::set_var("BOARD_NAME", "");
|
||||||
let mut config = AuraConfig::new("19b6");
|
let mut config = AuraConfig::new("19b6");
|
||||||
|
|
||||||
@@ -319,6 +333,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn set_multizone_multimode_config() {
|
fn set_multizone_multimode_config() {
|
||||||
|
let _guard = test_lock();
|
||||||
std::env::set_var("BOARD_NAME", "");
|
std::env::set_var("BOARD_NAME", "");
|
||||||
let mut config = AuraConfig::new("19b6");
|
let mut config = AuraConfig::new("19b6");
|
||||||
|
|
||||||
@@ -367,6 +382,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn verify_0x1866_g531i() {
|
fn verify_0x1866_g531i() {
|
||||||
|
let _guard = test_lock();
|
||||||
std::env::set_var("BOARD_NAME", "G513I");
|
std::env::set_var("BOARD_NAME", "G513I");
|
||||||
let mut config = AuraConfig::new("1866");
|
let mut config = AuraConfig::new("1866");
|
||||||
|
|
||||||
@@ -392,6 +408,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn verify_0x19b6_g634j() {
|
fn verify_0x19b6_g634j() {
|
||||||
|
let _guard = test_lock();
|
||||||
std::env::set_var("BOARD_NAME", "G634J");
|
std::env::set_var("BOARD_NAME", "G634J");
|
||||||
let mut config = AuraConfig::new("19b6");
|
let mut config = AuraConfig::new("19b6");
|
||||||
|
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ impl CtrlPlatform {
|
|||||||
.map(|s| s.to_string())
|
.map(|s| s.to_string())
|
||||||
.collect()
|
.collect()
|
||||||
};
|
};
|
||||||
if prog.len() > 1 {
|
if (!prog.is_empty()) && (!prog[0].is_empty()) {
|
||||||
let mut cmd = Command::new(&prog[0]);
|
let mut cmd = Command::new(&prog[0]);
|
||||||
for arg in prog.iter().skip(1) {
|
for arg in prog.iter().skip(1) {
|
||||||
cmd.arg(arg);
|
cmd.arg(arg);
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ use zbus::fdo::ObjectManager;
|
|||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
println!("Starting asusd daemon...");
|
||||||
|
|
||||||
// console_subscriber::init();
|
// console_subscriber::init();
|
||||||
let mut logger = env_logger::Builder::new();
|
let mut logger = env_logger::Builder::new();
|
||||||
logger
|
logger
|
||||||
@@ -83,7 +85,10 @@ async fn start_daemon() -> Result<(), Box<dyn Error>> {
|
|||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
Ok(registry) => registry,
|
Ok(registry) => {
|
||||||
|
info!("attribute on zbus initialized");
|
||||||
|
registry
|
||||||
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
error!("Failed to initialize firmware attributes over zbus: {e:?}");
|
error!("Failed to initialize firmware attributes over zbus: {e:?}");
|
||||||
ArmouryAttributeRegistry::default()
|
ArmouryAttributeRegistry::default()
|
||||||
@@ -92,8 +97,10 @@ async fn start_daemon() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
match CtrlFanCurveZbus::new() {
|
match CtrlFanCurveZbus::new() {
|
||||||
Ok(ctrl) => {
|
Ok(ctrl) => {
|
||||||
|
info!("FanCurves: found supported fancurves");
|
||||||
let sig_ctx = CtrlFanCurveZbus::signal_context(&server)?;
|
let sig_ctx = CtrlFanCurveZbus::signal_context(&server)?;
|
||||||
start_tasks(ctrl, &mut server, sig_ctx).await?;
|
start_tasks(ctrl, &mut server, sig_ctx).await?;
|
||||||
|
info!("FanCurves: initialized");
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("FanCurves: {}", err);
|
error!("FanCurves: {}", err);
|
||||||
@@ -102,8 +109,10 @@ async fn start_daemon() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
match CtrlBacklight::new(config.clone()) {
|
match CtrlBacklight::new(config.clone()) {
|
||||||
Ok(backlight) => {
|
Ok(backlight) => {
|
||||||
|
info!("Backlight: found supported backlight");
|
||||||
backlight.start_watch_primary().await?;
|
backlight.start_watch_primary().await?;
|
||||||
backlight.add_to_server(&mut server).await;
|
backlight.add_to_server(&mut server).await;
|
||||||
|
info!("Backlight: initialized");
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("Backlight: {}", err);
|
error!("Backlight: {}", err);
|
||||||
@@ -121,8 +130,10 @@ async fn start_daemon() -> Result<(), Box<dyn Error>> {
|
|||||||
armoury_registry,
|
armoury_registry,
|
||||||
) {
|
) {
|
||||||
Ok(ctrl) => {
|
Ok(ctrl) => {
|
||||||
|
info!("CtrlPlatform: initialized");
|
||||||
let sig_ctx = CtrlPlatform::signal_context(&server)?;
|
let sig_ctx = CtrlPlatform::signal_context(&server)?;
|
||||||
start_tasks(ctrl, &mut server, sig_ctx).await?;
|
start_tasks(ctrl, &mut server, sig_ctx).await?;
|
||||||
|
info!("CtrlPlatform: tasks started");
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("CtrlPlatform: {}", err);
|
error!("CtrlPlatform: {}", err);
|
||||||
@@ -131,10 +142,12 @@ async fn start_daemon() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
let _ = DeviceManager::new(server.clone()).await?;
|
let _ = DeviceManager::new(server.clone()).await?;
|
||||||
|
|
||||||
|
info!("DeviceManager initialized");
|
||||||
|
|
||||||
// Request dbus name after finishing initalizing all functions
|
// Request dbus name after finishing initalizing all functions
|
||||||
server.request_name(DBUS_NAME).await?;
|
server.request_name(DBUS_NAME).await?;
|
||||||
|
|
||||||
info!("Startup success, begining dbus server loop");
|
info!("Startup success on dbus name {DBUS_NAME}: begining dbus server loop");
|
||||||
loop {
|
loop {
|
||||||
// This is just a blocker to idle and ensure the reator reacts
|
// This is just a blocker to idle and ensure the reator reacts
|
||||||
server.executor().tick().await;
|
server.executor().tick().await;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle],
|
basic_modes: [Static, Breathe, RainbowCycle],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
layout_name: "fa507",
|
layout_name: "fa507",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
layout_name: "fx505d",
|
layout_name: "fx505d",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
layout_name: "fx505d",
|
layout_name: "fx505d",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -86,7 +86,16 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
|
power_zones: [Keyboard],
|
||||||
|
),
|
||||||
|
(
|
||||||
|
device_name: "FX607J",
|
||||||
|
product_id: "",
|
||||||
|
layout_name: "fa506i",
|
||||||
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
|
basic_zones: [],
|
||||||
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -95,7 +104,7 @@
|
|||||||
layout_name: "fa506i",
|
layout_name: "fa506i",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -104,16 +113,16 @@
|
|||||||
layout_name: "fx505d",
|
layout_name: "fx505d",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
device_name: "FX706H",
|
device_name: "FX706H",
|
||||||
product_id: "",
|
product_id: "",
|
||||||
layout_name: "fx505d",
|
layout_name: "fx505d",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle],
|
basic_modes: [Static, Breathe, RainbowCycle],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -122,7 +131,7 @@
|
|||||||
layout_name: "g512",
|
layout_name: "g512",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -140,7 +149,7 @@
|
|||||||
layout_name: "g513i",
|
layout_name: "g513i",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -185,7 +194,7 @@
|
|||||||
layout_name: "gx502",
|
layout_name: "gx502",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -194,7 +203,7 @@
|
|||||||
layout_name: "gx502",
|
layout_name: "gx502",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -239,7 +248,16 @@
|
|||||||
layout_name: "g634j-per-key",
|
layout_name: "g634j-per-key",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
|
power_zones: [Keyboard, Lightbar],
|
||||||
|
),
|
||||||
|
(
|
||||||
|
device_name: "G614JIR",
|
||||||
|
product_id: "",
|
||||||
|
layout_name: "g513i-per-key",
|
||||||
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
||||||
|
basic_zones: [],
|
||||||
|
advanced_type: PerKey,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -248,7 +266,7 @@
|
|||||||
layout_name: "g634j-per-key",
|
layout_name: "g634j-per-key",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -257,7 +275,7 @@
|
|||||||
layout_name: "g634j-per-key",
|
layout_name: "g634j-per-key",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -275,7 +293,7 @@
|
|||||||
layout_name: "gl503",
|
layout_name: "gl503",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -284,7 +302,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -293,7 +311,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -302,7 +320,7 @@
|
|||||||
layout_name: "gx502",
|
layout_name: "gx502",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -311,7 +329,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -320,7 +338,7 @@
|
|||||||
layout_name: "gx502",
|
layout_name: "gx502",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -329,7 +347,7 @@
|
|||||||
layout_name: "gx502",
|
layout_name: "gx502",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -365,7 +383,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -383,7 +401,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4, BarLeft, BarRight],
|
basic_zones: [Key1, Key2, Key3, Key4, BarLeft, BarRight],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard, Lightbar],
|
power_zones: [Keyboard, Lightbar],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -401,7 +419,7 @@
|
|||||||
layout_name: "g533q",
|
layout_name: "g533q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -410,7 +428,7 @@
|
|||||||
layout_name: "g533q",
|
layout_name: "g533q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -419,7 +437,7 @@
|
|||||||
layout_name: "g533q",
|
layout_name: "g533q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -482,7 +500,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -491,7 +509,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -500,7 +518,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -509,7 +527,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -518,7 +536,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -527,7 +545,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -536,7 +554,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -545,7 +563,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -554,7 +572,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -563,7 +581,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -572,7 +590,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -590,7 +608,7 @@
|
|||||||
layout_name: "gl503",
|
layout_name: "gl503",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -599,7 +617,7 @@
|
|||||||
layout_name: "gl503",
|
layout_name: "gl503",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -608,7 +626,7 @@
|
|||||||
layout_name: "gl503",
|
layout_name: "gl503",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4, Logo, BarLeft, BarRight],
|
basic_zones: [Key1, Key2, Key3, Key4, Logo, BarLeft, BarRight],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -626,7 +644,7 @@
|
|||||||
layout_name: "g533q",
|
layout_name: "g533q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -635,7 +653,7 @@
|
|||||||
layout_name: "gl503",
|
layout_name: "gl503",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -644,7 +662,7 @@
|
|||||||
layout_name: "fa507",
|
layout_name: "fa507",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -692,6 +710,15 @@
|
|||||||
advanced_type: Zoned([SingleZone]),
|
advanced_type: Zoned([SingleZone]),
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
device_name: "GU605C",
|
||||||
|
product_id: "",
|
||||||
|
layout_name: "ga401q",
|
||||||
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
|
basic_zones: [],
|
||||||
|
advanced_type: Zoned([SingleZone]),
|
||||||
|
power_zones: [Keyboard],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
device_name: "GU605M",
|
device_name: "GU605M",
|
||||||
product_id: "",
|
product_id: "",
|
||||||
@@ -707,7 +734,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -716,7 +743,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -725,7 +752,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -734,7 +761,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -752,7 +779,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -770,7 +797,7 @@
|
|||||||
layout_name: "gx531-per-key",
|
layout_name: "gx531-per-key",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [Key1, Key2, Key3, Key4],
|
basic_zones: [Key1, Key2, Key3, Key4],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -824,7 +851,7 @@
|
|||||||
layout_name: "gx531-per-key",
|
layout_name: "gx531-per-key",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -833,7 +860,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -842,7 +869,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -851,8 +878,8 @@
|
|||||||
layout_name: "",
|
layout_name: "",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [None],
|
power_zones: [r#None],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
device_name: "GZ301Z",
|
device_name: "GZ301Z",
|
||||||
@@ -860,7 +887,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, Pulse],
|
basic_modes: [Static, Breathe, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -869,7 +896,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Ally],
|
power_zones: [Ally],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
@@ -878,7 +905,7 @@
|
|||||||
layout_name: "ga401q",
|
layout_name: "ga401q",
|
||||||
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
basic_modes: [Static, Breathe, RainbowCycle, RainbowWave, Pulse],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: None,
|
advanced_type: r#None,
|
||||||
power_zones: [Ally],
|
power_zones: [Ally],
|
||||||
),
|
),
|
||||||
])
|
])
|
||||||
@@ -12,7 +12,7 @@ edition.workspace = true
|
|||||||
default = []
|
default = []
|
||||||
mocking = []
|
mocking = []
|
||||||
x11 = ["slint/backend-winit-x11"]
|
x11 = ["slint/backend-winit-x11"]
|
||||||
# Requires RUSTFLAGS="--cfg tokio_unstable"
|
# Optional tokio debug feature does not require nightly; remove RUSTFLAGS note.
|
||||||
tokio-debug = ["console-subscriber"]
|
tokio-debug = ["console-subscriber"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -116,26 +116,26 @@ pub fn start_notifications(
|
|||||||
|
|
||||||
if p == 0 && p != last_state {
|
if p == 0 && p != last_state {
|
||||||
let prog: Vec<&str> = bat.split_whitespace().collect();
|
let prog: Vec<&str> = bat.split_whitespace().collect();
|
||||||
if prog.len() > 1 {
|
if (!prog.is_empty()) && (!prog[0].is_empty()) {
|
||||||
let mut cmd = Command::new(prog[0]);
|
let mut cmd = Command::new(prog[0]);
|
||||||
|
|
||||||
for arg in prog.iter().skip(1) {
|
for arg in prog.iter().skip(1) {
|
||||||
cmd.arg(*arg);
|
cmd.arg(*arg);
|
||||||
}
|
}
|
||||||
cmd.spawn()
|
cmd.spawn()
|
||||||
.map_err(|e| error!("AC command error: {e:?}"))
|
.map_err(|e| error!("Battery power command error: {e:?}"))
|
||||||
.ok();
|
.ok();
|
||||||
}
|
}
|
||||||
} else if p != last_state {
|
} else if p != last_state {
|
||||||
let prog: Vec<&str> = ac.split_whitespace().collect();
|
let prog: Vec<&str> = ac.split_whitespace().collect();
|
||||||
if prog.len() > 1 {
|
if (!prog.is_empty()) && (!prog[0].is_empty()) {
|
||||||
let mut cmd = Command::new(prog[0]);
|
let mut cmd = Command::new(prog[0]);
|
||||||
|
|
||||||
for arg in prog.iter().skip(1) {
|
for arg in prog.iter().skip(1) {
|
||||||
cmd.arg(*arg);
|
cmd.arg(*arg);
|
||||||
}
|
}
|
||||||
cmd.spawn()
|
cmd.spawn()
|
||||||
.map_err(|e| error!("AC command error: {e:?}"))
|
.map_err(|e| error!("AC power command error: {e:?}"))
|
||||||
.ok();
|
.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ pub fn setup_system_page(ui: &MainWindow, _config: Arc<Mutex<Config>>) {
|
|||||||
ui.global::<SystemPageData>().set_platform_profile(-1);
|
ui.global::<SystemPageData>().set_platform_profile(-1);
|
||||||
ui.global::<SystemPageData>().set_panel_overdrive(-1);
|
ui.global::<SystemPageData>().set_panel_overdrive(-1);
|
||||||
ui.global::<SystemPageData>().set_boot_sound(-1);
|
ui.global::<SystemPageData>().set_boot_sound(-1);
|
||||||
|
ui.global::<SystemPageData>().set_screen_auto_brightness(-1);
|
||||||
|
ui.global::<SystemPageData>().set_mcu_powersave(-1);
|
||||||
ui.global::<SystemPageData>().set_mini_led_mode(-1);
|
ui.global::<SystemPageData>().set_mini_led_mode(-1);
|
||||||
ui.global::<SystemPageData>().set_screenpad_brightness(-1);
|
ui.global::<SystemPageData>().set_screenpad_brightness(-1);
|
||||||
ui.global::<SystemPageData>().set_ppt_pl1_spl(MINMAX);
|
ui.global::<SystemPageData>().set_ppt_pl1_spl(MINMAX);
|
||||||
@@ -308,6 +310,7 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
|
|
||||||
let platform_copy = platform.clone();
|
let platform_copy = platform.clone();
|
||||||
if let Ok(mut value) = platform.platform_profile_choices().await {
|
if let Ok(mut value) = platform.platform_profile_choices().await {
|
||||||
|
debug!("Available platform profile choices: {:?}", value);
|
||||||
handle
|
handle
|
||||||
.upgrade_in_event_loop(move |handle| {
|
.upgrade_in_event_loop(move |handle| {
|
||||||
value.sort();
|
value.sort();
|
||||||
@@ -519,7 +522,7 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
set_ui_callbacks!(handle,
|
set_ui_callbacks!(handle,
|
||||||
SystemPageData(as i32),
|
SystemPageData(as i32),
|
||||||
platform_copy.platform_profile_on_battery(.into()),
|
platform_copy.platform_profile_on_battery(.into()),
|
||||||
"Throttle policy on abttery set to {}",
|
"Throttle policy on battery set to {}",
|
||||||
"Setting Throttle policy on battery failed"
|
"Setting Throttle policy on battery failed"
|
||||||
);
|
);
|
||||||
set_ui_callbacks!(handle,
|
set_ui_callbacks!(handle,
|
||||||
@@ -666,7 +669,16 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
setup_callback!(boot_sound, handle, attr, i32);
|
setup_callback!(boot_sound, handle, attr, i32);
|
||||||
setup_external!(boot_sound, i32, handle, attr, value)
|
setup_external!(boot_sound, i32, handle, attr, value)
|
||||||
}
|
}
|
||||||
FirmwareAttribute::McuPowersave => {}
|
FirmwareAttribute::ScreenAutoBrightness => {
|
||||||
|
init_property!(screen_auto_brightness, handle, value, i32);
|
||||||
|
setup_callback!(screen_auto_brightness, handle, attr, i32);
|
||||||
|
setup_external!(screen_auto_brightness, i32, handle, attr, value)
|
||||||
|
}
|
||||||
|
FirmwareAttribute::McuPowersave => {
|
||||||
|
init_property!(mcu_powersave, handle, value, i32);
|
||||||
|
setup_callback!(mcu_powersave, handle, attr, i32);
|
||||||
|
setup_external!(mcu_powersave, i32, handle, attr, value)
|
||||||
|
}
|
||||||
FirmwareAttribute::PanelOverdrive => {
|
FirmwareAttribute::PanelOverdrive => {
|
||||||
init_property!(panel_overdrive, handle, value, i32);
|
init_property!(panel_overdrive, handle, value, i32);
|
||||||
setup_callback!(panel_overdrive, handle, attr, i32);
|
setup_callback!(panel_overdrive, handle, attr, i32);
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ export global SystemPageData {
|
|||||||
callback cb_panel_overdrive(int);
|
callback cb_panel_overdrive(int);
|
||||||
in-out property <int> boot_sound;
|
in-out property <int> boot_sound;
|
||||||
callback cb_boot_sound(int);
|
callback cb_boot_sound(int);
|
||||||
|
in-out property <int> screen_auto_brightness;
|
||||||
|
callback cb_screen_auto_brightness(int);
|
||||||
|
in-out property <int> mcu_powersave;
|
||||||
|
callback cb_mcu_powersave(int);
|
||||||
in-out property <int> mini_led_mode;
|
in-out property <int> mini_led_mode;
|
||||||
callback cb_mini_led_mode(int);
|
callback cb_mini_led_mode(int);
|
||||||
|
|
||||||
@@ -300,6 +304,22 @@ export component PageSystem inherits Rectangle {
|
|||||||
SystemPageData.cb_boot_sound(SystemPageData.boot_sound)
|
SystemPageData.cb_boot_sound(SystemPageData.boot_sound)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if SystemPageData.screen_auto_brightness != -1: SystemToggleInt {
|
||||||
|
text: @tr("Screen Auto Brightness");
|
||||||
|
checked_int <=> SystemPageData.screen_auto_brightness;
|
||||||
|
toggled => {
|
||||||
|
SystemPageData.cb_screen_auto_brightness(SystemPageData.screen_auto_brightness)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if SystemPageData.mcu_powersave != -1: SystemToggleInt {
|
||||||
|
text: @tr("MCU Powersave");
|
||||||
|
checked_int <=> SystemPageData.mcu_powersave;
|
||||||
|
toggled => {
|
||||||
|
SystemPageData.cb_mcu_powersave(SystemPageData.mcu_powersave)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SystemPageData.ppt_pl1_spl.max > 0 && SystemPageData.ppt_pl1_spl.current != -1) || (SystemPageData.ppt_pl2_sppt.max > 0 && SystemPageData.ppt_pl2_sppt.current != -1) || (SystemPageData.ppt_pl3_fppt.max > 0 && SystemPageData.ppt_pl3_fppt.current != -1) || (SystemPageData.ppt_fppt.max > 0 && SystemPageData.ppt_fppt.current != -1) || (SystemPageData.ppt_apu_sppt.max > 0 && SystemPageData.ppt_apu_sppt.current != -1) || (SystemPageData.nv_temp_target.max > 0 && SystemPageData.nv_temp_target.current != -1) || (SystemPageData.nv_dynamic_boost.max > 0 && SystemPageData.nv_dynamic_boost.current != -1): HorizontalLayout {
|
if (SystemPageData.ppt_pl1_spl.max > 0 && SystemPageData.ppt_pl1_spl.current != -1) || (SystemPageData.ppt_pl2_sppt.max > 0 && SystemPageData.ppt_pl2_sppt.current != -1) || (SystemPageData.ppt_pl3_fppt.max > 0 && SystemPageData.ppt_pl3_fppt.current != -1) || (SystemPageData.ppt_fppt.max > 0 && SystemPageData.ppt_fppt.current != -1) || (SystemPageData.ppt_apu_sppt.max > 0 && SystemPageData.ppt_apu_sppt.current != -1) || (SystemPageData.nv_temp_target.max > 0 && SystemPageData.nv_temp_target.current != -1) || (SystemPageData.nv_dynamic_boost.max > 0 && SystemPageData.nv_dynamic_boost.current != -1): HorizontalLayout {
|
||||||
|
|||||||
@@ -272,10 +272,29 @@ macro_rules! define_attribute_getters {
|
|||||||
}
|
}
|
||||||
|
|
||||||
define_attribute_getters!(
|
define_attribute_getters!(
|
||||||
apu_mem, cores_performance, cores_efficiency, ppt_pl1_spl, ppt_pl2_sppt, ppt_apu_sppt,
|
apu_mem,
|
||||||
ppt_platform_sppt, ppt_fppt, nv_dynamic_boost, nv_temp_target, dgpu_base_tgp, dgpu_tgp,
|
cores_performance,
|
||||||
charge_mode, boot_sound, mcu_powersave, panel_od, panel_hd_mode, egpu_connected, egpu_enable,
|
cores_efficiency,
|
||||||
dgpu_disable, gpu_mux_mode, mini_led_mode
|
ppt_pl1_spl,
|
||||||
|
ppt_pl2_sppt,
|
||||||
|
ppt_apu_sppt,
|
||||||
|
ppt_platform_sppt,
|
||||||
|
ppt_fppt,
|
||||||
|
nv_dynamic_boost,
|
||||||
|
nv_temp_target,
|
||||||
|
dgpu_base_tgp,
|
||||||
|
dgpu_tgp,
|
||||||
|
charge_mode,
|
||||||
|
boot_sound,
|
||||||
|
mcu_powersave,
|
||||||
|
panel_od,
|
||||||
|
panel_hd_mode,
|
||||||
|
egpu_connected,
|
||||||
|
egpu_enable,
|
||||||
|
dgpu_disable,
|
||||||
|
gpu_mux_mode,
|
||||||
|
mini_led_mode,
|
||||||
|
screen_auto_brightness
|
||||||
);
|
);
|
||||||
|
|
||||||
/// CamelCase names of the properties. Intended for use with DBUS
|
/// CamelCase names of the properties. Intended for use with DBUS
|
||||||
@@ -322,6 +341,7 @@ pub enum FirmwareAttribute {
|
|||||||
PendingReboot = 23,
|
PendingReboot = 23,
|
||||||
PptEnabled = 24,
|
PptEnabled = 24,
|
||||||
None = 25,
|
None = 25,
|
||||||
|
ScreenAutoBrightness = 26,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FirmwareAttribute {
|
impl FirmwareAttribute {
|
||||||
@@ -375,6 +395,7 @@ impl From<&str> for FirmwareAttribute {
|
|||||||
"gpu_mux_mode" => Self::GpuMuxMode,
|
"gpu_mux_mode" => Self::GpuMuxMode,
|
||||||
"mini_led_mode" => Self::MiniLedMode,
|
"mini_led_mode" => Self::MiniLedMode,
|
||||||
"pending_reboot" => Self::PendingReboot,
|
"pending_reboot" => Self::PendingReboot,
|
||||||
|
"screen_auto_brightness" => Self::ScreenAutoBrightness,
|
||||||
_ => {
|
_ => {
|
||||||
error!("Invalid firmware attribute: {}", s);
|
error!("Invalid firmware attribute: {}", s);
|
||||||
Self::None
|
Self::None
|
||||||
@@ -411,6 +432,7 @@ impl From<FirmwareAttribute> for &str {
|
|||||||
FirmwareAttribute::GpuMuxMode => "gpu_mux_mode",
|
FirmwareAttribute::GpuMuxMode => "gpu_mux_mode",
|
||||||
FirmwareAttribute::MiniLedMode => "mini_led_mode",
|
FirmwareAttribute::MiniLedMode => "mini_led_mode",
|
||||||
FirmwareAttribute::PendingReboot => "pending_reboot",
|
FirmwareAttribute::PendingReboot => "pending_reboot",
|
||||||
|
FirmwareAttribute::ScreenAutoBrightness => "screen_auto_brightness",
|
||||||
FirmwareAttribute::None => "none",
|
FirmwareAttribute::None => "none",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user