mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-01-22 17:33:19 +01:00
rcc: instant apply keyboard settings
This commit is contained in:
@@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
## [v4.7.0-RC1]
|
||||||
### Added
|
### Added
|
||||||
- Support for FX507Z LED modes
|
- Support for FX507Z LED modes
|
||||||
- Support for GL503V LED modes
|
- Support for GL503V LED modes
|
||||||
@@ -28,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Remove notification handle tracking limit, fixes KDE issue with profile notif
|
- Remove notification handle tracking limit, fixes KDE issue with profile notif
|
||||||
- Rename daemon and daemon-user crates to asusd and asusd-user to not be confusing in workspace naming
|
- Rename daemon and daemon-user crates to asusd and asusd-user to not be confusing in workspace naming
|
||||||
- Prevent the multiple notifications from a profile change from occuring (too many functions with side effects!)
|
- Prevent the multiple notifications from a profile change from occuring (too many functions with side effects!)
|
||||||
|
- Apply keyboard brightness when setting a mode
|
||||||
- Update GL503 led config
|
- Update GL503 led config
|
||||||
### BREAKING
|
### BREAKING
|
||||||
- All Anime related DBUS methods/notifs are changed
|
- All Anime related DBUS methods/notifs are changed
|
||||||
|
|||||||
22
Cargo.lock
generated
22
Cargo.lock
generated
@@ -175,7 +175,7 @@ checksum = "8868f09ff8cea88b079da74ae569d9b8c62a23c68c746240b704ee6f7525c89c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "asusctl"
|
name = "asusctl"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"asusd",
|
"asusd",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -194,7 +194,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "asusd"
|
name = "asusd"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -218,7 +218,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "asusd-user"
|
name = "asusd-user"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"config-traits",
|
"config-traits",
|
||||||
@@ -728,7 +728,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "config-traits"
|
name = "config-traits"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"log",
|
"log",
|
||||||
@@ -2558,7 +2558,7 @@ checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog-control-center"
|
name = "rog-control-center"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"asusd",
|
"asusd",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -2591,7 +2591,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_anime"
|
name = "rog_anime"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"gif",
|
"gif",
|
||||||
@@ -2607,7 +2607,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_aura"
|
name = "rog_aura"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"log",
|
"log",
|
||||||
@@ -2620,7 +2620,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_dbus"
|
name = "rog_dbus"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"rog_anime",
|
"rog_anime",
|
||||||
@@ -2632,7 +2632,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_platform"
|
name = "rog_platform"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"concat-idents",
|
"concat-idents",
|
||||||
@@ -2649,7 +2649,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_profiles"
|
name = "rog_profiles"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -2660,7 +2660,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_simulators"
|
name = "rog_simulators"
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glam",
|
"glam",
|
||||||
"log",
|
"log",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ members = ["asusctl", "asusd", "asusd-user", "config-traits", "rog-platform", "r
|
|||||||
default-members = ["asusctl", "asusd", "asusd-user", "rog-control-center"]
|
default-members = ["asusctl", "asusd", "asusd-user", "rog-control-center"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "4.6.2"
|
version = "4.7.0-RC1"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
async-trait = "^0.1"
|
async-trait = "^0.1"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use egui::{RichText, Ui};
|
|||||||
use rog_aura::layouts::KeyLayout;
|
use rog_aura::layouts::KeyLayout;
|
||||||
use rog_aura::{AuraEffect, AuraModeNum, AuraZone, Colour, Speed};
|
use rog_aura::{AuraEffect, AuraModeNum, AuraZone, Colour, Speed};
|
||||||
|
|
||||||
use crate::system_state::{AuraState, SystemState};
|
use crate::system_state::SystemState;
|
||||||
|
|
||||||
pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui: &mut Ui) {
|
pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui: &mut Ui) {
|
||||||
let mut changed = false;
|
let mut changed = false;
|
||||||
@@ -59,7 +59,7 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
|
|||||||
let mut zone_button = |a: AuraZone, ui: &mut Ui| {
|
let mut zone_button = |a: AuraZone, ui: &mut Ui| {
|
||||||
ui.selectable_value(&mut effect.zone, a, format!("{:?}", a));
|
ui.selectable_value(&mut effect.zone, a, format!("{:?}", a));
|
||||||
};
|
};
|
||||||
let mut speed_button = |a: Speed, ui: &mut Ui| {
|
let mut speed_button = |a: Speed, ui: &mut Ui| -> bool {
|
||||||
if ui
|
if ui
|
||||||
.selectable_value(&mut effect.speed, a, format!("{:?}", a))
|
.selectable_value(&mut effect.speed, a, format!("{:?}", a))
|
||||||
.clicked()
|
.clicked()
|
||||||
@@ -70,10 +70,13 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
|
|||||||
Speed::High => 10,
|
Speed::High => 10,
|
||||||
};
|
};
|
||||||
freq.store(val, Ordering::SeqCst);
|
freq.store(val, Ordering::SeqCst);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
false
|
||||||
};
|
};
|
||||||
let mut dir_button = |a: rog_aura::Direction, ui: &mut Ui| {
|
let mut dir_button = |a: rog_aura::Direction, ui: &mut Ui| -> bool {
|
||||||
ui.selectable_value(&mut effect.direction, a, format!("{:?}", a));
|
ui.selectable_value(&mut effect.direction, a, format!("{:?}", a))
|
||||||
|
.clicked()
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut c1: [u8; 3] = effect.colour1.into();
|
let mut c1: [u8; 3] = effect.colour1.into();
|
||||||
@@ -139,26 +142,37 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
|
|||||||
});
|
});
|
||||||
|
|
||||||
ui.add_enabled_ui(allowed.colour1, |ui| {
|
ui.add_enabled_ui(allowed.colour1, |ui| {
|
||||||
egui::color_picker::color_edit_button_srgb(ui, &mut c1)
|
if egui::color_picker::color_edit_button_srgb(ui, &mut c1).changed() {
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ui.add_enabled_ui(allowed.colour2, |ui| {
|
ui.add_enabled_ui(allowed.colour2, |ui| {
|
||||||
egui::color_picker::color_edit_button_srgb(ui, &mut c2)
|
if egui::color_picker::color_edit_button_srgb(ui, &mut c2).changed() {
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ui.add_enabled_ui(allowed.speed, |ui| {
|
ui.add_enabled_ui(allowed.speed, |ui| {
|
||||||
ui.horizontal_wrapped(|ui| {
|
ui.horizontal_wrapped(|ui| {
|
||||||
speed_button(Speed::Low, ui);
|
if speed_button(Speed::Low, ui)
|
||||||
speed_button(Speed::Med, ui);
|
|| speed_button(Speed::Med, ui)
|
||||||
speed_button(Speed::High, ui);
|
|| speed_button(Speed::High, ui)
|
||||||
|
{
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
ui.add_enabled_ui(allowed.direction, |ui| {
|
ui.add_enabled_ui(allowed.direction, |ui| {
|
||||||
ui.horizontal_wrapped(|ui| {
|
ui.horizontal_wrapped(|ui| {
|
||||||
dir_button(rog_aura::Direction::Left, ui);
|
if dir_button(rog_aura::Direction::Left, ui)
|
||||||
dir_button(rog_aura::Direction::Down, ui);
|
|| dir_button(rog_aura::Direction::Down, ui)
|
||||||
dir_button(rog_aura::Direction::Right, ui);
|
|| dir_button(rog_aura::Direction::Right, ui)
|
||||||
dir_button(rog_aura::Direction::Up, ui);
|
|| dir_button(rog_aura::Direction::Up, ui)
|
||||||
|
{
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -170,16 +184,16 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
|
|||||||
|
|
||||||
ui.separator();
|
ui.separator();
|
||||||
ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| {
|
ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| {
|
||||||
if ui.add(egui::Button::new("Cancel")).clicked() {
|
// if ui.add(egui::Button::new("Cancel")).clicked() {
|
||||||
match AuraState::new(&aura_creation.keyboard_layout, &states.asus_dbus) {
|
// match AuraState::new(&aura_creation.keyboard_layout, &states.asus_dbus) {
|
||||||
Ok(a) => states.aura.modes = a.modes,
|
// Ok(a) => states.aura.modes = a.modes,
|
||||||
Err(e) => states.error = Some(e.to_string()),
|
// Err(e) => states.error = Some(e.to_string()),
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ui.add(egui::Button::new("Apply")).clicked() {
|
// if ui.add(egui::Button::new("Apply")).clicked() {
|
||||||
changed = true;
|
// changed = true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if aura_creation.layout_testing.is_some() {
|
if aura_creation.layout_testing.is_some() {
|
||||||
if ui.add(egui::Button::new("Next layout")).clicked() {
|
if ui.add(egui::Button::new("Next layout")).clicked() {
|
||||||
@@ -208,21 +222,6 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// egui::TopBottomPanel::bottom("error_bar")
|
|
||||||
// .default_height(26.0)
|
|
||||||
// .show(ctx, |ui| {
|
|
||||||
// ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| {
|
|
||||||
// if ui.add(egui::Button::new("Cancel")).clicked() {
|
|
||||||
// let notif = states.aura.was_notified.clone();
|
|
||||||
// states.aura.modes = AuraState::new(notif, supported,
|
|
||||||
// dbus).modes; }
|
|
||||||
|
|
||||||
// if ui.add(egui::Button::new("Apply")).clicked() {
|
|
||||||
// changed = true;
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
if changed {
|
if changed {
|
||||||
states.aura.current_mode = selected;
|
states.aura.current_mode = selected;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user