Jump to content

MSI LED Controller - Linux - Windows - Mac | MSI KLM alternative


Recommended Posts

Hello all,

A developer recently created a node.js project to control the MSI Steelseries Keyboards with javascript.

Since it uses node.js it should be cross OS (windows, mac, linux).

The github repo is here: https://github.com/wearefractal/msi-keyboard

I installed and am successfully controlling my keyboard in Linux Mint 15 64bit :)




Here are the instructions: (Linux or mac, windows is similar)

Make a folder called msi-klm (or similar)

now use a text editor to create two files inside the folder. package.json and server.js

in package.json put this minimal code:

{    "name": "led-manager",
"dependencies": {

Save the file.

Open the folder in a terminal and run this command:

npm install

That will install the needed module.

Edit server.js

Put this (minimal) code:

var keyboard = require('msi-keyboard');

keyboard.color('left',{color: 'red', intensity: 'med'});
keyboard.color('middle',{color: 'blue', intensity: 'med'});
keyboard.color('right',{color: 'green', intensity: 'med'});

Save the file.

Refer to https://github.com/wearefractal/msi-keyboard for the many other options.

Use the same terminal to run:

sudo node server.js

(on linux or *nix. Open the terminal as Admin in windows)

Your keyboard should be now lit up!


  • Thumbs Up 2
Link to comment
Share on other sites

This is excellent. What a great thought.

Is there any overhead? what kind of system resource usage vs the MSI KLM ?

I noticed that in windows 7 the official KLM was using 20k of memory.

This alternative is quite different. It only runs Once when you change a color, pattern, etc. making it much more efficient. (Running once means that as soon as the javascript changes the color it finishes and ends, like javascript on a browser)

Since it uses the node v8 runtime engine, it uses so little memory that when I ran the top command in linux, the ram percentage used on start of the program was 0.0% :D


Link to comment
Share on other sites

  • 2 months later...

I have no idea what I am doing wrong. Build went fine. Followed instructions to the T. When I ran the last command, got this:demented msi-klm # node server.js

Went back to terminal and nothing happened. Keyboard stayed the default color of blue. Any ideas? Here's a pastee of everything I did: MSi LED manager forLinux - Pastebin.com


Link to comment
Share on other sites

  • 1 month later...

This works on a GT-70 under Ubuntu 12.04.4 64 bit. The only trouble I had was getting the correct version of npm and node.js. I had to use the chris-lea repository


apt-get update

apt-get install -y python-software-properties python g++ make

add-apt-repository ppa:chris-lea/node.js

apt-get update

apt-get install nodejs

After that, following the instructions above, I have a lighted keybord.

Next project, getting it to work on startup

Thanks TechLab

Link to comment
Share on other sites

  • 2 weeks later...

Ah, the joy of Arch Linux - I installed node.js via the easy method of "pacman -S node.js"

I have the keyboard automatically colorize on startup via a bash script and xinitrc, but you could do the same with Gnome or KDE Autostart commands.

I also found a Plasma widget text launcher to launch any bash script. As a result, I made 7 different profiles for the keyboard using such scripts. One for off, white, green red, red-hot (intensity to the max), rainbow - Red Green Blue, rainbow2 - Red Yellow Blue. Here's my post on G+ showing what it looks like on my desktop: https://plus.google.com/+JeffHatfield/posts/7PgHE4SVdaP

Now that I think about it, I could link the bash scripts to the QuickLauncher widget and use custom color icons to indicate which keyboard theme I wanted...

I would like to get keyboard mapping much like the Sager laptops have so that I could use my Fn key to cycle through the colors, but have not discovered how to do that yet. My system also has the softkey for eject and I'd like to get that working, but I resorted to mapping it into the text widget using the ">" symbol to indicate eject.


Link to comment
Share on other sites

  • 5 months later...
  • 4 months later...

Hello, I'm working on getting this to work with my MSI - GE60 2PE Apache Pro.

I'm running CentOS 7 on my machine.

So far, I've had to install a couple of extra packages.



The follow I'm unsure if they were needed or not.

libusb-devel.x86_64 // running npm install with just this gave me a error, missing an libusb.h

hidapi-devel.x86_64 // installed this as well because libusb-devel.x86_64 was not adequate.

Will update more as I progress.

Link to comment
Share on other sites

  • 2 weeks later...
I cannot get past the npm install. I keep getting an error saying something is wrong with node-hid.

I got the same, cannot get through 'npm install'. It says "npm ERR! weird error 127", and "This is most likely a problem with the node-hid package,

npm ERR! not with npm itself". I`ll be greatfull lfor any help. Thx.


Also want to mention, that Im on Ubuntu 14.04 64bit.

Another edit-----------

After few days, I finally ran LEDs on my keyboard - Just follow this steps HERE , and then from the msi-keyboard folder run npm install :) Also I sugested to follow scrpts from THIS site.

Link to comment
Share on other sites

  • 1 month later...

This works great! I'm so happy to finally be able to control the colors of my keyboard in Linux! I can't seem to get the modes to work though, the node keyboard just goes dark. Has anyone gotten the modes to work for them on Linux? I have a GT70 and I'm running Gentoo Linux. Thanks!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.