mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 09:23:19 +01:00
70 lines
1.9 KiB
Rust
70 lines
1.9 KiB
Rust
//! Using a combination of key-colour array plus a key layout to generate
|
|
//! outputs.
|
|
|
|
use rog_aura::effects::{AdvancedEffects, Effect};
|
|
use rog_aura::keyboard::{KeyLayout, LedCode};
|
|
use rog_aura::Colour;
|
|
use rog_dbus::zbus_aura::AuraProxyBlocking;
|
|
use zbus::blocking::Connection;
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
let layout = KeyLayout::default_layout();
|
|
|
|
let conn = Connection::system().unwrap();
|
|
let proxy = AuraProxyBlocking::new(&conn).unwrap();
|
|
|
|
let mut seq = AdvancedEffects::new(true);
|
|
|
|
// let zone = Effect::Breathe(rog_aura::effects::Breathe::new(
|
|
// RgbAddress::Single,
|
|
// Colour(166, 127, 166),
|
|
// Colour(127, 155, 20),
|
|
// rog_aura::Speed::High,
|
|
// ));
|
|
// seq.push(zone);
|
|
|
|
// let zone = Effect::DoomLightFlash(rog_aura::effects::DoomLightFlash::new(
|
|
// RgbAddress::Single,
|
|
// Colour(200, 0, 0),
|
|
// 80,
|
|
// 10,
|
|
// ));
|
|
// seq.push(zone);
|
|
|
|
let zone = Effect::DoomFlicker(rog_aura::effects::DoomFlicker::new(
|
|
LedCode::SingleZone,
|
|
Colour {
|
|
r: 200,
|
|
g: 110,
|
|
b: 0,
|
|
},
|
|
100,
|
|
10,
|
|
));
|
|
seq.push(zone);
|
|
|
|
// let zone = Effect::Breathe(rog_aura::effects::Breathe::new(
|
|
// RgbAddress::KeyboardCenterLeft,
|
|
// Colour(16, 127, 255),
|
|
// Colour(127, 15, 20),
|
|
// rog_aura::Speed::Low,
|
|
// ));
|
|
// seq.push(zone);
|
|
|
|
// let zone = Effect::Breathe(rog_aura::effects::Breathe::new(
|
|
// RgbAddress::LightbarRightCorner,
|
|
// Colour(0, 255, 255),
|
|
// Colour(255, 0, 255),
|
|
// rog_aura::Speed::Med,
|
|
// ));
|
|
// seq.push(zone);
|
|
|
|
loop {
|
|
seq.next_state(&layout);
|
|
let packets = seq.create_packets();
|
|
|
|
proxy.direct_addressing_raw(packets)?;
|
|
std::thread::sleep(std::time::Duration::from_millis(33));
|
|
}
|
|
}
|