Fix virtual touchpad scroll events.
1. Correctly configure the uinput device to pass REL_*WHEEL events.
2. Configure the virtual touchpad as a 'rotary encoder', which is
an inputflinger device class originally provided for the G1 scroll
ball. This provides two advantages over the default mouse-wheel
interpretation:
- It works without an associated mouse pointer to determine the
event target.
- It allows for higher resolution through a scale factor (the
scaling here is chosen by experiment to feel no worse than wheel
mode, but might benefit from future adjustment).
There is one accompanying disadvantage: inputflinger only handles
vertical scrolling (REL_WHEEL) and ignores the horizontal axis
(REL_HWHEEL).
Bug: 62632827
Test: manual on sailfish
Change-Id: Ic8edad01796d75e8c94fa20f05a5badb0727a948
5 files changed