I bought this gaming mouse together with my new notebook. I'm not really into gaming but I enjoy owning high end specialized tech gadgets. This mouse has some glowing LEDs that got me annoyed pretty fast. Searching through the internet I was disappointed to know that the brand didn't open source its driver, but luckily I found an open source implementation that changed various configs from the mouse for me.

This mouse brags itself for being able to display millions of colors or so. I decided to put it on a test. I made a program that talks to this open source driver and interactively changes the mouse's color according to the pointer's position on the screen. Looks nice doesn't it?

I used LÖVE to get input values from the mouse as well as for displaying the graphical debugging circle on the screen, while the third party open source driver that changes the mouse's color is a python terminal application. Communication between the two applications happens via system calls, thats why it gets a little laggy =(.


You're going to need to install LÖVE and rivalctl in your system. Get the source code archive file for this project available to download at the bottom of this post, extract it and run it like:

tar xvJf 2015-08-24.mouse-hack.love.tar.gz  # extract the archive file
sudo love mouse-hack.love                   # run the application

Note that you need to run it as super user in order to allow rivalctl to make changes to the mouse's LEDs. You can quit the application by hitting q.

Oh yeah, and you're also going to need this Rival Gaming Mouse.

You can download the source code here.