OSDN Git Service

Drop hack for drivers that emit zero ABS_MT_TOUCH_MAJOR.
authorJeff Brown <jeffbrown@google.com>
Fri, 22 Jul 2011 02:16:41 +0000 (19:16 -0700)
committerJeff Brown <jeffbrown@google.com>
Tue, 26 Jul 2011 03:04:17 +0000 (20:04 -0700)
Bug: 5064702

When using Linux MT Protocol A, drivers are supposed to omit
fingers that go up and to send an empty sync with no fingers
(can be just an SYN_MT_REPORT / SYN_REPORT) when no fingers
remain.

This makes Android more compliant with the protocol standard.

Change-Id: I5775feb14ab7db015824a32b1e2c015da239385d

services/input/InputReader.cpp

index c9fac81..3e041f3 100644 (file)
@@ -5082,11 +5082,6 @@ void MultiTouchInputMapper::sync(nsecs_t when) {
         }
 
         if (fields & Accumulator::FIELD_ABS_MT_TOUCH_MAJOR) {
-            if (inSlot.absMTTouchMajor <= 0) {
-                // Some devices send sync packets with X / Y but with a 0 touch major to indicate
-                // a pointer going up.  Drop this finger.
-                continue;
-            }
             outPointer.touchMajor = inSlot.absMTTouchMajor;
         } else {
             // Default touch area to 0 if absent.