mirror of
https://github.com/X11Libre/xf86-input-synaptics.git
synced 2026-03-24 09:44:40 +00:00
Include open but unchanged touches when guessing clickfingers
On a clickpad, when the button is pressed the clickfinger guessing will only work properly if all touches have new data to report. If a touch has not changed, then it will not be counted. This leads to inaccurate finger counts. This change ensures that all active touches are counted. Note that the X and Y valuators of active but unchanged touches are still valid. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
committed by
Peter Hutterer
parent
eba82d203e
commit
b3348eb7e4
@@ -2600,8 +2600,8 @@ clickpad_guess_clickfingers(SynapticsPrivate *priv, struct SynapticsHwState *hw)
|
||||
for (i = 0; i < hw->num_mt_mask - 1; i++) {
|
||||
ValuatorMask *f1;
|
||||
|
||||
/* you can't click on open, you're not fast enough */
|
||||
if (hw->slot_state[i] != SLOTSTATE_UPDATE)
|
||||
if (hw->slot_state[i] == SLOTSTATE_EMPTY ||
|
||||
hw->slot_state[i] == SLOTSTATE_CLOSE)
|
||||
continue;
|
||||
|
||||
f1 = hw->mt_mask[i];
|
||||
@@ -2610,7 +2610,8 @@ clickpad_guess_clickfingers(SynapticsPrivate *priv, struct SynapticsHwState *hw)
|
||||
ValuatorMask *f2;
|
||||
double x1, x2, y1, y2;
|
||||
|
||||
if (hw->slot_state[j] != SLOTSTATE_UPDATE)
|
||||
if (hw->slot_state[j] == SLOTSTATE_EMPTY ||
|
||||
hw->slot_state[j] == SLOTSTATE_CLOSE)
|
||||
continue;
|
||||
|
||||
f2 = hw->mt_mask[j];
|
||||
|
||||
Reference in New Issue
Block a user