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
761 stars 61 forks source link

add usage_page parameter to specify device more precisely #202

Closed glyph closed 1 year ago

glyph commented 1 year ago

fixes #200

This may be specific to the Rival 650, or it might be something more general to all SteelSeries mice; I don't have any way to test. Perhaps it should be part of the device profile? All I can say is that without this patch, rivalcfg interacting with my mouse is the luck of the draw; with it, I can reliably get the battery percentage.

I can say that at least it works with both wired & wireless devices.

flozz commented 1 year ago

On which operating system have you tested? macOS?

I will need some time to understand what the usage_page is exactly and if it is also required on other OS and other devices.

I have the Rival 650 so I will be able to test on my own on Linux. :)

glyph commented 1 year ago

On which operating system have you tested? macOS?

Yep, macOS only so far. I do have a Windows & Linux VM, and … maybe I can pass through the device on there? Clearly I have not adequately prepared this PR though :)

flozz commented 1 year ago

I think this PR will break Rivalcfg on Linux: usage page is always "0", at least with the hidraw driver :/

https://github.com/flozz/rivalcfg/issues/200#issuecomment-1539948817

flozz commented 1 year ago

I will not be able to merge your PR as it breaks Rivalcfg on Linux. But thanks to your PR I have enough information to think about a fix.

I tried something in the 200-macos-ventura-endpoint branch. Can you test if it work?

more: https://github.com/flozz/rivalcfg/issues/200#issuecomment-1542067731

glyph commented 1 year ago

Yeah this PR was more of a sketch anyway; I appreciate your prompt investigation here and I'm glad that my poking around helped a little bit!