6 stable releases
1.1.0 | Sep 6, 2023 |
---|---|
1.0.4 | Sep 5, 2023 |
1.0.2 | Oct 2, 2022 |
1.0.1 | Sep 25, 2022 |
#955 in Hardware support
20KB
406 lines
msi-klc
A tool/library that allows you to control the backlight of your MSI SteelSeries laptop keyboard.
Supports 3 regions, 8 predefined colors, RGB colors, and custom animations (CLI only).
Tested Devices
Linux
- MSI GE60 2PE
Installation
Compiling
- Requirements
- Rust (cargo)
- hidapi
Note: This project uses the libusb backend of hidapi as there are issues when using hidraw.
Manual compilation
git clone https://github.com/ErrorNoInternet/msi-klc
cd msi-klc
cargo build --release
sudo cp target/release/msi-klc /usr/local/bin
Using cargo
cargo install msi-klc
Usage
Make sure to run with root privileges (sudo) if you don't have the appropriate udev rules.
CLI
# make the entire keyboard blue
msi-klc set --color blue
# make the left side of the keyboard red
msi-klc set --color red --region left
# turn off all the LEDs on the keyboard
msi-klc off
# ...and turn them back on
msi-klc reset
# make the keyboard cyan
msi-klc set --color "#0fffaf" --mode rgb
# make only the left side cyan
msi-klc off && msi-klc set --color "#0fffaf" --mode rgb --region left
# load an animation
msi-klc load animations/breathe.txt
Library
use msi_klc::*;
fn main() {
let mut keyboard = Keyboard::new().unwrap();
// make the keyboard blue
keyboard
.set_color(&KeyboardLightData::new(
&Region::All,
&Color::Blue,
&Brightness::Medium,
))
.unwrap();
keyboard
.set_mode(&KeyboardModeData::new(&Mode::Normal))
.unwrap();
// set a custom RGB color on the right side of the keyboard
keyboard
.set_rgb_color(&KeyboardRGBLightData::new(
&Region::Right,
&(255, 80, 80),
))
.unwrap();
}
Dependencies
~2–12MB
~78K SLoC