<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Acceleration still too slow with medium finger movements"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=101139#c15">Comment # 15</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Acceleration still too slow with medium finger movements"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=101139">bug 101139</a>
              from <span class="vcard"><a class="email" href="mailto:peter.hutterer@who-t.net" title="Peter Hutterer <peter.hutterer@who-t.net>"> <span class="fn">Peter Hutterer</span></a>
</span></b>
        <pre>fwiw, I went through the touchpad acceleration code again and could not find
anything obviously wrong. An important definition: a 'normalized' coordinate is
one that's converted from device units to units equivalent to a 1000dpi
standard mouse.

* starting point: tp_gesture_post_pointer_motion()
* tp_get_delta() returns a normalised delta
* this delta is passed to tp_filter_motion(), where it is converted back to
device units [the double-conversion is a leftover]. Only difference: the y axis
is pushed to the same resolution as the x axis so we can assume a delta in a
single coordinate system. That's the 'raw' variable.
* 'raw', in units/mm, is passed to filter_dispatch() which calls
accelerator_filter_post_normalized (see accelerator_interface_touchpad)
* 'raw' is passed further to accelerator_filter_generic() and
calculate_acceleration_factor().
* that calculates the velocity (in units/us) and passes it to
calculate_acceleration()
* that then calls the profile: touchpad_accel_profile_linear()
* the profile converts the speed (in units/us) to mm/s for easier understanding
and then applies the linear-ish accel function that calculates the accel
factor.
* that factor is passed back up and applied to the raw input delta
(accelerator_filter_post_normalized)
* the input delta is converted to 1000dpi normalized units and we finish
filter_dispatch() and send the accelerated delta to the caller

So aside from the slightly confusing conversions between systems, there is
nothing bleedingly obviously wrong.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>