Revert "touchpad: reset the motion history on significant negative pressure changes"

We will reinstate the hysteresis for all devices making the negative
pressure check unncessary.

This reverts commit ef48c07a96.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 89747d7143)
This commit is contained in:
Peter Hutterer 2016-06-16 16:10:21 +10:00
parent 7e3cfc261e
commit 762e752899
5 changed files with 12 additions and 40 deletions

View file

@ -357,7 +357,6 @@ tp_process_absolute(struct tp_dispatch *tp,
tp_end_sequence(tp, t, time);
break;
case ABS_MT_PRESSURE:
t->pressure_delta = e->value - t->pressure;
t->pressure = e->value;
t->dirty = true;
tp->queued |= TOUCHPAD_EVENT_OTHERAXIS;
@ -990,9 +989,6 @@ tp_process_state(struct tp_dispatch *tp, uint64_t time)
if (!t->dirty)
continue;
if (t->pressure_delta < -7)
tp_motion_history_reset(t);
if (tp_detect_jumps(tp, t)) {
if (!tp->semi_mt)
log_bug_kernel(tp_libinput_context(tp),

View file

@ -155,7 +155,6 @@ struct tp_touch {
uint64_t millis;
int distance; /* distance == 0 means touch */
int pressure;
int pressure_delta;
struct {
/* A quirk mostly used on Synaptics touchpads. In a

View file

@ -1499,28 +1499,6 @@ litest_touch_move_extended(struct litest_device *d,
litest_slot_move(d, slot, x, y, axes, true);
}
void
litest_touch_move_to_extended(struct litest_device *d,
unsigned int slot,
double x_from, double y_from,
double x_to, double y_to,
struct axis_replacement *axes,
int steps, int sleep_ms)
{
for (int i = 0; i < steps - 1; i++) {
litest_touch_move_extended(d, slot,
x_from + (x_to - x_from)/steps * i,
y_from + (y_to - y_from)/steps * i,
axes);
if (sleep_ms) {
libinput_dispatch(d->libinput);
msleep(sleep_ms);
libinput_dispatch(d->libinput);
}
}
litest_touch_move_extended(d, slot, x_to, y_to, axes);
}
void
litest_touch_move_to(struct litest_device *d,
unsigned int slot,
@ -1528,11 +1506,17 @@ litest_touch_move_to(struct litest_device *d,
double x_to, double y_to,
int steps, int sleep_ms)
{
litest_touch_move_to_extended(d, slot,
x_from, y_from,
x_to, y_to,
NULL,
steps, sleep_ms);
for (int i = 0; i < steps - 1; i++) {
litest_touch_move(d, slot,
x_from + (x_to - x_from)/steps * i,
y_from + (y_to - y_from)/steps * i);
if (sleep_ms) {
libinput_dispatch(d->libinput);
msleep(sleep_ms);
libinput_dispatch(d->libinput);
}
}
litest_touch_move(d, slot, x_to, y_to);
}
static int

View file

@ -409,13 +409,6 @@ litest_touch_move_to(struct litest_device *d,
double x_from, double y_from,
double x_to, double y_to,
int steps, int sleep_ms);
void
litest_touch_move_to_extended(struct litest_device *d,
unsigned int slot,
double x_from, double y_from,
double x_to, double y_to,
struct axis_replacement *axes,
int steps, int sleep_ms);
void
litest_touch_move_two_touches(struct litest_device *d,

View file

@ -3594,7 +3594,7 @@ START_TEST(touchpad_thumb_edgescroll)
libinput_dispatch(li);
litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_AXIS);
litest_touch_move_to_extended(dev, 0, 99, 55, 99, 70, axes, 10, 0);
litest_touch_move_to(dev, 0, 99, 55, 99, 70, 10, 0);
litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_AXIS);
}