Input: update input_mt_report_pointer_emulation to support hovering
authorKT Liao <kt.liao@emc.com.tw>
Fri, 20 May 2016 00:38:07 +0000 (17:38 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 1 Jun 2016 21:21:10 +0000 (14:21 -0700)
commit0fd80a77e4d2f34e9fe66a73edf81d4a30bd4ca4
treec3b43a4910e78e27b1b9839d8cd2717fe756d806
parentcd467299c1153b780e8031e7490a8f8fa0a3f853
Input: update input_mt_report_pointer_emulation to support hovering

For devices that are incapable of reporting per-contact distance and can
only report ABS_DISTANCE, just distance is not enough for upper layers of
OS to determine whether contact is leaving the area or if it is continuing
hovering, we need BTN_TOOL_FINGER for that:

                                   Contact State
                    Inactive          Hovering            Active
                   (far away)    (inside hover area)  (touching surface)
BTN_TOUCH              0                 0                   1
BTN_TOOL_FINGER        0                 1                   1
ABS_DISTANCE          N/A                1                   0

Signed-off-by: KT Liao <kt.liao@emc.com.tw>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/input-mt.c