From c3e6f4b5533a74976ba9adb86f325a5f927dbf90 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 9 May 2017 15:26:33 +1000 Subject: [PATCH] Ignore taps in the palm detection area even in software buttons (#1415796) --- ...e-tap-exclusion-zone-down-to-the-ful.patch | 46 +++++++++++++++++++ libinput.spec | 6 ++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 0001-touchpad-pull-the-tap-exclusion-zone-down-to-the-ful.patch diff --git a/0001-touchpad-pull-the-tap-exclusion-zone-down-to-the-ful.patch b/0001-touchpad-pull-the-tap-exclusion-zone-down-to-the-ful.patch new file mode 100644 index 0000000..dd53373 --- /dev/null +++ b/0001-touchpad-pull-the-tap-exclusion-zone-down-to-the-ful.patch @@ -0,0 +1,46 @@ +From 3a940332df9dbc07ceff076e70a0972d2cf28769 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 9 May 2017 15:07:20 +1000 +Subject: [PATCH libinput] touchpad: pull the tap exclusion zone down to the + full edge zone + +This was originally left outside of the button areas in case users tap in +those zones, but we're getting false tap events in that zone. + +On a 100mm touchpad, the edge zone is merely 5mm, it's acceptable to ignore +taps in that area even in the software button. We can revisit this if we see +tap detection failures in the future. + +https://bugzilla.redhat.com/show_bug.cgi?id=1415796 + +Signed-off-by: Peter Hutterer +--- + src/evdev-mt-touchpad.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c +index e0757e17..54fa650b 100644 +--- a/src/evdev-mt-touchpad.c ++++ b/src/evdev-mt-touchpad.c +@@ -557,15 +557,9 @@ tp_palm_tap_is_palm(const struct tp_dispatch *tp, const struct tp_touch *t) + t->point.x < tp->palm.right_edge) + return false; + +- /* We're inside the left/right palm edge and not in one of the +- * software button areas */ +- if (t->point.y < tp->buttons.bottom_area.top_edge) { +- evdev_log_debug(tp->device, +- "palm: palm-tap detected\n"); +- return true; +- } +- +- return false; ++ evdev_log_debug(tp->device, ++ "palm: palm-tap detected\n"); ++ return true; + } + + static bool +-- +2.12.2 + diff --git a/libinput.spec b/libinput.spec index 9797b9e..0b10e52 100644 --- a/libinput.spec +++ b/libinput.spec @@ -5,7 +5,7 @@ Name: libinput Version: 1.7.2 -Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} +Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} Summary: Input device library License: MIT @@ -19,6 +19,7 @@ Source0: http://www.freedesktop.org/software/libinput/libinput-%{version} %endif Patch06: 0001-lid-re-init-the-event-listener-after-removing-it.patch +Patch07: 0001-touchpad-pull-the-tap-exclusion-zone-down-to-the-ful.patch BuildRequires: git BuildRequires: autoconf automake libtool pkgconfig @@ -96,6 +97,9 @@ find $RPM_BUILD_ROOT -name '*.la' -delete %changelog +* Tue May 09 2017 Peter Hutterer 1.7.2-2 +- Ignore taps in the palm detection area even in software buttons (#1415796) + * Tue May 09 2017 Peter Hutterer 1.7.2-1 - libinput 1.7.2