Comments (27)
Hi,
The article is here: https://blog.flozz.fr/2016/03/27/steelseries-rival-100-reverse-engineering-dun-peripherique-usb/
It is in French, but Google translate should help: https://translate.googleusercontent.com/translate_c?depth=1&nv=1&rurl=translate.google.fr&sl=fr&sp=nmt4&tl=en&u=https://blog.flozz.fr/2016/03/27/steelseries-rival-100-reverse-engineering-dun-peripherique-usb/&xid=17259,15700019,15700105,15700122,15700124,15700149,15700168,15700173,15700201&usg=ALkJrhhgQCeEEMnqVC3BpfIGH6YJnreSwQ
from rivalcfg.
I'm working on support for the Rival600 atm. I got sensitivity working, and hopefully colors soon. The 600 sends insanely large data frames for colors (>600 bytes), because it uses the same command for solid color and all the effects for the 8 different LEDs. Probably gonna need to use "value_transform" for rgbcolor on this one and maybe some subclasses of the 600 for all the effect options and configurations.
Will try to post my findings on my website and link to it asap if anybody wants to chime in
EDIT: attached file with partially complete analysis of the 600 protocol:
rival600_protocol.txt
from rivalcfg.
I have submitted a PR with support for Rival 600 (pr #60). It adds support for sensitivity, polling rate and 3 color modes: steady, shifting, trigger.
For the impatient, it can be cloned from here
It is now merged
from rivalcfg.
I know it's difficult to explain. I cannot even google it.
here : https://photos.app.goo.gl/tBiE8v91XL62evqW2
hopefully it explains it better.
( also, after that, I cannot go back to the virtualbox menus. Only way is to shutdown the vm via the keyboard )
edit: Now I read again your post. I think we are saying the same thing :)
I'll get a second mouse and try again.
from rivalcfg.
Just tested with my Rival 600 and setting the colors is working great. Thanks.
from rivalcfg.
Thanks for the feedback :)
I will release a new rivalcfg version with the Rival 600 support on PyPI soon, and I will close this issue once done.
from rivalcfg.
I got that straight after installing the requirements with PIP. I rebooted and it went away. I think it was a permissions problem that was solved when logging out/in. Or perhaps an issue with some library. Either way, try rebooting.
from rivalcfg.
Hello,
This mouse is currently not supported by rivalcfg. Maybe it will be supported one day, if someone do some reverse engineering on it :)
from rivalcfg.
Is there any way I can help with that?
I was able to use xinput
to tweak sensitivity etc, but it would be nice to tweak the RGB stuff as well. :)
In any case, thank you.
from rivalcfg.
You can help by helping to do the reverse engineering of the mouse. To do so, you need to capture what the SteelSeries Engine send to the mouse for each setting. I wrote an article on this if you a re interested :)
from rivalcfg.
@AntouanK that's all software based, obviously not optimal.
from rivalcfg.
@flozz link to the article?
from rivalcfg.
@FFY00 Is there any other way?
from rivalcfg.
@AntouanK yes, the mouse keeps the settings so you can program it on windows (works in a virtual box). This is also not optimal because you would need to boot windows or start a virtual machine every time you want change your mouse settings. If you work with @flozz you can add support for the mouse in this project which would be the optimal solution.
from rivalcfg.
@FFY00
I was thinking about that.
So you pass the usb device to the vm, and set it up there. right?
from rivalcfg.
@FFY00 I tried to use a Windows VM on virtualbox, and unfortunately, as soon as I pass the USB device to windows, the "cursor" of the mouse is stuck.
The mouse itself moves (I can see stuff highlighted as I hover the mouse) but the pointer of the mouse is not. So it's practically impossible to use it.
I did manage to install the app and launch it, but it asks for a firmware update, and when I try to update it, it gets stuck and the mouse has a blue light blinking.
:/
from rivalcfg.
@AntouanK when you connect the mouse to the VM, it is no more available on your Linux host. And if you do not see the pointer, it is because VirtualBox hides it inside the VM (because it is normally already visible outside the VM).
To avoid having trouble, connect a second mouse to the PC. That way, you will be able to use it when your Rival is connected to the VM.
from rivalcfg.
Exactly! As @flozz said, you need to plug another mouse into the computer.
from rivalcfg.
I think I was misunderstood.
I get that it's connected to the VM.
The linux host sees nothing, fine.
But inside the VM is the problem.
The "pointer" ( that white arrow ) doesn't seem to move, but I can see that I can click things. ( again, inside the windows 10 VM )
Does that make sense?
from rivalcfg.
tip: if you go Input -> Mouse integration
on virtualbox, and untick it, you can see the VM's pointer ;)
from rivalcfg.
What I've noticed now is that the speed and acceleration/deceleration is very different in the windows VM and the linux host.
I did unset the xinput property, but still it's way too more sensitive in linux.
Is there anything else to disable or reset?
from rivalcfg.
Hum... that's a weird behavior. Yes, the sensitivity is much higher on linux, you should set it to max in Windows.
from rivalcfg.
I'm getting an error when trying to run rivalcfg with my Rival 600. The following mouse was found but rivalcfg was not able to open it:
any clue as to what this could be?
from rivalcfg.
I rebooted and things went away for me as well. Good call :) all is well on my end
from rivalcfg.
I released rivalcfg 3.0.0 just now with the Rival 600 support. Thanks you all for your help to support this mouse :)
from rivalcfg.
Thanks for your work.
This is a bit strange.
I get the rivalcfg-3.0.0.beta1-1
package from AUR ( https://aur.archlinux.org/packages/rivalcfg/ ) but it installs 2.6.0
$ rivalcfg --version && rivalcfg -l
2.6.0
SteelSeries Rival 1038:1384
SteelSeries Rival 100 1038:1702
SteelSeries Rival 110 1038:1729
SteelSeries Rival 300 1038:1710
SteelSeries Rival 300 CS:GO Fade Edition 1038:1394
SteelSeries Rival 300 CS:GO Hyperbeast Edition 1038:171A
SteelSeries Rival 310 (Experimental) 1038:1720
SteelSeries Rival 500 (Experimental) 1038:170E
SteelSeries Heroes of the Storm (Sensei Raw) 1038:1390
from rivalcfg.
Hello,
The version written in the beta package is wrong. Anyway it is outdated, the latest version is the 3.0.0. Maybe you should tell the package maintainer to update it :)
from rivalcfg.
Related Issues (20)
- New Aerox 5 edition: Aerox 5 Wireless Destiny 2 Editon
- New Aerox 5 edition: Aerox Wireless 5 Diablo IV Edition
- Request for SteelSeries Prime Mini Wireless HOT 6
- Support for Rival 5 HOT 1
- Unrecognized arguments error when no device is found. HOT 1
- command to list current settings? HOT 1
- Steelseries Rival 3 Wireless - Turning off RGB and setting sleep timer
- Cannot change LED colour on Prime HOT 2
- Only one device manageable at a time? HOT 4
- SteelSeries Rival 3 mapped-value (button6) not working HOT 2
- SteamDeck issue HOT 3
- Prime mini support HOT 4
- Problem solved HOT 1
- Aerox 3 Wireless never seems to persist my color settings (#000000 for everything. Max power savings.) HOT 5
- Problem with color settings on Rival 500 HOT 4
- Could you do a standalone version for Windows in your releases (without need to install python) ? HOT 1
- Question: I have the Rival 500 with the CPI error. I would like to reset it. HOT 1
- Set macros on the mouse persist even after a factory reset HOT 5
- Keyboard Support HOT 2
- Unable to install Rivalcg on Debian. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rivalcfg.