First thing, I would reopen this bug report (remove the WONTFIX) - it really doesn't matter if it's not clear yet where to implement this.
On the topic at where to implement this:
Conceptually, mouse scroll wheel acceleration is really the same thing as mouse cursor movement acceleration. That's why I think it would make most sense to implement at the same place, like I did in my initial implementation.
Note that while I'm not sure if my initial implementation was the most optimal way to implement this, it actually worked great, in all applications. The only thing which optionally could have made it even better would be if the applications all would do pixel-based scrolling and not more, but even if the applications behave just like they do, line-based scrolling or whatever other scrolling behavior, they don't need to know and they should not need to know about any underlying mouse scroll wheel acceleration. Just like they also should not need to know about mouse cursor move acceleration.
Maybe 3D games are an exception, which would want to disable mouse cursor move acceleration because they use the mouse cursor movement in a different way. The same argument might be true for mouse scroll wheel acceleration. This is again an argument that mouse scroll wheel acceleration should be handled in the same way as mouse cursor move acceleration.
So, I guess the implementation of the main logic of the scroll acceleration can be found in that file IOHIPointing.cpp.
You even find that the pointer (mouse cursor) and (scroll) wheel share the same structure to handle the acceleration:
First thing, I would reopen this bug report (remove the WONTFIX) - it really doesn't matter if it's not clear yet where to implement this.
On the topic at where to implement this:
Conceptually, mouse scroll wheel acceleration is really the same thing as mouse cursor movement acceleration. That's why I think it would make most sense to implement at the same place, like I did in my initial implementation.
Note that while I'm not sure if my initial implementation was the most optimal way to implement this, it actually worked great, in all applications. The only thing which optionally could have made it even better would be if the applications all would do pixel-based scrolling and not more, but even if the applications behave just like they do, line-based scrolling or whatever other scrolling behavior, they don't need to know and they should not need to know about any underlying mouse scroll wheel acceleration. Just like they also should not need to know about mouse cursor move acceleration.
Maybe 3D games are an exception, which would want to disable mouse cursor move acceleration because they use the mouse cursor movement in a different way. The same argument might be true for mouse scroll wheel acceleration. This is again an argument that mouse scroll wheel acceleration should be handled in the same way as mouse cursor move acceleration.
I don't exactly understand why we are not looking at MacOSX how and at what level it is implemented there. It is a solved problem on MacOSX and works great. So about any question like at what level to implement it, why not do it like it's done on MacOSX? /gist.github. com/svoisen/ 5215826 ventIsContinuou s /chromium. googlesource. com/chromium/ src/+/68ac3a052 84cd246589a3884 3f2ba5b20ed5db7 2%5E!/ /codereview. chromium. org/42607 /bugs.webkit. org/show_ bug.cgi? id=24813 /github. com/adobe/ webkit/ blob/master/ Source/ WebCore/ platform/ mac/WebCoreSyst emInterface. mm /bugs.webkit. org/show_ bug.cgi? id=45155 trac.webkit. org/changeset/ 66812/webkit /github. com/aosm/ IOHIDFamily/ blob/d36f126e5b 8d3183a037c453d f7feedaba874553 /IOHIDSystem/ IOKit/hidsystem /IOHIPointing. h /github. com/aosm/ IOHIDFamily/ blob/d36f126e5b 8d3183a037c453d f7feedaba874553 /IOHIDSystem/ IOHIPointing. cpp /stackoverflow. com/questions/ 44196338/ where-is- mouse-cursor- movement
So, I did some research on this, and here are some links, or keywords to look at and search for:
https:/
kCGScrollWheelE
https:/
https:/
https:/
https:/
https:/
http://
https:/
https:/
https:/
So, I guess the implementation of the main logic of the scroll acceleration can be found in that file IOHIPointing.cpp.
You even find that the pointer (mouse cursor) and (scroll) wheel share the same structure to handle the acceleration:
struct IOHIPointing: :ExpansionData
{
UInt32 scrollType;
ScrollAccelInfo * scrollWheelInfo;
ScrollAccelInfo * scrollPointerInfo;
...
}