Keyboard backlight rainbow animation

Here’s a simple utility to jazz up your Reform and make it look a bit more like the photo in the MNT Research webshop :slight_smile:

Tested on MNT Reform classic. I suppose it works with other models too.

8 Likes

You know about Reform / reform-openrgb · GitLab ?

openrgb has rainbow animation in many different flavours plus many other animations to choose from and freely configure using a gui

I had no idea this existed :slight_smile:
That’s fine, it just cost me an hour of Python.

For what it’s worth I think your script is much more hassle-free to set up compared to openRGB and already created “aaaah” and “oooh” moments from my family. :wink:

Also support for the MNT keyboards is not yet upstreamed into OpenRGB, which makes it even more complicated to set it up. I filed a merge request to upstream the work by @plom here: Draft: MNTKeyboardController: Add support for the MNT Reform and MNT Pocket Reform RGB keyboards (!3006) · Merge requests · Adam Honse / OpenRGB · GitLab There will probably be a lot of comments and requests for changes by upstream following. You can help with fixing things if you have time. :slight_smile:

2 Likes

Oooh, pretty! Works on a pocket too:

4 Likes

I took a peak when you mentioned it yesterday, and it sure looks quite Rube Goldberg :slight_smile:

1 Like

It sure does! I was having all kinds of issues getting OpenRGB to find devices and whatnot. But a little python script goes a long long way. Thanks to the OP for posting it.

2 Likes

It certainly has quite a few ideas in it that I’d also put into the more “creative” category. For example, fixing up the MNT OpenRGB plugin involved making changes to a code comment to get things to work: README: custom udev rules belong into /etc not /usr (!3) · Merge requests · Reform / reform-openrgb · GitLab

You may be able to imagine how long it took me to realize that this was why things didn’t function at all. XD

Welcome to the forum @dfbarth! Yes, I think this is absolutely a plus of that script. Even if you have openrgb installed (it’s packaged in Debian) you need to get the effects plugin from somewhere to make it do anything useful and that is not packaged. @O.o Do you think it would make sense to add your script into reform-tools, maybe under /usr/share/doc/examples so that users can easily show off the RGB keyboard functionality? I think that would be nice. :slight_smile:

Why not. But if you want to avoid extra work, and polluting reform-tools with such unessential trinkets, I added it as a pre-built Debian package in my Debian repo here:

So if you want the bling, just do:

curl -SsL https://raw.githubusercontent.com/Giraut/ppa/master/KEY.gpg | sudo apt-key add -
sudo curl -SsL -o /etc/apt/sources.list.d/giraut.list https://raw.githubusercontent.com/Giraut/ppa/master/giraut.list
sudo apt update
sudo apt install mnt-reform-keyboard-backlight-rainbow

:slight_smile:

If you want to integrate it into something else, be my guest. It’s MIT-licensed.

The apt-key utility is on the way out. You might have seen the warnings about its use. The problem that apt developers are trying to fix is that if you add a key like that, then you tell apt “no matter what repo, this key is trusted” while instead you want to say “trust this key for this repo”. The new method is to distribute the key as part of your apt sources which also makes the setup easier as it’s only a single file now. In your case, you would replace the contents of https://raw.githubusercontent.com/Giraut/ppa/master/giraut.list with something like this:

Types: deb
URIs: https://raw.githubusercontent.com/Giraut/ppa/master/
Suites: ./
Components: 
Signed-By: 
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 .
 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
 =lhs8
 -----END PGP PUBLIC KEY BLOCK-----

Your repository has the license, is has a license grant, it has a copyright year but it does not contain the copyright holder. I have now used “Giraut” here:

Please correct me if you’d like to see a different string there.

Yeah I need to fix this. I just never got around to doing it.

That’s correct: this is not my real name and I don’t provide my real email, so it doesn’t make much sense to put a Github name in a license.

The truth is I really should release it under CC0. But I keep copying the same repo template over and over and I haven’t bothered changing the license file :slight_smile:

It’s fine. I don’t really care.

1 Like

This is really cool, thanks! I also found OpenRGB to be a bit too heavyweight for this job, and small tools like this are a better fit for our platform.

4 Likes

Dude this is so much better than OpenRGB for this purpose! It’s also a really nice example for other people to modify to make their backlights do pretty things and makes the hardware more approachable. Great work dude!

1 Like

30 lines of Python for some awesome light effects on the Pocket Reform Keyboard. I love it :heart:

Thanks for the inspiration @O.o

1 Like