Ignore moves during tap processing if no finger is down.
Ignore moves during tap processing if no finger is down.

The Dell Inspiron 1520 with a Synaptics touchpad loves to send event like
these after every finger release :

    time     x    y   z f  w  l r u d m     multi  gl gm gr gdx gdy
   1.563  3224 1625  57 1  5  0 0 0 0 0  00000000   0  0  0   0   0
   1.574  3251 1632  30 1  5  0 0 0 0 0  00000000   0  0  0   0   0
   1.584  3292 1673  10 1  5  0 0 0 0 0  00000000   0  0  0   0   0
   1.594     1 5855   3 2  5  0 0 0 0 0  00000000   0  0  0   0   0
   1.634     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
   1.746     1 5855   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
   1.897     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0

Most of the time these events are ignored by the driver, but sometimes it
confuses two-finger scrolling and tap detection.

For example, in this log, the first tap is recognized, the second isn't :

    time     x    y   z f  w  l r u d m     multi  gl gm gr gdx gdy
  11.597     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  11.678     1 5855   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
  11.688     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  11.709  3862 2406   8 1  5  0 0 0 0 0  00000000   0  0  0   0   0
  11.719  3851 2464  67 1  5  0 0 0 0 0  00000000   0  0  0   0   0
  11.729  3849 2407  35 1  4  0 0 0 0 0  00000000   0  0  0   0   0
  11.739  3858 2578   5 1  9  0 0 0 0 0  00000000   0  0  0   0   0
  11.749  3858 2578   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
  11.850     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  11.860     1 5855   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
  12.073     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  12.083     1 5855   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
  12.347     1 5855   4 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  12.357  3844 2381  56 1  4  0 0 0 0 0  00000000   0  0  0   0   0
  12.377  3848 2361  32 1  4  0 0 0 0 0  00000000   0  0  0   0   0
  12.388     1 5855   3 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  12.398     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
  12.408     1 5855   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
  12.428     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0

The problem with the second tap is that the driver check if the movement from
(3848,2361) to (1,5855) is over TapMaxMove before it checks for a finger release.
So the driver considers it as a (short) finger move.
Add the condition ''the finger is still present'' to the 'move' condition, so
we ignore these moves..

Signed-off-by: Peter Hutterer <b9c50af7afa7642f6f854434cda9ffe54ece8b85@redhat.com>
Signed-off-by: Simon Thum <ca1fb1f7e93dcfb5d526a579ac3d85ac070b9232@gmx.de>
Signed-off-by: Henrik Rydberg <b7088a9c70345a9ab94cacab3cc3888d0a7dc884@euromail.se>

corcoran/xserver-xorg-input-synaptics,quadpixels/three-finger-dragging,RsrchBoy/xserver-xorg-input-synaptics,kelnos/xf86-input-synaptics,sencer/synaptics,corcoran/xserver-xorg-input-synaptics,Lyude/xf86-input-synaptics,jiixyj/xf86-input-synaptics,felipejfc/xserver-xorg-input-synaptics,philipn/xserver-xorg-input-synaptics,quadpixels/three-finger-dragging,eyko/xf86-input-synaptics,sencer/synaptics,gdestuynder/xf86-input-synaptics,mmonaco/xf86-input-synaptics,Lyude/xf86-input-synaptics,ssaavedra/xf86-input-synaptics,nanderson94/xf86-input-synaptics,joeshaw/xf86-input-synaptics,felipejfc/xserver-xorg-input-synaptics,philipn/xserver-xorg-input-synaptics,philipn/xserver-xorg-input-synaptics,RsrchBoy/xserver-xorg-input-synaptics,mortehu/xf86-input-synaptics,eyko/xf86-input-synaptics,gdestuynder/xf86-input-synaptics,mortehu/xf86-input-synaptics,kelnos/xf86-input-synaptics,mmonaco/xf86-input-synaptics,ssaavedra/xf86-input-synaptics,RazZziel/synaptics-xrandr,jiixyj/xf86-input-synaptics,joeshaw/xf86-input-synaptics,felipejfc/xserver-xorg-input-synaptics,RazZziel/synaptics-xrandr,nanderson94/xf86-input-synaptics