macOS Sierra 10.12.1 regression: Mouse Wheel events are broken - can't scroll by a single "tick" |
||||||
Issue descriptionChrome Version : 56.0.2902.0 OS Version: OS X 10.12.1 (16B2555) It is so horrible. Mouse wheel events are broken system wide on 10.12.1 This is an OS bug, but I'm filing this because I found a workaround we can do in Chrome: https://codereview.chromium.org/2461323002 Somebody has already uploaded a video to YouTube - https://www.youtube.com/watch?v=YkVNwk2SOzo "its reticules" says one commenter. There are reports of a problem specific to Logitech mice that was apparently fixed in 10.12.1, but it's possible that fix actually broke a bunch of stuff The original problem: - http://apple.stackexchange.com/questions/253784/logitech-mouse-scrolling-weird-after-sierra-update-soggy-inertia-effect-in-nati - http://appleinsider.com/articles/16/09/23/troubleshooting-macos-sierra-filemaker-logitech-and-razer-devices-4k-display-issues - http://www.macrumors.com/2016/09/22/wrecked-scrolling-logitech-mice/ Logitech also updated their "Logitech Control Center" to fix some bugs specific to Sierra - https://community.logitech.com/s/feed/0D53100005UytQyCAJ But there seems to be an unresolved problem. E.g. - https://community.logitech.com/s/question/0D53100005c3Vp7CAE/logitech-gaming-software-for-mac-broken-scrolling-under-macos-1012-sierra And it's not restricted to Logitech devices - since the apparent "fix" in 10.12.1 - http://apple.stackexchange.com/questions/255114/unresponsive-mouse-wheel-on-macos-sierra Says """ Since I upgraded to Sierra, mouse wheel scrolling has become a lot worse. When I scroll the wheel fast, it behaves like it did before and scrolls a bunch of lines, but when I scroll the wheel one notch at a time, nothing happens. I use a Steelseries Sensei gaming mouse but I also tested with a basic Dell mouse. (There's no model number on it.) As of macOS 10.12.1, this issue affects all programs. """ """ What's frustrating is that this started happening in the Sierra public beta 2, in July, and I reported it via the feedback assistant. But even on the latest Sierra 10.12.1 beta 3, the issue still persists. """ """ I think this changed in the 10.12.1 update. Single ticks of the mouse wheel no longer work for me in any program either. Updated the question to reflect this. """ tapted (me) says: I'm using a Logitech B100 model M-U0026. Tried through a USB hub and plugging in directly. Tried installing "Logitech Control Center" (it just says "No Logitech Device Found"). What steps will reproduce the problem? 1. Scroll any scrollable thingy in an application by a single "tick" of the mouse wheel. (and do it repeatedly, slowly) What is the expected result? It should scroll! What happens instead of that? No scrolling. You need to scroll "fast" for any scrolling to occur - about 50 pixels is the minimum amount that can be scrolled. I poked around in lldb, and it looks like there is a field we can scrape of the CGEvent to restore the old behaviour, and it's straightforward to detect when the delta is zero when it shouldn't be. See https://codereview.chromium.org/2461323002 . Do we want to land this? Merge it? Or hope that Apple push out a fix quickly. (Is it possible they consider this not to be a regression..?) Also that CL fixes webpage scrolling, but I'm not sure what we should push through to WebEvents really. UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2902.0 Safari/537.36
,
Oct 31 2016
Filed rdar://29022163 but it'll almost certainly be duped into something existing, since many users on the Internet have been poking Apple already.
,
Nov 1 2016
Attaching some debugging output
,
Nov 1 2016
OK - looks like this is fixed in the 10.12.2 Developer Seed (16C32e) which just went out. Phew. We just need to wait for that I guess :/
,
Nov 4 2016
rdar update: dup of rdar://28578342 (Open)
,
Dec 16 2016
Well rdar://28578342 is apparently still "Open", but 10.12.2 is out, and I'm finally not going crazy every time I scroll with my mouse wheel. So let's call this fixed.
,
Dec 18 2016
Actually I don't think Apple fixed this properly :| (hence why the rdar is still open I guess). Some fields still seem to be getting rounding errors such that if the scrolling is slow, some fractional scroll amount rounds to zero and scrolling never occurs. Scrolling in the root viewport, in MacViews, and other scrolling handled by LayerTreeHost seems to be fine. However scrolling in sheets.google.com is still busted. (also in iTerm, which is a native app). blink::WebMouseWheelEvent has "deltaX/Y" and "wheelTicksX/Y" fields. For clicky wheel mice, web_input_event_builders_mac.mm does - deltaY = [event deltaY] * ui::kScrollbarPixelsPerCocoaTick; - wheelTicksY = CGEventGetIntegerValueField(cg_event, kCGScrollWheelEventDeltaAxis1); whereas for non-clicky scroll events, it does - deltaY = CGEventGetIntegerValueField(cg_event, kCGScrollWheelEventPointDeltaAxis1); - result.wheelTicksY = result.deltaY / ui::kScrollbarPixelsPerCocoaTick; So I suspect kCGScrollWheelEventPointDeltaAxis1 is still correct for trackpad scroll events on Sierra, but now broken for clicky mouse events. The fix may be something like - deltaY = [event deltaY] * ui::kScrollbarPixelsPerCocoaTick; - wheelTicksY = [event deltaY]; But figuring out the precise scenario where this is necessary will be tricky :/.
,
Jan 27 2017
Dropping priority - there's probably nothing we can do on the Chrome side except wait for Apple. Also it's "mostly" fixed. (Scrolling in Sheets does still feel kinda busted :/ - maybe it's not directly due to this).
,
Feb 21 2017
Update Feb 22, 2017 "The original report on your issue has been closed recently." Google sheets still scrolls weirdly with slow clicks (checked 10.12.3 (16D32)), but the same happens on a trackpad if you scroll only in small, slow increments. iTerm is the same. They both want to scroll by discrete deltas: whole rows in sheets, or whole lines in iTerm. I guess it's up to them if they want to support "slow" mouse wheel clicks and round up to a whole row/line. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by tapted@chromium.org
, Oct 31 2016