-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
Request: Support for Rival 5 #165
Comments
Hello, Yes someone should do some reverse engineering, and yes you can find some documentation in this article and in that one too. Strange that the settings are not saved when you unplug the mouse... Have you clicked the "Save" button on the SSE? (else it does not save the setting in the mouse) |
Okay, I will look into it (The two articles you mentioned have the same link).
Yes, that's a bit strange. Especially because the other settings (for example, for the thumb keys or the toggle switch) are retained. Only the settings for the illumination and the CPI button are lost as soon as you unplug the mouse. I've clicked "Save" on SSE. For example: I've bind Win + PageUp and Win + PageDown to thumb buttons 6/7 to switch between workspaces in gnome-shell and those setting are retained even after reconnecting the mouse. Thumb button 5, which I've bind to WinKey for app expose also works. It's only the CPI-button and lighting that get's lost. Nevertheless, so far I'm really happy with my purchase. Weight, sensor, shape and buttons are great. QC, mousefeet and cable are above average. I am optimistic about the problems. The mouse has already received a firmware update. |
Oops sorry I did not saw that the URL does not change while navigating in translated version... The original links to article are:
I hope updates will fix that |
Got a rival 5, did some preliminary poking. I set the 'reactive' color to 'Steady' #704ca6 and then the active zones to f997c[1-a], like so: This produces a corresponding SET_REPORT data fragment of:
So it looks like it orders them strictly left to right and my guess was wrong :) Unsure about where the 'reactive' color is set. These config packets are basically constantly sent (while the SSE is open?), and the mouse doesn't seem to retain anything after hitting 'save' when I then plug it into my linux laptop. Notably, like the other guy, if I hit the palm 'switch profile' button once, its colors switch back to what I had set, for about 5 seconds or so, and the buttons do not update to their 'saved' values from the saved profile. If I then hit the 'Cycle CPI' button again, the mouse stops responding until I un/replug it. So that's great, definitely a solid firmware on this mouse. I'll get to the button binding in a bit (tomorrow, hopefully). I'm not sure yet if it needs to be constantly sent updates for the colors (might be a side effect of the animations and shit it supports? My guess here is that the 'reactive' effect (zones flash a color from top to bottom) and animations are just computed in their software and it just updates the active color 60 times a second or something) or if the software/driver just do that, and it holds colors on its own just fine, or what. The button binds do seem to at least be send-once and it's set until the mouse is power cycled, at least, so configuring them should be fine. My to-do list for this thing is:
|
Just FYI, I've had a lengthy discussion with the Steelseries support about my issues. At some point I've asked for a refund and purchased a Steelseries Prime which has real On-Board-Memory and therefore does not need any software. (The first one I got had a faulty scrollwheel, the second one was fine. Because scrolling was still a bit noisey for my taste, I applied some Krytox 205g0. Since then I am very happy with this mouse). Some statements by the customer service may be of interest for you:
This answer was later corrected:
In my experience not all firmware updates are mentioned in the release notes at https://techblog.steelseries.com/. But according to your observations it seems like this firmware update is still not available. |
oh that's incredibly cursed I might end up returning it and switching to a Rival 600 (since the only functional difference is the two extra side buttons on the 5, and those are annoying enough to just not matter to me), in that case. Still probably going to figure out the button config packet though, since it seems like a minor amount of active management of the mouse isn't too hard. |
I checked the two links posted above about the reverse engineering, are similar instructions available in English? I'd like to help out here, but I'm not sure if something will be lost if I just throw the pages through Google Translate. |
Any news? |
There is some information about the SteelSeries Rival 5 over there: |
I tried to create a device-file for this, but can't set the LEDs other than the one for the mouse-wheel, because they all need to be set at the same time with a command like this: |
Any hope for support for the Rival 5? Just got one as a gift, looks and feels like a nice enough mouse to give it some love. Been reading into it a for the afternoon ... don't have a clue how to try some code for myself. |
No idea if this has been tried, or if it has any chance of working, I dont actually know how to add a Device file to rivalcfg, to try this out tho. |
Well, i have done some poking my self and came up with this here file. However under Windows it seems to be hard to talk to a USB-Device directly, if just there was a handy little tool to do that... That said, i have no idea how to throw that into a incomplete device file and even less of a clue on how to get rivalcfg to actually use that device file, to test this. If a test with the whole LED and Polling-Rate stuff would be successful, i would poke around with the CPI and Button-Mapping stuff. Any help is appreciated. -No idea what i am doing sry :/ |
I have now modified the Aerox5_Wireless_Wired device file. Now i would like to test it, because there is a chance, that some things might work and most wont. Sorry for the multiple rambling posts and thanks in advance. |
Hello, First setup the project for development:
[LINUX ONLY] On Linux, you will need to add udev rules to have the permission to communicate with the device. Create or edit
Then reload udev rules:
And finally unplug/replug the device To test you Rival 5 profile:
Then you should be able to test with commands like:
NOTE: I have not many time to work on this project currently and I may not be able to work on my open source projects at all for a while (probably for few weeks)... so I may not answer quickly |
Hello, thank you for providing the above post, it made it possible for me, to create this device file, based on the Aerox5: However, creating this device file was the "easy" part and only half the battle, because the Rival5 is special First of all, the LED color is the only thing, the mouse wont remember (e.g. DPI, Buttonmappings... will stay). Secondly and more important: LED_1 green: LED_2 green: The Rival5 knows only one command for all 10 LEDs at once:
So even if one would use So you have to set ALL LEDs at once in one datafragment. The handler "rgbcolor" does unfortunately not support the needed in and outputs, even if I played around in the device file. So I wrote a new handler, based on the "rgbcolor "handler and called it "onestr_rgbcolor": Because of me being a total beginner to Python and programming in general, it is probably really janky, but it does work. For the color values it takes the same inputs like the "rgbcolor" handler (00ff00, "yellow", "#f00...) and checks them for validity. The input is as follows:
An example, for setting all 10 LEDs to green: The physical layout of the LEDs is this: The physical Buttonlayout is this: Note: that Buttons 6, 7, 8 are disabled by default. I have tested everything reasonably and it works well enough, tho the -e and -d commands dont like to be used consecutively, wich disables -e and to fix this you need to replug the mouse. It would be nice, if someone, preferably a Rival5 owner, could test and verify tho. While I did my own poking around with Wireshark and the USB stuff, the information and links contained within this thread Hope, this helps and will lead to the eventual addition of support for the Rival5 in rivalcfg. Cheers, -blob |
I just got a Rival5 and while I haven't tested everything, I can confirm the color settings are working perfect with your changes. Thanks a lot for your work! |
I already received my Rival 5 which was released a few days ago. I think I'm one of the first who is not a brand ambassador/influencer.
I guess someone has to do more reverse engineering because of the new hardware (e. g. the “switch” button).
Is this method still the way to go?
At the moment I'm a little bit short on time but will try to do my best to provide information for adding it to rivalcfg.
Edit: Configuring via Steelseries Engine 3.20.0 in a Windows 10 VM worked as expected. Sadly, whenever I unplug the mouse, my settings for LED and the CPI toggle button gets reset. I'm still investigating why this happens.
The text was updated successfully, but these errors were encountered: