summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHector Martin <marcan@marcan.st>2023-04-06 15:33:42 +0900
committerHector Martin <marcan@marcan.st>2023-04-06 16:34:20 +0900
commit4a8b5e6ec445b507fc0b1ef9842a60bf13c58772 (patch)
treec166211f7d371c89ffec8cb8bc72a52861396dc4
parentd61d385951c5678ad18d495358abe952ce359ac9 (diff)
downloadlibinput-4a8b5e6ec445b507fc0b1ef9842a60bf13c58772.tar.gz
touchpad: Disable edge palm detection Apple touchpads
This hurts more than it helps, and users complain of dead trackpad edges. Apple touchpads have fairly sophisticated internal palm rejection algorithms going back many years, so let's just disable this one on everything Apple. Related to: #433 (need to figure out what other hardware may need this) Signed-off-by: Hector Martin <marcan@marcan.st>
-rw-r--r--src/evdev-mt-touchpad.c4
-rw-r--r--test/litest.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index e2ecdea7..5b040ce5 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -3350,6 +3350,10 @@ tp_init_palmdetect_edge(struct tp_dispatch *tp,
!tp_is_tpkb_combo_below(device))
return;
+ /* Edge palm detection hurts more than it helps on Apple touchpads. */
+ if (evdev_device_has_model_quirk(device, QUIRK_MODEL_APPLE_TOUCHPAD))
+ return;
+
evdev_device_get_size(device, &width, &height);
/* Enable edge palm detection on touchpads >= 70 mm. Anything
diff --git a/test/litest.h b/test/litest.h
index 95150831..457790b3 100644
--- a/test/litest.h
+++ b/test/litest.h
@@ -1287,7 +1287,7 @@ litest_has_palm_detect_size(struct litest_device *dev)
if (bustype == BUS_BLUETOOTH)
return 0;
if (vendor == VENDOR_ID_APPLE)
- return 1;
+ return 0;
rc = libinput_device_get_size(dev->libinput_device, &width, &height);