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