mouse: Add experimental high-resolution scrolling support

This adds a separate channel in the mouse interpreter for handling
high-resolution scroll data, as well as a separate scroll acceleration
curve. The high-resolution data is not used unless the "Mouse High
Resolution Scrolling" gesture property is enabled. It's currently off by
default, as the acceleration curve still needs work (being too fast at
lower scroll speeds).

TEST=With patched in Chrome, enable high
     resolution scrolling on a suitable mouse (tested with the Logitech
     Anywhere MX) and verify that moving the wheel fractions of a notch
     still scrolls. Run the unit tests.

Change-Id: I5de07a4a4b93c93a7b2813b64f9e6ca0a62955bd
Tested-by: Harry Cutts <>
Reviewed-by: Sean O'Brien <>
Commit-Queue: Harry Cutts <>
25 files changed