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?
So, I did some research on this, and here are some links, or keywords to look 
at and search for:
https://gist.github.com/svoisen/5215826
kCGScrollWheelEventIsContinuous
https://chromium.googlesource.com/chromium/src/+/68ac3a05284cd246589a38843f2ba5b20ed5db72%5E!/
https://codereview.chromium.org/42607
https://bugs.webkit.org/show_bug.cgi?id=24813
https://github.com/adobe/webkit/blob/master/Source/WebCore/platform/mac/WebCoreSystemInterface.mm
https://bugs.webkit.org/show_bug.cgi?id=45155
http://trac.webkit.org/changeset/66812/webkit
https://github.com/aosm/IOHIDFamily/blob/d36f126e5b8d3183a037c453df7feedaba874553/IOHIDSystem/IOKit/hidsystem/IOHIPointing.h
https://github.com/aosm/IOHIDFamily/blob/d36f126e5b8d3183a037c453df7feedaba874553/IOHIDSystem/IOHIPointing.cpp
https://stackoverflow.com/questions/44196338/where-is-mouse-cursor-movement

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;
...
}

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/619403

Title:
  [KDE] no option for mouse wheel acceleration

To manage notifications about this bug go to:
https://bugs.launchpad.net/xorg-server/+bug/619403/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to