Open ruebenramirez opened 7 years ago
ftp://www.x.org/pub/X11R7.5/doc/man/man4/synaptics.4.html
xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 7, 80
xinput set-prop 13 "Synaptics Pressure Motion" 70, 160
xinput set-prop 13 "Synaptics Two-Finger Scrolling" 1, 1
xinput set-prop 13 "Synaptics Tap Action" 0, 0, 0, 0, 0, 0, 0
xinput set-prop 13 "Synaptics Scrolling Distance" -30, -30
these i3 gestures sound pretty awesome: https://github.com/Spirotot/dotFiles/blob/arch/.config/libinput-gestures.conf
disable i2c_designware
driver:
synclient commands
to work properly without requiring xinput
property setting
source: http://wiki.yobi.be/wiki/Laptop_Dell_XPS_15#Touchpadreddit thread on synaptics palm detection not working in ubuntu: https://www.reddit.com/r/Dell/comments/4601jl/xps_15_9550_ubuntu_palm_detection/
one guy recommends using libinput driver instead of synaptics. Here's his config:
Section "InputClass"
Identifier "libinput"
Driver "libinput"
MatchDevicePath "/dev/input/event*"
Option "Tapping" "True"
Option "TappingDragLock" "True"
Option "PalmDetection" "True"
Option "DisableWhileTyping" "True"
Option "NaturalScrolling" "True"
Option "AccelProfile" "adaptive"
Option "AccelSpeed" "0.1"
Option "ClickMethod" "buttonareas"
Option "MiddleEmulation" "True"
Option "ScrollMethod" "twofinger"
Option "HorizontalScrolling" "True"
Option "SendEventsMode" "disabled-on-external-mouse"
EndSection
arch wiki page on Dell XPS 15 9550 also recommends libinput.. https://wiki.archlinux.org/index.php/Dell_XPS_15_(9550)#Touchpad
major hayden had issues with his xps 13 a little while ago -- https://major.io/2015/02/03/linux-support-dell-xps-13-9343-2015-model/
these folks are troubleshooting the dell xps 13 touchpad configuration on ubuntu also: https://github.com/advancingu/XPS13Linux/issues/3
I had blacklisted the the I2C driver in my /etc/modprobe.d/synaptics.conf
file with:
blacklist i2c-designware-platform
To toggle the blacklist off, I commented out the blacklist line and reloaded the driver list via:
sudo depmod -a
sudo update-initramfs -u
looks like if I don't blacklist the I2C drivers and then install the xorg libinput packages:
sudo apt install xserver-xorg-input-libinput
then everything is working really nicely with these config settings:
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Palm Detection" 1
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Palm Dimensions" 6, 300
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Pressure Motion" 80, 200
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Two-Finger Scrolling" 1, 1
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Tap Action" 0, 0, 0, 0, 0, 0, 0
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Scrolling Distance" -30, -30
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "Synaptics Finger" 32, 35, 0
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "libinput Natural Scrolling Enabled" 1
xinput set-prop "DLL06E4:01 06CB:7A13 Touchpad" "libinput Click Method Enabled" 0 1
Installing the libinput driver fixes it. What a huge improvement! I would also recommend doing some of the config steps mentioned here: https://forum.manjaro.org/t/synaptic-vs-libinput/3155/32 to enable click-to-tap
@ruebenramirez Are you sure those Synaptics properties still show up (in xinput list-props "DLL06E4:01 06CB:7A13 Touchpad") and work when you don't use the Synaptic driver? Some other guides suggest they don't. I need to be able to reassign what the tapping with two or three fingers does, like I currently do with the following line:
xinput set-prop 11 "Synaptics Tap Action" 2 3 0 0 1 2 3 (i.e. 2 finger tap = middle mouse button, 3 finger tap = right mouse button)
@brukatv Are you using any of the Synaptics properties?
@blunden https://github.com/ruebenramirez/.dotfiles/blob/master/bin/configure-trackpad-palm-detection.sh#L6 (fyi the synclient lines are for some thinkpads I use, hasn't helped with the xps 9550 touchpad)
I run that via my .xinitrc (via startx): https://github.com/ruebenramirez/.dotfiles/blob/master/.xinitrc#L9
(sorry for how sloppy this is right now....I need to spend a bit of time cleaning all of this up)
Once I'm in my X session (i3wm in my case):
$ xinput list-props "DLL06E4:01 06CB:7A13 Touchpad"
Device 'DLL06E4:01 06CB:7A13 Touchpad':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (279): 0
libinput Tapping Enabled Default (280): 0
libinput Tapping Drag Enabled (281): 1
libinput Tapping Drag Enabled Default (282): 1
libinput Tapping Drag Lock Enabled (283): 0
libinput Tapping Drag Lock Enabled Default (284): 0
libinput Accel Speed (285): 0.000000
libinput Accel Speed Default (286): 0.000000
libinput Natural Scrolling Enabled (287): 1
libinput Natural Scrolling Enabled Default (288): 0
libinput Send Events Modes Available (259): 1, 1
libinput Send Events Mode Enabled (260): 0, 0
libinput Send Events Mode Enabled Default (261): 0, 0
libinput Left Handed Enabled (289): 0
libinput Left Handed Enabled Default (290): 0
libinput Scroll Methods Available (291): 1, 1, 0
libinput Scroll Method Enabled (292): 1, 0, 0
libinput Scroll Method Enabled Default (293): 1, 0, 0
libinput Click Methods Available (294): 1, 1
libinput Click Method Enabled (295): 0, 1
libinput Click Method Enabled Default (296): 1, 0
libinput Middle Emulation Enabled (297): 0
libinput Middle Emulation Enabled Default (298): 0
libinput Disable While Typing Enabled (299): 1
libinput Disable While Typing Enabled Default (300): 1
Device Node (262): "/dev/input/event12"
Device Product ID (263): 1739, 31251
libinput Drag Lock Buttons (301): <no items>
libinput Horizonal Scroll Enabled (264): 1
@ruebenramirez As those Synaptics properties are not listed, I'm guessing they have no effect after your switch to libinput. That's a shame. :(
@blunden you're using a different driver so obviously Synaptics configs will have no effect. I believe you can easily customize the behavior of multi-button taps. Take a look at these instructions: https://wiki.archlinux.org/index.php/Libinput#Button_re-mapping
@brukatv Since you are already using libinput on this hardware, could you tell me the output from xinput get-button-map [device]?
@blunden
$ xinput get-button-map "DLL06E4:01 06CB:7A13 Touchpad"
1 2 3 4 5 6 7
same result 1 2 3 4 5 6 7
I ended up trying libinput and palm detection/rejection now works, as previously mentioned. This is the configuration I ended up using.:
Section "InputClass"
Identifier "libinput"
Driver "libinput"
MatchDevicePath "/dev/input/event*"
MatchIsTouchpad "on"
Option "Tapping" "True"
Option "TappingButtonMap" "lmr"
Option "TappingDragLock" "True"
Option "PalmDetection" "True"
Option "DisableWhileTyping" "True"
Option "NaturalScrolling" "True"
Option "AccelProfile" "adaptive"
Option "AccelSpeed" "0.05"
Option "ClickMethod" "buttonareas"
Option "MiddleEmulation" "True"
Option "ScrollMethod" "twofinger"
Option "HorizontalScrolling" "True"
EndSection
Unfortunately the libinput driver shipping with Ubuntu 16.10 doesn't support the TappingButtonMap option that would allow me to remap the taps the way I want without affecting the buttons at the bottom. I guess I'll just have to wait until 17.04 or build the newer versions myself.
Besides those, the most important changes I made from the previously posted config is adding the line below to prevent the settings to affect other input devices like external mice.
MatchIsTouchpad "on"
added a simple script to quickly toggle the trackpad on/off: https://github.com/ruebenramirez/.dotfiles/blob/master/bin/toggle-dell-trackpad.sh
even better solution now that I'm running on the xps 9360:
It is a little difficult with this touchpad. The best I have gotten it to work with is through libinput. I just did:
sudo apt-get install libinput
Then I edited the libinput config in/usr/share/X11/xorg.conf.d/90-libinput.conf
to have this:Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "True" Option "PalmDetection" "True" Option "TappingDragLock" "True" EndSection
https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/