flozz / rivalcfg

CLI tool and Python library to configure SteelSeries gaming mice
https://flozz.github.io/rivalcfg/
Do What The F*ck You Want To Public License
804 stars 66 forks source link

Macro / key combination support? #171

Open Blue-Sauce opened 2 years ago

Blue-Sauce commented 2 years ago

Has there been plans or work to add macro support for devices with on-board macro support? Perhaps it's already possible to define key combinations, such as ctrl+c, and I just did not find it.

I understand the Rival 500/600/700 and likely others have such on-board macro support.

flozz commented 2 years ago

Hello,

As far as I know, SteelSeries mices have only basic buttons binding support onboard. Macros are handled by the SteelSeries / GG Engine.

Some models seems to be able to support "multiple key press at once" onboard, but this is never used by the SSE3 / GG Engine and the exact behavior is unknown.

So no, macros are not implemented in Rivalcfg and will probably not be implemented, sorry...

Blue-Sauce commented 2 years ago

Hi, thanks for your response.

The steelseries.com page for the Rival 600 says "full macros on-board for software-free use at LAN events and tournaments."
And the post here from a SteelSeries employee says "macros for a lot of devices are done through driver (I know Rival 500/600/700 all have built in macros so if you have one of these it will work,)"

What do you think?

I don't currently have any of these models so I can't test or attempt to capture the communication.

Blue-Sauce commented 2 years ago

https://github.com/flozz/rivalcfg/issues/138#issuecomment-991755838 report that Rival 500 has on-board macros (works on linux if first set with SteelSeries software on windows).

flozz commented 2 years ago

As I said, I only found that some devices seems to support simple key combinations (probably up to 4 keys), but it looked like SSE3 was not using this feature, at least on the mouse I was working on (Rival 300).

Anyway, as I have a Rival 500, I will try to see if I can learn more about this :)

(but I will probably have no time to work on this before early 2022)

flozz commented 2 years ago

I observed key combination on the Rival 650 I am working on:

 LCtrl + C          → 51 E0 06 00 00
 LCtrl + RShift + C → 51 E0 E5 06 00

So it seems you were right, I will have to work on this :)