commit 087a0658fda546fa52abd90fc8eb8a9b9b2c9111 Author: Triston Armstrong Date: Fri Aug 11 13:40:05 2023 -0500 init repo and add code diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..d553f48 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "kbd-bl" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..0198ff8 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "kbd-bl" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..7028d69 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,25 @@ +use std::env; +use std::fs; + +fn main() { + let args: Vec = env::args().collect(); + let value = &args[1]; + let parsed = value.trim().parse::(); + + if parsed.is_err() { + panic!("Value entered ({}) is not number", value); + } + + let parsed_value = parsed.unwrap(); + + if parsed_value > 255 { + panic!("value entered ({}) must be <= 255", value); + } + + if parsed_value < 0 { + panic!("value entered ({}) must be >= 0", value); + } + + fs::write("/sys/class/leds/kbd_backlight/brightness", value) + .expect("Something went wrong writing to file") +}