mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-02-04 02:20:30 +01:00
touchpad: don't enable edge palm detection on Wacom touchpads
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
parent
6d0d36fd47
commit
f85a46b661
2 changed files with 13 additions and 3 deletions
|
|
@ -1372,6 +1372,7 @@ tp_init_palmdetect(struct tp_dispatch *tp,
|
|||
struct evdev_device *device)
|
||||
{
|
||||
int width, height;
|
||||
unsigned int vendor_id;
|
||||
|
||||
tp->palm.right_edge = INT_MAX;
|
||||
tp->palm.left_edge = INT_MIN;
|
||||
|
|
@ -1382,8 +1383,13 @@ tp_init_palmdetect(struct tp_dispatch *tp,
|
|||
height = abs(device->abs.absinfo_y->maximum -
|
||||
device->abs.absinfo_y->minimum);
|
||||
|
||||
/* Apple touchpads are always big enough to warrant palm detection */
|
||||
if (evdev_device_get_id_vendor(device) != VENDOR_ID_APPLE) {
|
||||
vendor_id = evdev_device_get_id_vendor(device);
|
||||
|
||||
/* Wacom doesn't have internal touchpads,
|
||||
* Apple touchpads are always big enough to warrant palm detection */
|
||||
if (vendor_id == VENDOR_ID_WACOM) {
|
||||
return 0;
|
||||
} else if (vendor_id != VENDOR_ID_APPLE) {
|
||||
/* We don't know how big the touchpad is */
|
||||
if (device->abs.absinfo_x->resolution == 1)
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -3198,9 +3198,13 @@ static int
|
|||
touchpad_has_palm_detect_size(struct litest_device *dev)
|
||||
{
|
||||
double width, height;
|
||||
unsigned int vendor;
|
||||
int rc;
|
||||
|
||||
if (libinput_device_get_id_vendor(dev->libinput_device) == ID_VENDOR_APPLE)
|
||||
vendor = libinput_device_get_id_vendor(dev->libinput_device);
|
||||
if (vendor == VENDOR_ID_WACOM)
|
||||
return 0;
|
||||
if (vendor == VENDOR_ID_APPLE)
|
||||
return 1;
|
||||
|
||||
rc = libinput_device_get_size(dev->libinput_device, &width, &height);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue