Bug 103281 - Dell XPS 13 (9343) wrong touchpad limits
Summary: Dell XPS 13 (9343) wrong touchpad limits
Status: RESOLVED NOTABUG
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-15 12:42 UTC by mattia.b89
Modified: 2017-11-20 04:29 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
evemu (179.59 KB, text/plain)
2017-10-15 12:42 UTC, mattia.b89
Details

Description mattia.b89 2017-10-15 12:42:21 UTC
Created attachment 134847 [details]
evemu

description:
there is a "death" trackpad area for the cursor movement. This issue happens only when I _start_ a movement, that is I place my finger on the "death" area and then I start moving it. This is not an issue if I continue the movement over that area because there is no problem, it is recognized as active and the cursor keeps on its movement.


further info:

libinput list-devices --version
1.8.3

xinput list-props "DLL0665:01 06CB:76AD Touchpad"
Device 'DLL0665:01 06CB:76AD Touchpad':
	Device Enabled (141):	1
	Coordinate Transformation Matrix (143):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (276):	1
	libinput Tapping Enabled Default (277):	0
	libinput Tapping Drag Enabled (278):	1
	libinput Tapping Drag Enabled Default (279):	1
	libinput Tapping Drag Lock Enabled (280):	0
	libinput Tapping Drag Lock Enabled Default (281):	0
	libinput Tapping Button Mapping Enabled (282):	1, 0
	libinput Tapping Button Mapping Default (283):	1, 0
	libinput Natural Scrolling Enabled (284):	0
	libinput Natural Scrolling Enabled Default (285):	0
	libinput Left Handed Enabled (286):	0
	libinput Left Handed Enabled Default (287):	0
	libinput Accel Speed (288):	0.676471
	libinput Accel Speed Default (289):	0.000000
	libinput Scroll Methods Available (290):	1, 1, 0
	libinput Scroll Method Enabled (291):	1, 0, 0
	libinput Scroll Method Enabled Default (292):	1, 0, 0
	libinput Click Methods Available (293):	1, 1
	libinput Click Method Enabled (294):	1, 0
	libinput Click Method Enabled Default (295):	1, 0
	libinput Middle Emulation Enabled (296):	0
	libinput Middle Emulation Enabled Default (297):	0
	libinput Send Events Modes Available (261):	1, 1
	libinput Send Events Mode Enabled (262):	0, 0
	libinput Send Events Mode Enabled Default (263):	0, 0
	libinput Disable While Typing Enabled (298):	1
	libinput Disable While Typing Enabled Default (299):	1
	Device Node (264):	"/dev/input/event10"
	Device Product ID (265):	1739, 30381
	libinput Drag Lock Buttons (300):	<no items>
	libinput Horizontal Scroll Enabled (301):	1

evemu, attached. I have recorded a one-finger horizontal motion: I put the finger outside the trackpad, on the left and at the middle of its height. I have started a horizontal motion to the right, covering the piece of case, then I entered in the trackpad area(*) up to the center of it. Finally I came back up to the original starting point. What was the goal of this movement: show you that for the outward path, there is a "death" area: cursor starts its movement one centimeter after my finger entered the trackpad area; while in the return path the cursor keeps on going until my finger goes out of the trackpad area.

udevadm info /sys/class/input/event10 
P: /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input13/event10
N: input/event10
S: input/by-path/platform-INT3433:00-event-mouse
E: DEVLINKS=/dev/input/by-path/platform-INT3433:00-event-mouse
E: DEVNAME=/dev/input/event10
E: DEVPATH=/devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL0665:01/0018:06CB:76AD.0001/input/input13/event10
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=56
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_WIDTH_MM=101
E: ID_PATH=platform-INT3433:00
E: ID_PATH_TAG=platform-INT3433_00
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=18/6cb/76ad/100:i2c-DLL0665:01
E: LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1
E: MAJOR=13
E: MINOR=74
E: SUBSYSTEM=input
E: USEC_INITIALIZED=3009153

hardware: Dell XPS 13 (9343)

cat /sys/class/dmi/id/modalias
dmi:bvnDellInc.:bvrA13:bd06/16/2017:svnDellInc.:pnXPS139343:pvr:rvnDellInc.:rn0TM99H:rvrA00:cvnDellInc.:ct9:cvr:

physical dimensions of the touchpad, taken from official Dell manual:
height, 60 mm
width, 105 mm
and its resolution:
horizontal, 305 dpi
vertical, 305 dpi
Comment 1 mattia.b89 2017-10-15 13:31:27 UTC
I have to add that this issue is present for left and the right margin.
The top one works as expected.
Instead the bottom margin since it has the button rightly does not start the movement (even if I'd like to have the option to enable it because the whole trackpad area is clickable, so there is no reason for this behaviour IMHO)
Comment 2 Peter Hutterer 2017-10-16 04:07:05 UTC
the left/right issue is likely this: http://wayland.freedesktop.org/libinput/doc/latest/palm_detection.html

and the bottom issue is the software button area, you can change this in the config options to clickfinger behaviour.

having said that, the dimensions are out by 4mm, please run the touchpad-edge-detector tool and attach the output here.
Comment 3 mattia.b89 2017-10-16 15:34:50 UTC
I will investigate on palm-detection issue.

desired output is:
[mattia@arch-xps ~]$ sudo touchpad-edge-detector 105x60 /dev/input/event10 
Touchpad DLL0665:01 06CB:76AD Touchpad on /dev/input/event10
Move one finger around the touchpad to detect the actual edges
Kernel says:	x [0..1216], y [0..680]
Touchpad sends:	x [0..1216], y [0..680] |^C

Touchpad size as listed by the kernel: 101x56mm
User-specified touchpad size: 105x60mm
Calculated ranges: 1216/680

Suggested udev rule:
# <Laptop model description goes here>
evdev:name:DLL0665:01 06CB:76AD Touchpad:dmi:bvnDellInc.:bvrA13:bd06/16/2017:svnDellInc.:pnXPS139343:pvr:rvnDellInc.:rn0TM99H:rvrA00:cvnDellInc.:ct9:cvr:*
 EVDEV_ABS_00=0:1216:12
 EVDEV_ABS_01=0:680:11
 EVDEV_ABS_35=0:1216:12
 EVDEV_ABS_36=0:680:11
Comment 4 Peter Hutterer 2017-10-16 22:36:18 UTC
hmm, ok, that matches almost exactly what the touchpad announced anyway. I don't think I'll push the range fix out, it's churn for very little benefit here.
Comment 5 Peter Hutterer 2017-10-17 03:48:17 UTC
actually, I'm closing this for now based on comment #2, this does look like palm detection behaviour.
Comment 6 Gaganjyot 2017-11-10 08:03:15 UTC
(In reply to Peter Hutterer from comment #4)
> hmm, ok, that matches almost exactly what the touchpad announced anyway. I
> don't think I'll push the range fix out, it's churn for very little benefit
> here.

Could the fix be provided as a patch? I am unable to use any linux distro with wayland on my dell cause of this bug. The trackpad is small and always causes distraction

Regards,
Gaganjyot
Comment 7 Peter Hutterer 2017-11-13 03:53:39 UTC
Have you verified that the hwdb entry above really fixes the issue you're seeing? We're looking at a rounding error here, there isn't much we can do about that.
Comment 8 Peter Hutterer 2017-11-20 04:29:35 UTC
closing again, please only reopen when you've verified that the hwdb entry is really the fix, thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.