advancingu / XPS13Linux

Public collection of issues with running Linux on a Dell XPS 13 (2015 edition)
131 stars 3 forks source link

Touchpad Palm Detection not working on Ubuntu #3

Open LiohMoeller opened 9 years ago

LiohMoeller commented 9 years ago

On the default installation of Ubuntu 14.04, the touchpad palm detection is not working correctly.

advancingu commented 9 years ago

Which BIOS version are you using?

LiohMoeller commented 9 years ago

A03

LiohMoeller commented 9 years ago

This is the same when booting from a Live USB 15.04 btw

tgalopin commented 9 years ago

Could help: http://stevenkohlmeyer.com/fixing-palm-detect-ubuntu-14-04/

dchambers commented 9 years ago

If this is also an issue in 15.04 than it might make sense to change the title to avoid confusion.

anaran commented 9 years ago

Is this verified to be a palm detect issue?

I assume the issue described here are spurious cursor jumps and text selections or, worst, even shortcut executions (e.g. when cursor jumps into thunderbird K might actually kill the thread.

I am getting the feeling that CPU load may trigger these effects as I have been very careful to keep my palms clear of the touchpad.

And yes I still see all of this in ubuntu 15.04.

LiohMoeller commented 9 years ago

My initial report was related to palm detection.

anaran commented 9 years ago

@MarcusMoeller yeah, I got lost for a bit between the many possibly related issues. Do you also see those events generated for my recipe in issue #14?

musicformellons commented 9 years ago

As native Ubuntu unity 14.04 had several problems (hdpi, touchpad, external monitor, etc.) I made fresh install of Ubuntu Gnome (seems much better than Unity re hdpi issues). All is splendid, except the palm detection of the touchpad which is really annoying. I fiddled with it for quite some time but no solution it seems. I also tried: http://stevenkohlmeyer.com/fixing-palm-detect-ubuntu-14-04/ Results: With 'xinput list' I find two items which relate to the touchpad:
1) DLL0665:01 06CB:76AD UNKNOWN 2) PS/2 Synaptics TouchPad

When I enable/ switch off the first (DLL) via xinput in the terminal the touchpad indeed toggles on/off. The touchpad does not react at all to enabling/ switcing off the second (Synaptics). The settings of DLL also correspond to the Gnome GUI settings under 'mouse&touchpad' for all tickmark settings and the ON/OFF button. One exception, it does not change settings when I adjust the pointer speed in the GUI (I see no change in the xinput settings, however the pointer does speed up/ slow down...).

When adjusting the palm detection settings with:
xinput set-prop 12 "Synaptics Palm Detection" 1 xinput set-prop 12 "Synaptics Palm Dimensions" 5, 80

And fiddling a lot with the values I have to conclude: they do not do ANYTHING, i.e. when I stroke with my palm the pointer always reacts.

I would be very happy with a solution as I know use a workaround: completely switching off the touchpad when typing with shortkeys.

Dell XPS 9343 (april 2015) bios A03 Ubuntu gnome 15.04 (3.19 kernel)

dchambers commented 9 years ago

@musicformellons, have you seen this comment by @anaran? Does that help at all?

musicformellons commented 9 years ago

I looked into Anaran's issue (and watched his video), but I am pretty sure he addresses another issue: he touches the touchpad with his thumb when using/resting at his space bar. I however do not have this issue: I touch the touchpad with my palms now and then (as everybody does...when typing).

anaran commented 9 years ago

@musicformellons Not sure what you are trying to say. What I addressed and fixed with a modified config in issue #14 is a separate issue, yes. And as I was able to feel my interactions while recording the video I was not touching the upper rim of the touchpad with my thumbs.

This issue #3 is still unresolved for me. I was not able to get my sytem to ignore brushes of my palms. They still cause cursor moves and even button clicks with tap to click on.

Ah, reading your older comment suggests you are just confirming that palm detection does not work for you either.

musicformellons commented 9 years ago

Yes, issue #3 still unresolved for both of us.

Robsteranium commented 9 years ago

Palm detection is disabled by default. I've just tried turning it on like this:

$ synclient PalmDetect=1

It looks like there's also PalmMinWidth and PalmMinZ settings to tinker with (synclient -l to see the full list). Note that you'll need to add this to your xorg conf to make the changes persist (i.e. after a reboot).

musicformellons commented 9 years ago

@Robsteranium : and does palm detection work for you? Because I have the correct setting but it is pretty clear that it does NOT work. When I use my palm on the touchpad the pointer reacts as if using a finger...

My synclient settings: ~$ synclient -l Parameter settings: LeftEdge = 48 RightEdge = 1168 TopEdge = 36 BottomEdge = 644 FingerLow = 25 FingerHigh = 30 MaxTapTime = 180 MaxTapMove = 61 MaxDoubleTapTime = 180 SingleTapTimeout = 180 ClickTime = 100 EmulateMidButtonTime = 0 EmulateTwoFingerMinZ = 282 EmulateTwoFingerMinW = 7 VertScrollDelta = -27 HorizScrollDelta = -27 VertEdgeScroll = 0 HorizEdgeScroll = 0 CornerCoasting = 0 VertTwoFingerScroll = 1 HorizTwoFingerScroll = 1 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.143575 TouchpadOff = 2 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 2 RBCornerButton = 3 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 3 TapButton3 = 2 ClickFinger1 = 1 ClickFinger2 = 3 ClickFinger3 = 0 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 1 PalmMinWidth = 5 PalmMinZ = 5 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 30 PressureMotionMaxZ = 160 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 ResolutionDetect = 1 GrabEventDevice = 0 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 HorizHysteresis = 6 VertHysteresis = 6 ClickPad = 1 RightButtonAreaLeft = 608 RightButtonAreaRight = 0 RightButtonAreaTop = 557 RightButtonAreaBottom = 0 MiddleButtonAreaLeft = 0 MiddleButtonAreaRight = 0 MiddleButtonAreaTop = 0 MiddleButtonAreaBottom = 0

I followed several links on this topic but settings simply do not work so it is a driver issue I suppose: https://wiki.archlinux.org/index.php/Touchpad_Synaptics http://en.community.dell.com/techcenter/os-applications/f/4613/t/19544120 https://wiki.archlinux.org/index.php/Touchpad_Synaptics http://stevenkohlmeyer.com/fixing-palm-detect-ubuntu-14-04/ http://xps13-9333.appspot.com/#touchpad

Did not try the patch in the last link as it is 'way above my head' and pretty unsure whether this will solve it...

dchambers commented 9 years ago

Hi @Robsteranium, the ArchLinux XPS 13 page seems to be the best resource for the XPS 13 I can find, and if you ignore Broadcom Wifi & Bluetooth issues (you can after all purchase an Intel card quite cheaply), then this seems to be the only outstanding issue.

gitaarik commented 9 years ago

My output of xinput list contained an unknown device:

~ $ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ DLL0665:01 06CB:76AD UNKNOWN              id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=14   [slave  keyboard (3)]

You see, the DLL0665:01 06CB:76AD UNKNOWN device. I noticed that this was the device in use and not SynPS/2 Synaptics TouchPad, because setting the Device Enabled property to 0 on the latter didn't disable my touchpad but on the former it did. So I tried setting the Synaptics Palm Detection and Synaptics Palm Dimensions properties on this device but it still didn't have any effect.

I checked the Arch Linux XPS 13 wiki page, it says this:

With the latest BIOS patch, most of the touchpad functions should work, although palm detection does not work in i2c mode yet.

I'm not sure what "i2c mode" is and I'm not sure how to disable it, but I just tried a couple of things and I ended up adding this line:

blacklist i2c_hid

to /etc/modprobe.d/blacklist.conf. This blacklists the linux kernel module i2c_hid, so it won't get loaded. After I rebooted the laptop, I noticed the unknown device disappeared from the xinput list output:

~ $ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

Not sure why disabling the i2c_hid module has this effect. Anyway, now changing the Device Enabled property on SynPS/2 Synaptics TouchPad did have effect, but changing the Synaptics Palm Detection and Synaptics Palm Dimensions properties still didn't have any effect.

But while I was experimenting, I noticed that the behavior did change somewhat. I noticed that while I was typing, I didn't have accidental taps anymore. I found out this was because the process syndaemon was running. This is a daemon that disables the touchpad when there's keyboard activity. I checked if this was also running if I didn't blacklist the i2c_hid module and it was, but then it apparently didn't have any effect.

So, as far as I can see, blacklisting the linux kernel module ic2_hid makes an unknown device in xinput list disappear and syndaemon work. When syndaemon works, I actually don't have a lot of issues with the touchpad anymore (at least for now).

Hope this helps anyone. Btw, I have a XPS 13 Core i5 without touchscreen, with Ubuntu 15.04 and the latest BIOS driver (A04).

Edit: Too bad, I just noticed that when I'm blacklisting ic2_hid, the mousepad occasionally freezes (the pointer stops moving for about half a second) every couple of seconds. I checked if this was because of syndaemon but turning that off didn't make a change. Very sad, this is at least as annoying as the occasional palm touches... I might just turn of the tap functionality and use the click functionality of the touch pad only.

musicformellons commented 9 years ago

@gitaarik: I did follow your settings. In the end the "disable while typing" does not work however, I still have jumps and taps. Are you sure it is working for you?

Some other weird behaviour I noticed:

It think 2 finger width and palm detection are closely related and both do not work with current drivers.

gitaarik commented 9 years ago

@musicformellons yes, pretty sure it worked for me. Did you have the unknown device in the xinput list output? What did you try? The id of your device (13) doesn't tell me much.

musicformellons commented 9 years ago

@gitaarik Yes I had the exact same unknown device. All of your steps were the same. Whether I set the Gnome GUI setting checkbox for "Disable while typing" checked or unchecked does not make a difference it seems.

My settings: Device 'SynPS/2 Synaptics 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 Device Accel Profile (272): 1 Device Accel Constant Deceleration (273): 1.000000 Device Accel Adaptive Deceleration (274): 1.000000 Device Accel Velocity Scaling (275): 12.500000 Synaptics Edges (297): 1583, 5359, 1371, 4481 Synaptics Finger (298): 10, 14, 0 Synaptics Tap Time (299): 250 Synaptics Tap Move (300): 350 Synaptics Tap Durations (301): 180, 100, 100 Synaptics ClickPad (302): 1 Synaptics Middle Button Timeout (303): 0 Synaptics Two-Finger Pressure (304): 40 Synaptics Two-Finger Width (305): 12 Synaptics Scrolling Distance (306): -190, -300 Synaptics Edge Scrolling (307): 0, 0, 1 Synaptics Two-Finger Scrolling (308): 1, 1 Synaptics Move Speed (309): 1.000000, 12.000000, 0.022000, 0.000000 Synaptics Off (310): 2 Synaptics Locked Drags (311): 0 Synaptics Locked Drags Timeout (312): 5000 Synaptics Tap Action (313): 2, 3, 0, 8, 1, 3, 2 Synaptics Click Action (314): 1, 3, 0 Synaptics Circular Scrolling (315): 1 Synaptics Circular Scrolling Distance (316): 0.100000 Synaptics Circular Scrolling Trigger (317): 7 Synaptics Circular Pad (318): 0 Synaptics Palm Detection (319): 1 Synaptics Palm Dimensions (320): 5, 5 Synaptics Coasting Speed (321): 20.000000, 50.000000 Synaptics Pressure Motion (322): 30, 160 Synaptics Pressure Motion Factor (323): 1.000000, 1.000000 Synaptics Resolution Detect (324): 1 Synaptics Grab Event Device (325): 0 Synaptics Gestures (326): 1 Synaptics Capabilities (327): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (328): 1, 1 Synaptics Area (329): 0, 0, 0, 0 Synaptics Soft Button Areas (330): 3471, 0, 4083, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (331): 28, 28 Device Product ID (259): 2, 7 Device Node (260): "/dev/input/event6"

musicformellons commented 9 years ago

@gitaarik BTW: I do not have freezes... I am on Dell XPS 13 9343, ubuntu 15.04 Gnome, bios A03 and kernel 4.1

gitaarik commented 9 years ago

@musicformellons Did you check if the syndaemon process is running?

ps aux | grep syndaemon

For me this process was always running (as long as the "Disable while typing" checkbox in the touchpad settings was checked), but only worked after I blacklisted i2c_hid and restarted. But yeah, then I had the freezes too.

musicformellons commented 9 years ago

Not sure about output, but seems to be running?!: 885 0.0 0.0 22352 232 ? Ss 10:44 0:00 /usr/bin/syndaemon -d -t -k -i 2 1010 0.0 0.0 22352 2492 ? S 10:44 0:00 syndaemon -i 1.0 -t -K -R 2063 0.0 0.0 13696 2216 pts/0 R+ 10:46 0:00 grep --color=auto syndaemon

2015-06-18 10:36 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons Did you check if the syndaemon process is running?

ps aux | grep syndaemon

For me this process was always running (as long as the "Disable while typing" checkbox in the touchpad settings was checked), but only worked after I blacklisted i2c_hid and restarted. But yeah, then I had the freezes too.

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113076299 .

gitaarik commented 9 years ago

It even looks like it's running two times for you, /usr/bin/syndaemon -d -t -k -i 2 and syndaemon -i 1.0 -t -K -R. Not sure why it's running two times for you, maybe that's the problem. You can kill one with kill <process-id> where the number on the left in the output is the process id. You can also spin off a new process by entering the command yourself. You can check the options for syndaemon with man syndaemon or maybe syndaemon --help.

musicformellons commented 9 years ago

yes, I followed this: https://wiki.debian.org/SynapticsTouchpad which runs the /usr/bin/syndaemon

the other one is the one of Gnome GUI checkbox.

Killing one or the other does not work: touchpad remains on while typing.

I did delete the first one as it seems redundant.

Thanks anyways.

2015-06-18 12:37 GMT+02:00 Rik notifications@github.com:

It even looks like it's running two times for you, /usr/bin/syndaemon -d -t -k -i 2 and syndaemon -i 1.0 -t -K -R. Not sure why it's running two times for you, maybe that's the problem. You can kill one with kill

where the number on the left in the output is the process id. You can also spin off a new process by entering the command yourself. You can check the options for syndaemon with man syndaemon or maybe syndaemon --help. — Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113103315 .
gitaarik commented 9 years ago

@musicformellons are you also still able to tap-to-click with the touchpad while typing?

musicformellons commented 9 years ago

@gitaarik AAAH! It works! GREAT! As the value of "Synaptics Off" is set to 2 (I tried setting it to 0 before but that stopped my touchpad completely) I was thinking that the swipes would still occur but that clicks should be blocked. That is what I tested all the time (so I do not know if it worked while having syndaemon running twice). But you are right it is stopping taps form occurring. Very clearly so. So it works for taps which is great!

Actually after fine-tuning the settings I am starting to feel pretty comfortable about the touchpad. A pity that palm detection does not work but this is already quite good.

I tried now to set Synaptics Off to 0 (to also block swiping), but it will not accept this setting it seems. It does not alter the behavior (swipes continue while typing; taps are blocked). The setting gives this (look at the end for strange lines..., it seems to toggle back from 0 to 2... ): ~$ xinput --watch-props 13 Device 'SynPS/2 Synaptics 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 Device Accel Profile (272): 1 Device Accel Constant Deceleration (273): 1.000000 Device Accel Adaptive Deceleration (274): 1.000000 Device Accel Velocity Scaling (275): 12.500000 Synaptics Edges (297): 1583, 5359, 1371, 4481 Synaptics Finger (298): 10, 14, 0 Synaptics Tap Time (299): 180 Synaptics Tap Move (300): 350 Synaptics Tap Durations (301): 180, 100, 100 Synaptics ClickPad (302): 1 Synaptics Middle Button Timeout (303): 0 Synaptics Two-Finger Pressure (304): 40 Synaptics Two-Finger Width (305): 12 Synaptics Scrolling Distance (306): -200, -300 Synaptics Edge Scrolling (307): 0, 0, 1 Synaptics Two-Finger Scrolling (308): 1, 1 Synaptics Move Speed (309): 1.000000, 12.000000, 0.022000, 0.000000 Synaptics Off (310): 2 Synaptics Locked Drags (311): 1 Synaptics Locked Drags Timeout (312): 5000 Synaptics Tap Action (313): 2, 3, 0, 8, 1, 3, 2 Synaptics Click Action (314): 1, 3, 0 Synaptics Circular Scrolling (315): 0 Synaptics Circular Scrolling Distance (316): 0.100000 Synaptics Circular Scrolling Trigger (317): 7 Synaptics Circular Pad (318): 0 Synaptics Palm Detection (319): 1 Synaptics Palm Dimensions (320): 5, 5 Synaptics Coasting Speed (321): 20.000000, 50.000000 Synaptics Pressure Motion (322): 30, 160 Synaptics Pressure Motion Factor (323): 1.000000, 1.000000 Synaptics Resolution Detect (324): 1 Synaptics Grab Event Device (325): 0 Synaptics Gestures (326): 1 Synaptics Capabilities (327): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (328): 1, 1 Synaptics Area (329): 0, 0, 0, 0 Synaptics Soft Button Areas (330): 3471, 0, 4083, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (331): 28, 28 Device Product ID (259): 2, 7 Device Node (260): "/dev/input/event5" Property 'Synaptics Off' changed. Synaptics Off (310): 0 Property 'Synaptics Off' changed. Synaptics Off (310): 2 Property 'Synaptics Off' changed. Synaptics Off (310): 0

2015-06-18 15:04 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons are you also still able to tap-to-click with the touchpad while typing?

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113149235 .

musicformellons commented 9 years ago

The other syndaemon service (I had before) works as well separately (when I uncheck 'disable typing') and then I can set the inverval as I like.

2015-06-18 15:04 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons are you also still able to tap-to-click with the touchpad while typing?

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113149235 .

gitaarik commented 9 years ago

@musicformellons Ok nice going, did you also had to blacklist i2c_hid? And aren't you getting the occasional freezes?

musicformellons commented 9 years ago

@gitaarik The freezes you have: these are really obvious to notice?

My cursor sometimes seems to 'hang' for a second or so but I think maybe my pressure settings need some adjusting, since when I just make swiping circles (or just up and down) for a long time (with more or less same pressure) it does not hang.

2015-06-18 15:04 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons are you also still able to tap-to-click with the touchpad while typing?

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113149235 .

gitaarik commented 9 years ago

@musicformellons When I tried last time, I was also making circles and occasionally (every 5/10 seconds or so) it hanged for half a second. It was pretty obvious to notice.

If you manage to solve this I would love to hear it ;)

musicformellons commented 9 years ago

@gitaarik Yes I blacklisted just like you did. I am not 100% sure about the freezes, but seems pretty ok. One thing which can probably be solved by adjusting some synaptics settings is that when I swipe it sometimes makes a 'block selection'.

Overall, pretty happy now.

2015-06-18 15:53 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons Ok nice going, did you also had to blacklist i2c_hid? And aren't you getting the occasional freezes?

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113163476 .

musicformellons commented 9 years ago

@gitaarik You could try these settings (which work for me):

Section "InputClass" Identifier "Touchpad" # required MatchIsTouchpad "on" # required Driver "synaptics" # required Option "FingerLow" "10" Option "FingerHigh" "14" Option "MaxTapTime" "180" Option "MaxTapMove" "350" Option "MaxDoubleTapTime" "100" Option "FastTaps" "1" Option "MinSpeed" "1.000" Option "MaxSpeed" "12.000" Option "AccelFactor" "0.022" Option "LockedDrags" "1" Option "LockedDragTimeout" "5000" Option "TapButton1" "1" Option "TapButton2" "2" # multitouch Option "TapButton3" "3" # multitouch Option "VertTwoFingerScroll" "1" # multitouch Option "HorizTwoFingerScroll" "1" # multitouch Option "VertEdgeScroll" "1" Option "CoastingSpeed" "20, 50" Option "EmulateTwoFingerMinZ" "40" Option "EmulateTwoFingerMinW" "12" Option "CornerCoasting" "1" Option "CircularScrolling" "0" Option "CircScrollTrigger" "7" Option "EdgeMotionUseAlways" "1" Option "LBCornerButton" "8" # browser "back" btn Option "RBCornerButton" "9" # browser "forward" btn Option "VertScrollDelta" "-200" Option "HorizScrollDelta" "-300"

# Enables Palm Detection to prevent bad clicks
# This seems to work on PS/2, but not on i2c
    Option "PalmDetect" "1"
    Option "PalmMinWidth" "8"
    Option "PalmMinZ" "100"
# Enable clickpad support

Option "ClickPad" "true"

# Sets up soft buttons at the bottom
# First 40% - Left Button
# Middle 20% - Middle Button
# Right 40% - Right Button

Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"

# Disables Tap to click

Option "MaxTapTime" "0"

EndSection

2015-06-18 16:00 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons When I tried last time, I was also making circles and occasionally (every 5/10 seconds or so) it hanged for half a second. It was pretty obvious to notice.

If you manage to solve this I would love to hear it ;)

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113165327 .

advancingu commented 9 years ago

Would one of you be able to put together an installation / settings instruction document? Just write it in markdown format in the repository root and submit a PR. This thread is getting quite long.

musicformellons commented 9 years ago

The instructions of Gitaarik were accurate; just some confusion about what exactly was disabled during typing...

2015-06-18 16:08 GMT+02:00 Markus Weiland notifications@github.com:

Would one of you be able to put together an installation / settings instruction document? Just write it in markdown format in the repository root and submit a PR. This thread is getting quite long.

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113167941 .

musicformellons commented 9 years ago

@gitaarik It also seems to depend on the background in which I test the freezes. Best test in a 'buttonless' background. Otherwise cursor seems sometimes to sort of snap to buttons which could look like a freeze...

2015-06-18 16:00 GMT+02:00 Rik notifications@github.com:

@musicformellons https://github.com/musicformellons When I tried last time, I was also making circles and occasionally (every 5/10 seconds or so) it hanged for half a second. It was pretty obvious to notice.

If you manage to solve this I would love to hear it ;)

— Reply to this email directly or view it on GitHub https://github.com/advancingu/XPS13Linux/issues/3#issuecomment-113165327 .

timeu commented 9 years ago

I get the same freezes. according to https://wiki.archlinux.org/index.php/Dell_XPS_13_%282015%29#Touchpad one has to disable tapping via synclient Clickpad=1 :-(

EDIT: check your /var/log/syslog.

I think the freezes are because of this: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1

If you have this log message, then add "psmouse.resetafter=0" to _GRUB_CMDLINE_LINUXDEFAULT in /etc/default/grub and run sudo update-grub

gitaarik commented 9 years ago

@timeu's solution seems to fix te freezes :). Some more discussion can be found here:

http://en.community.dell.com/techcenter/os-applications/f/4613/t/19629103

ochosi commented 9 years ago

I tried @musicformellons settings, but now two-finger scrolling is extremely slow. Do you guys experience that too and if yes, have you found a fix for it?

musicformellons commented 9 years ago

@ochosi You might have another touchpad resolution setting or just want a more responsive 2 finger scroll setting. You can adjust it by setting these to smaller numbers (e.g. -25, -25). The minus is for 'natural scrolling', meaning the screen scrolls in same direction you are swiping. Option "VertScrollDelta" "-200" Option "HorizScrollDelta" "-300"

ochosi commented 9 years ago

@musicformellons Nice! I tested different settings for a while only to end up with your proposed value of 25 - well played! :)

gitaarik commented 9 years ago

Actually that helped me too, my horizontal scroll speed was a bit slow. I've put it to -25, apparently the lower the number the faster it scrolls.

dchambers commented 9 years ago

Hi everyone, is this an accurate description of what's being solved?:

By making the touchpad operate as a low-bandwidth PS2 device rather than a high-speed I2C device, it becomes possible to disable tap-to-click detection while typing, to make up for the lack of palm-detection support, which would require I2C to work?

and, would I be correct in thinking that these are the pertinent comments to achieve this?:

  1. How to disable I2C.
  2. How to prevent occasional freezes (as a result of not using I2C).
  3. How to speed up two finger scrolling (which seems to become slower when not using I2C).

Assuming I've got this right, are there any other losses of functionality from making the touchpad function as a PS2 device instead of an I2C device?

gitaarik commented 9 years ago

Hey @dchambers, your description looks good to me, it even gives me more insight to the problem :P!

I'm still working with this configuration and I'm very satisfied about it. I don't have any problems. The only issues one might have are:

But I don't really have any problems with these "issues".

dchambers commented 9 years ago

I don't have any problems. The only issues one might have are:

  • you can still move the pointer while typing (only tapping is disabled)
  • tapping only starts working again after about a second after you stopped typing

But I don't really have any problems with these "issues".

Lovely, that's really good to know as this was the final remaining blocker for me. I think it's finally time to put my order in!

hg8 commented 9 years ago

What is the difference between I2C mode and PS2 mode ? On Ubuntu 15.04, PS2 mode is blacklisted by default. Has anyone managed to solve palm detection on Ubuntu 15.04 ?

jared-dominguez commented 9 years ago

Has anyone managed to solve palm detection on Ubuntu 15.04 ?

http://en.community.dell.com/techcenter/os-applications/f/4613/p/19640902/20787348#20787348

hg8 commented 9 years ago

Ok thanks for clarifying ! But why PS2 has been blacklisted by default ?

From my /etc/mobprobe.d/blacklist.conf
# remove psmouse because we want the mouse to work over I2C bus blacklist psmouse

jared-dominguez commented 9 years ago

But why PS2 has been blacklisted by default ?

Because of issues with using the PS/2 interface for the touchpad. You can also work around the issue with the psmouse.resetafter=0 kernel parameter, but this was determined to be suboptimal. Note that newer BIOS versions (any that we ship the XPS 13 DE with) only use HDA audio and I2C for the touchpad.

hg8 commented 9 years ago

I understand better now. Thanks for this explanation.