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

Not working with Logitech Options/Mouse #4

Closed
tmicky opened this issue Jul 29, 2020 · 5 comments
Closed

Not working with Logitech Options/Mouse #4

tmicky opened this issue Jul 29, 2020 · 5 comments

Comments

@tmicky
Copy link

tmicky commented Jul 29, 2020

I have the Logitech Wireless Trackball M570, and unfortunately this app isn't fixing the scroll direction. I'm not sure if the problem is because Logitech already controls mouse settings through its Options/device manager app (and it's so frustrating that this mouse doesn't include the option to reverse scroll inside the Options app). I don't know anything about coding so I don't know how to figure out if the Options app is taking priority over your app or something, but I just wanted to let you know about a potential limitation. (Regardless of this issue your app looks so cool and helpful, thanks so much for making it!!)

@ther0n
Copy link
Owner

ther0n commented Jul 30, 2020

Thanks for the report! I've never used a trackball mouse before (which also means I can't test it) so I'm not really sure how they work. It looks like you move the cursor around with the trackball, but there's also the regular two mouse buttons and scroll wheel. Is that correct?

And the part that isn't working is the normal scroll wheel between the two buttons? Or are you wanting to invert the direction the mouse moves when you use the trackball?

The Logitech Options app likely does interfere with the UnnaturalScrollWheels as well, espescially if it works in a similar way. UnnaturalScrollWheels intercepts scroll "events" (which occur each time you scroll on a mouse or trackpad). When the app recieves a scroll event it:

  1. Determines if the event is "continuous", trackpads produce pixel-based/continuous scroll events and most mice produce line-based/non-continous scroll events.

  2. If the event is continuous and, depending on settings, inverts the event and/or sets the lines scrolled of the event

  3. Passes the modified event down to the system (or the next application that intercepts the event, possibly Logitech Options)

Logitech Options may be recieving the event then modifies the event again which could override or undo the changes UnnaturalScrollWheels made. It's also possible Logitech Options gets the event first and UnnaturalScrollWheels undoes the changes Logitech Options made.

It's also possible your mouse is simply sending pixel-based scroll events leading to UnnaturalScrollWheels not being aware it's a scroll wheel. There might be a few other ways it could differentiate between scroll wheels and trackpads, but I want to make sure I'm understanding the issue correctly first and ensure it not another application interfering/overriding.

@tmicky
Copy link
Author

tmicky commented Jul 31, 2020

Yeah, the cursor is moved by rolling the trackball with a finger instead of from the movement of the entire mouse, but otherwise it has the same left/right click and scroll wheel. The part that isn't working is the regular scroll wheel, which scrolls the same way regardless of whether UnnaturalScrollWheels is turned on or not.

(Also I do want to be clear that I didn't bring this up to necessary get a fix/solution - I would not be surprised at all if the Logitech application is intercepting the event since it's scroll seems to be a little buggy anyway. I think the UnnaturalScrollWheels application is fantastic! And this is such a rare occurrence that would require the hardware to even figure out, which definitely wouldn't be worth it. I just wanted to mention it so you had a heads up of the potential limitation in this kind of rare instance.)

@ther0n
Copy link
Owner

ther0n commented Jul 31, 2020

While I don't have that particular mouse, I do have other Logitech mice and one of them was supported by Logitech Options. I set up both UnnaturalScrollWheels, and Logitech Options in a macOS virtual machine for testing and confirmed that Logitech Options is almost certainly the reason it isn't working for you. For one reason or another Logitech Options modifies scroll event's to be "continuous" which as I described earlier will cause UnnaturalScrollWheels to believe the event came from a trackpad.

I did a little bit of investigation and looked for other differences in between events that come from scroll wheels vs trackpads and found a few undocumented values that seem to only be non-zero for only trackpads. I used that to add a new "Alternate detection method" option to preferences to use these other values rather than checking whether the event is "continuous". It appears to work with Logitech Options in my testing in a virtual machine so hopefully, it will also work for you!

Install the attached version of the application, open preferences, check "Alternate detection method" and let me know if it works!

UnnaturalScrollWheels.zip

@ther0n ther0n changed the title Not working with Logitech mouse Not working with Logitech Options/Mouse Jul 31, 2020
@tmicky
Copy link
Author

tmicky commented Aug 1, 2020

Omg that did it!! Wow, thank you so much ☺️☺️

@ther0n
Copy link
Owner

ther0n commented Aug 2, 2020

No problem!

@ther0n ther0n closed this as completed Aug 2, 2020
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

2 participants