diff options
| -rw-r--r-- | services/input/InputReader.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index 2924d3edd54e..c42e3abcd4f3 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -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"), |