pilotmoon / Scroll-Reverser

Per-device scrolling prefs on macOS.

Home Page:https://pilotmoon.com/scrollreverser/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Trackpad treated as mouse

wiiareonfire opened this issue · comments

commented

Running the 10.11 El Capitan GM, and Scroll Reverser treats trackpad input as mouse input when selectively reversing scrolling behavior.

Try quitting and restarting Scroll Reverser, it should reset to normal. I don't think this is a 10.11 issue but rather a general OS X issue which occurs on waking from sleep.

I get this problem when I have a bluetooth mouse connected and then disconnecting it as I will do every time I leave the house. When the mouse is connected the mouse and trackpad scrolls as expected. But when it is disconnected suddenly the trackpad scrolls opposite.
Then I can restart scrollreverser as @invariant's said, but it is rather annoying to have to do it everytime the bluetooth mouse is disconnected.

I also have a similar problem. It seems to be triggered by some combination of suspend/resume and plugging/unplugging a USB mouse. It happens intermittently every couple of days though, so I haven't figured out a consistent sequence of events to reproduce it.

From issue #21:

The way that Scroll Reverser identifies trackpad scrolling is to look for recent gesture events reporting 2 or more fingers on the pad. So if there are no gesture events then it can't sell whether it's a mouse or a trackpad.

I'm guessing that after resuming from sleep there are no gesture events and so it assumes it is a mouse

That's unfortunate that it has to rely on heuristics to identify a device. Is there really no official API to figure out the identity of a device?

That's unfortunate that it has to rely on heuristics to identify a device. Is there really no official API to figure out the identity of a device?

Not as far as I know (and I've been working closely on this domain for 5 years ... so more fool me if there is), but if anyone does know, please tell me!

So to address this issue in general - all these sleep/wake and device change problems, as far as I can tell, are caused by problems (e.g. missing or bad info) in the input stream of events going through Scroll Reverser. Whether it's OS X bugs, driver bugs, or what, I don't know. Anyway, the code is all here so if anyone has any good ideas for fixes, I'm very much open to pull requests.

By the way you can ⌥-click the Scroll Reverser menu icon to bring up a debug window. This shows the event stream Scroll Reverser is seeing, and its interpretation of it.

screen shot 2016-06-03 at 12 42 27

Closing as (I think) dupe of #15