MayeulC / Saitek

Tools to configure saitek (Mad Catz) R.A.T. mice and related devices
GNU General Public License v3.0
30 stars 10 forks source link

Add another product id which works. #1

Closed MaikuMori closed 9 years ago

MaikuMori commented 9 years ago

For some reason my R.A.T.9 mouse has a different product id. Tested all the provided functionality and everything seems to work fine.

Thanks for reverse engineering the protocol and writing this :)

MayeulC commented 9 years ago

Thanks a lot, this pull request really means something to me :)

I've heard of other R.A.T mice not working properly out of the box with Linux distros, might be worth investigating. Other than that, I will try to get the battery part merged into upower when I will be able to spend some time with it. Also, thanks for the link on ArchWiki.

Edit : could you please confirm that your sensor's max DPI is 5600? (It's written under the mouse).

MaikuMori commented 9 years ago

Ah sorry, didn't see the edit.

I think I have the newer R.A.T.9, mine has 6400 DPI. I guess you'd have to change max DPI based on product id, but frankly anything above 4k is not very usable.

MaikuMori commented 9 years ago

Since I've had the mouse for a while now I've noticed quite a few issues.

There are also some mechanical issues like battery holder not holding the battery (charging) properly without some fiddling. And of course after all those years batteries don't hold as much charge as they used to.

MayeulC commented 9 years ago

I've actually looked a lot into a kernel driver to have battery information exposed via upower this week-end, I even got quite far, until I hit a problem ( http://codepad.org/GWZPwKyX ). I didn't really see the issue you described with the battery holder, however, even though I have mine for more than 6 years now, I guess :)

However, I found a saitek-hid.c (or something like that) in the kernel, which is supposed to fix the mode button issue for some models (not for ours, though). I have looked into extending this workaround to some other mice IDs (I might also remap the horizontal scrollwheel correctly, if enough people think it's worthwhile).

Could you please provide me with a reading of your default sensor settings, so that I can implement sane defaults into the application? If you need some code to do so, I think I might have some I used during my reverse-engineering (but it's just a matter of dumping the measure line 72).

MaikuMori commented 9 years ago

These are the values after doing "Reset to defaults"

measure[1] mode axis
28 0 0
28 0 1
60 1 0
60 1 1
124 2 0
124 2 1
220 3 0
220 3 1

Not sure I can help with the kernel code right away. I need to go trough it more seriously.

Would you accept a PR with code reformatted according to PEP8 (the python styleguide)?

MayeulC commented 9 years ago

Sorry for the delay, I have been completely busy with school, and various projects these weeks. Thanks for the measure, it looks like the default settings are the same between our devices, so the scale must be different. Thus, the reported dpi on the application might not be the real one. This is really a minor issue, must might be worth investigating one day. I would happily accept such a pull request, since this project was also a mean for me to learn python :)