| Crates.io | azizo-core |
| lib.rs | azizo-core |
| version | 0.1.0 |
| created_at | 2026-01-12 10:55:33.107785+00 |
| updated_at | 2026-01-12 10:55:33.107785+00 |
| description | Unofficial Rust API for ASUS Splendid display control |
| homepage | https://github.com/abd0-omar/azizo |
| repository | https://github.com/abd0-omar/azizo |
| max_upload_size | |
| id | 2037470 |
| size | 62,660 |
Unofficial Rust API for ASUS Splendid display control on Windows.
This is an unofficial library. It is not affiliated with or endorsed by ASUS. Use at your own risk.
use azizo_core::{AsusController, DisplayController, NormalMode, EyeCareMode};
fn main() -> Result<(), azizo_core::ControllerError> {
// Create the controller (only one instance allowed)
let controller = AsusController::new()?;
// Sync state from hardware
controller.sync_all_sliders()?;
// Get current state
let state = controller.get_state();
println!("Current dimming: {}%", AsusController::dimming_to_percent(state.dimming));
// Set a mode
controller.set_mode(&NormalMode::new())?;
// Set eye care mode with level 2
controller.set_mode(&EyeCareMode::new(2)?)?;
// Toggle e-reading mode
controller.toggle_e_reading()?;
// Adjust dimming (0-100%)
controller.set_dimming_percent(75)?;
Ok(())
}
| Mode | Description | Parameters |
|---|---|---|
NormalMode |
Default color profile | None |
VividMode |
Enhanced colors | None |
ManualMode |
User-adjustable color temperature | value: 0-100 |
EyeCareMode |
Blue light filter | level: 0-4 |
EReadingMode |
Grayscale for reading | grayscale: 0-4, temp |
Use MockController to test without hardware:
use azizo_core::{MockController, DisplayController, NormalMode};
let mock = MockController::new();
mock.set_mode(&NormalMode::new()).unwrap();
assert_eq!(mock.get_state().mode_id, 1);
Run the toggle example:
cargo run --example toggle_ereading
AsusControllernew() - Create a new controller (only one instance allowed)get_state() - Get a snapshot of current stateset_mode(&mode) - Set a display modetoggle_e_reading() - Toggle e-reading mode on/offset_dimming(level) - Set dimming (40-100 splendid units)set_dimming_percent(percent) - Set dimming (0-100%)sync_all_sliders() - Sync all values from hardwarerefresh_sliders() - Refresh slider valuesControllerStateSnapshot struct containing:
mode_id - Current mode (1=Normal, 2=Vivid, 6=Manual, 7=EyeCare)is_monochrome - Whether e-reading mode is activedimming - Dimming level (40-100)manual_slider - Manual mode value (0-100)eyecare_level - Eye care level (0-4)ereading_grayscale - E-reading grayscale (0-4)ereading_temp - E-reading temperatureLicensed under either of:
at your option.