Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sending events breaks profile-switching on the mouse (Rival 710) #122

Open
Player701 opened this issue Jan 31, 2022 · 3 comments
Open

Sending events breaks profile-switching on the mouse (Rival 710) #122

Player701 opened this issue Jan 31, 2022 · 3 comments

Comments

@Player701
Copy link

Player701 commented Jan 31, 2022

Hello.

I'm using a small self-made app that sends various system information (e.g. CPU/GPU temps, RAM usage etc.) to the OLED display on my Apex Pro keyboard. I also have a Rival 710 mouse, and I've recently found that while my app is running, I cannot switch profiles on the mouse unless I unplug it and plug it back in. The profile selector is not greyed out, but the mouse simply doesn't react to the change (sometimes the LEDs blink as if it acknowledges the new setup for an instant but then reverts to its previous state). If I close my app, I can change profiles again after a while (about half a minute).

I've only recently started using multiple profiles on my Rival 710, and this looks like a serious issue to me. This is most certainly a bug, since custom apps should not affect user settings (especially key bindings), and I can change configs on my keyboard just fine while the app is running.

I've found a very easy way to reproduce this: simply sending data to the game_heartbeat endpoint breaks profile switching on my mouse for a short while:

curl -H "Content-Type: application/json" -d "{\"game\": \"HEARTBEAT_TEST\"}" http://127.0.0.1:54097/game_heartbeat

(NB: port may be different depending on the contents of c:\ProgramData\SteelSeries\SteelSeries Engine 3\core_props.json)

I have no idea if this issue can be reproduced with other SteelSeries devices, I only know for sure that the Apex Pro keyboard is not affected (switching profiles always works fine), and the Rival 710 mouse is affected. I do not own any other SteelSeries keyboards, mice, or other peripherals, so I'm physically unable to investigate further.

I kindly ask the SDK developers to look into this issue.

UPD: SteelSeries GG 14.0.0 (GSDK version 2.4.14.0) - issue still present.

UPD: SteelSeries GG 17.1.0 (GSDK version 2.4.17.0) - issue still present.

@Player701
Copy link
Author

Player701 commented Jun 4, 2022

UPD: SteelSeries GG 19.1.0, 20.0.0 (GSDK version 2.4.20.0) - issue still present.

@Player701
Copy link
Author

Just tested on a fresh intall of Windows 11 Pro (version 22H2, build 22621.1265) with SteelSeries GG version 32.1.0, SDK version 2.4.20.0, and the issue is still present.

@Player701
Copy link
Author

Player701 commented Feb 27, 2023

I've just found out that this issue affects the built-in apps, too - but the effect is slightly different. I will now attempt to explain what the difference is.

I use only two configs on my mouse, let's call them Config A and Config B. Most of the times, it's Config A. They can be visually distinguished by the color of the LEDs on the mouse.

If I send a heartbeat event via curl (see above) and attempt to switch to Config B, then wait for the timer (approx. 20 seconds) to expire, it will still show Config B in the program, but the LEDs on the mouse won't reflect that, and the bindings will still correspond to Config A. To switch properly, I need to choose Config A (or some other config) in the menu, and then choose Config B again.

Now, if I activate a built-in app (let's say System Monitor, as its functionality is similar to what my own app does), I still cannot properly switch to Config B while it is active. However, if I attempt to switch, and then deactivate the built-in app, then the switch will happen - the LEDs will change, and the bindings will reflect that Config B is active.

So whatever this is, using built-in apps is not a workaround, even if the built-in app provides similar functionality.

I've found a somewhat similar issue mentioned on Reddit where the suggested workaround is to bind the switch action to a mouse button. Unfortunately, it doesn't work for me, the only way to solve this is to unplug and mouse and plug it back in - only then switching between configs will work properly every time, and rebooting causes the issue to come back. This may even be a hardware/firmware issue because even restarting SteelSeries GG does not fix it.

All in all, it effectively makes it rather problematic to run an app which uses GameSense SDK continuously if one wishes to switch between mouse configs at will.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant