From 087a0658fda546fa52abd90fc8eb8a9b9b2c9111 Mon Sep 17 00:00:00 2001 From: Triston Armstrong Date: Fri, 11 Aug 2023 13:40:05 -0500 Subject: [PATCH] init repo and add code --- .gitignore | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 8 ++++++++ src/main.rs | 25 +++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 src/main.rs 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") +}