#msi #keyboard #light #manager #klm

bin+lib msi_klm

MSI keyboard light manager library and utility

10 releases

Uses old Rust 2015

0.3.0 Nov 21, 2016
0.2.2 Nov 21, 2016
0.2.0 Jul 13, 2016
0.1.6 Jan 22, 2016
0.1.4 Aug 14, 2015

#4 in #msi

Download history 2/week @ 2022-11-14 2/week @ 2022-11-28 14/week @ 2022-12-05 1/week @ 2022-12-12 4/week @ 2022-12-26 1/week @ 2023-01-02 1/week @ 2023-01-16 5/week @ 2023-01-23 8/week @ 2023-01-30 10/week @ 2023-02-06 27/week @ 2023-02-13 21/week @ 2023-02-20 1/week @ 2023-02-27

59 downloads per month


182 lines

msi_klm Crates.io Build Status

This crate provides access to the keyboard lights of MSI notebooks with Steel Series gaming keyboards. It is cross platform and compatible with windows and linux. The goal of this project is the creation of a GUI and a command line application. These should be able to replace the Steel Series Engine 3 on windows, and also provide control over keyboard lights for linux users.

This crate is a work in progress, because there are missing features in the API. The API is feature complete, when the functionality is comparable to the Steel Series Engine 3.

Command line utility installation and usage

There is an early version of the command line utility included in this project. To run it you have to install it first. The installation process is only described for linux, because windows needs some work to improve the process.

Installation on Linux

Install and configure USB assess to keyboard controller

First install the libusb library with your system package manager:

  • Ubuntu: libusb-1.0-0-dev
  • Arch Linux: libusb

Then you have to give all users on the system access to the MSI-EPF USB node. That is done by copying the etc/90-msi-epf.rules file, which is included in the project onto your system. The path where it should go on your system is /etc/udev/rules.d/90-msi-epf.rules. After copying is finished, you have to tell udev to reload its rules with the command udevadm control --reload-rules, or just restart your computer.

Install required compilers and tools

The next step is the installation of the rust compiler suite, and its included build tool. To do that head over to https://www.rust-lang.org/install.html and follow the instructions. I recommend the current stable version.

Also the GNU C compiler is required on the system, to build the application. Install it with your systems package manager. The package is probably called gcc.

Last software, which is required is git. Also install it with your systems package manager.

Download and compilation

Clone the repository onto your local machine, by typing in the command git clone https://github.com/ruabmbua/msi_klm.git. Change into the new created folder and run cargo build --release. This should build the library and command line utility with all its dependencies, and leave a statically linked binary at target/release/msi_klm. Copy that to /usr/local/bin/msi_klm, and the installation is finished. For the last copy operation super user rights are required.


After the command line utility is installed on your system, calling msi_klm --help in your command line should help you with using the program.

Just an example on how to set the right part of your keyboard to fully red: msi_klm --right ff0000 --mode ON


~11K SLoC