pilotmoon / Scroll-Reverser

Per-device scrolling prefs on macOS.
https://pilotmoon.com/scrollreverser/
Apache License 2.0
2.61k stars 140 forks source link

Trackpad treated as mouse #23

Closed wiiareonfire closed 7 years ago

wiiareonfire commented 9 years ago

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

pilotmoon commented 9 years ago

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.

andreasbroch commented 8 years ago

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.

DarwinAwardWinner commented 8 years ago

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.

levic commented 8 years ago

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

DarwinAwardWinner commented 8 years ago

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?

pilotmoon commented 8 years ago

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!

pilotmoon commented 8 years ago

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.

pilotmoon commented 8 years ago

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

pilotmoon commented 7 years ago

Closing as (I think) dupe of #15