[PATCH libinput v4 0/2] Fix Lenovo X230 series touchpad

Benjamin Tissoires benjamin.tissoires at gmail.com
Mon Apr 20 11:29:43 PDT 2015


This is a new attempt to fix the X230 series.

This time, I tried to put some more scientific effort, and used gnuplot
to try to understand what was happening and how we could catch the same
acceleration at high speed than regular touchpads.

The results are synthetized in this png:

The red-ish lines are the ones plotted from the regular touchpad acceleration
profile for different speed settings (-1.0, 0.0, 1.0).

The black one is the one I submitted in the v1 of this series.
You can see that the max speed is caught when the input speed is 5, which is
not the common use case.

So I tried to implement what I wanted to do the first time:
- at low speed, slow down the cursor
- at high speed (> 2), catch up with the other touchpads
- find something acceptable in the middle

Not having to use the generic linear pointer acceleration made things much
easier to tune, and I ended up with the code in patch 1/2.

If other users of the X230 find this acceptable, I propose that we merge this
and then we try to tune it later.

My believe is that unless we properly filter the incoming events, we won't be
able to have a smooth solution. Nevertheless, I feel that these settings
should be OK.


Benjamin Tissoires (2):
  evdev: use a different filter for low resolution touchpad on the
    Lenovo X230
  udev: add a custom udev rule for X230 touchpads

 doc/device-configuration-via-udev.dox |    9 +++++++
 src/evdev-mt-touchpad.c               |   14 +++++++++--
 src/evdev.c                           |   23 +++++++++++++++++++
 src/evdev.h                           |    7 +++++
 src/filter.c                          |   40 +++++++++++++++++++++++++++++++++
 src/filter.h                          |    5 ++++
 udev/90-libinput-model-quirks.rules   |   14 +++++++++++
 udev/Makefile.am                      |    4 ++-
 8 files changed, 112 insertions(+), 4 deletions(-)
 create mode 100644 udev/90-libinput-model-quirks.rules

More information about the wayland-devel mailing list