Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1268227 authored by Jeff Brown's avatar Jeff Brown
Browse files

Use pointer mode instead of spots for SEMI_MT touch pads.

The spot-based presentation relies on being able to accurately
locate and distinguish two or more fingers on the touch pad.
We can still do gesture recognition without distinct multitouch
but it doesn't make sense to show spots because we can't be sure
that the spots will appear in the right places.

Change-Id: Ia282d77000bf3b50d395273a1f0ac0bbe55b3c6f
parent 7218d830
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1987,9 +1987,11 @@ void TouchInputMapper::configureParameters() {
    mParameters.useAveragingTouchFilter = mConfig->filterTouchEvents;
    mParameters.useJumpyTouchFilter = mConfig->filterJumpyTouchEvents;

    // TODO: select the default gesture mode based on whether the device supports
    // distinct multitouch
    mParameters.gestureMode = Parameters::GESTURE_MODE_SPOTS;
    // Use the pointer presentation mode for devices that do not support distinct
    // multitouch.  The spot-based presentation relies on being able to accurately
    // locate two or more fingers on the touch pad.
    mParameters.gestureMode = getEventHub()->hasInputProperty(getDeviceId(), INPUT_PROP_SEMI_MT)
            ? Parameters::GESTURE_MODE_POINTER : Parameters::GESTURE_MODE_SPOTS;

    String8 gestureModeString;
    if (getDevice()->getConfiguration().tryGetProperty(String8("touch.gestureMode"),