Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Added experimental support for Rival 600 #60
EDIT2: see my other comment below
Added support for sensitivity, polling rate, solid colors for all LEDs and saving for the Rival 600.
One quirk of the 600 is that it doesn't have separate commands for solid colors and color effects. They are stringed together in one big command, the 0x0500 command.
There are some bytes that I haven't been able to identify their purpose. More experimentation is needed to understand the color protocol fully. I have attached my notes on the protocol:
I have reworked everything by applying knowledge from pr #43
As both the Rival 600 and the Sensei 310 (from #43) and possibly other newer mice use a very similar color protocol, I have formalized the new format and added support for it with a new value_type that I have called "rgbuniversal"
Mice using this protocol can now be configured by defining a "rgbuniversal_format" subdictionary which specifies header field indexes, and then the command subdictionaries need only specify value type as rgbuniversal and an LED index.
The handler for rgbuniversal commands currently support three modes:
Usage examples, setting logo color:
Below is the protocol details: