Missing support for thumb resting on bottom of clickpad

Bug #1026046 reported by Niklas Kullberg
410
This bug affects 87 people
Affects Status Importance Assigned to Milestone
Xserver Xorg Input Synaptics
Unknown
Unknown
xserver-xorg-input-synaptics (Debian)
New
Unknown
xserver-xorg-input-synaptics (Ubuntu)
In Progress
Medium
Unassigned
Precise
Won't Fix
Medium
Unassigned

Bug Description

When using the trackpad on the MacBook Pro In Mac OS X it is possible to have the thumb resting (ready to click) on the bottom part of the touchpad while moving the mouse pointer around with your index or middle finger.
Likewise it is also possible to use two finger scrolling with the index and middle finger on the upper part on the track pad while resting the thumb on the lower part of the trackpad.

This behaviour is not currently supported with the synaptics driver in 12.04. It wil register a two finger scroll when the thumb is resting in the bottom part and index finger moves around in the upper part.

I have tried playing aroud with the setting AreaBottomEdge that disables all motion on the bottom part of the touchpad. Unfortunately when this setting is enabled it still detects a finger in the area, so it wil register a two finger scroll like before.

Tags: ux
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Chris J Arges (arges)
Changed in xserver-xorg-input-synaptics (Ubuntu Precise):
status: New → Confirmed
importance: Undecided → Medium
Changed in xserver-xorg-input-synaptics (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Cloudane (cloudane) wrote :

This makes using Ubuntu on a modern MacBook very tricky (it's almost impossible with a trackpad that size NOT to have a stray finger or thumb interfering so it does all sorts of weird and wonderful things). It's pretty much the one thing holding me back from using Ubuntu on it for extended periods.

Revision history for this message
Danbalam (baron-von-earwig) wrote :

Not just Macbook users. I have Acer Aspire One D270 Netbook and cannot turn off touchpad for typing. Need to pay more attention to my screen while typing otherwise I have accidentaly started typing randomly in the middle of a previously typed word or sentence.

Revision history for this message
Philip Neustrom (philipn) wrote :

This is a huge issue for me as well. I'd be willing to send $50 to anyone who can get this fixed. My Macbook Air is essentially unusable due to this problem -- and there's zillions of these machines out there..

Revision history for this message
ZachG (zgold550) wrote :

Forum thread where users are complaining about the issue: http://ubuntuforums.org/showthread.php?t=1991841

I can confirm myself as well on a Lenovo X220, X230 and a Lenovo Ideapad S585 all experience this problem.

Revision history for this message
C Snover (launchpad-net-zetafleet) wrote :
Revision history for this message
Chas Emerick (chas-d) wrote :

Confirmed with a 4,2 Macbook Air. Thankfully I have a trackball in hand most of the time, but this is definitely the biggest drawback I've encountered so far since switching from OS X a couple of days ago.

FWIW, xf86-input-mtrack has recently added two options that sound promising:

* IgnoreThumb - Whether or not to ignore touches that are determined to be thumbs. Boolean value. Defaults to false.
* BottomEdge - The size of an area at the bottom of the trackpad where new touches are ignored (fingers traveling into this area from above will still be tracked). This is represented as a percentage of the total trackpad height. Defaults to 10.

I don't have the heart at the moment to attempt to swap out the synaptics driver for xf86-input-mtrack (the .deb I found looks like it depends upon an experimental xorg input abi); hopefully a fix for this comes along before I get desperate enough to try...

Revision history for this message
Ben (hungry4cheese) wrote :

I can confirm that this is an issue on the MacBook Air 4,2 Mid 2011. Also seems to be an issue with any trackpad that supports multitouch and has no click buttons, but a click pad. This is the reason I still don't use ubuntu on my Mac. Please take this into consideration and add thumb support and multitouch clickpad support. I use mtrack, but it isn't very good, sometimes misses sensing my thumb.

Thanks

Revision history for this message
stooky (stooky) wrote :

This is also an issue on the ASUS Zenbook Prime UX31A.

Revision history for this message
Avi Z (avi-ziskind) wrote :

This is also an issue on the Dell XPS 15 (October 2013). The Windows touchpad driver works great and accounts for (ie. ignores) the resting thumb, but the ubuntu driver does not.

Revision history for this message
delopez89 (delopez) wrote :

This is possibly one of the most annoying bugs that upstream refuses to fix. It affects a good chunk of the "ultrabooks" and more and more users will become affected as time goes on. Lenovo Yoga 11s here.

Revision history for this message
Brian (brianmarple) wrote :

Issue confirmed on Mac Mini 2011 with bluetooth trackpad. It's a rather annoying problem. I hope to see it fixed soon!

Revision history for this message
William Sewell (f-me-m) wrote :

I have this problem on my Lenovo X1 Carbon.

Revision history for this message
Bryan (poli0048) wrote :

I have this same problem with my Asus Q501LA Ultrabook.

Revision history for this message
Jeremy Lucier (jrlucier) wrote :

Yep, this is a big problem on my Asus Zenbook Prime UX31A. It will only get worse as folks slowly upgrade to ultrabooks.

Changed in xserver-xorg-input-synaptics (Debian):
status: Unknown → New
Revision history for this message
Bryan (poli0048) wrote :

Is there any info or logs that I can provide than might help resolve this issue? How about money... ?

Revision history for this message
Marcel Bischoff (herrbischoff) wrote :

I can confirm that problem on a MacBook Pro 8,1. Combined with the pointer still moving when attempting to "right-click" with two fingers this is the single most annoying problem. It's distracting enough that I simply cannot use Ubuntu on my MacBook Pro outside of a virtual machine. A pity, since I was planning on using it as an alternative main OS to Mac OS X.

Revision history for this message
delopez89 (delopez) wrote :

This issue has been kind of fixed upstream by a comment on a dependent bug, see: https://bugs.freedesktop.org/show_bug.cgi?id=66532#c5

The patch makes it so that all touches within AreaBottomEdge are ignored, which makes the touchpad usable. I don't know when/if this patch will be merged but it is possible to apply the patch to the synaptics 1.7.1 driver and compile it.

Revision history for this message
Niklas Kullberg (niklaskb) wrote :

I can confirm that kit.westneat's patch works. It makes my MacBook Pro touchpad completely usable.

Revision history for this message
Bob (caltinay) wrote :

The patch also makes my touchpad behave on an MSI GE60!

Revision history for this message
Bryan (poli0048) wrote :

Can someone confirm that this has been fixed upstream? It looks like there may be some goofyness regarding the ordering in which fingers make contact with the touchpad, and it may be broken by: http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=945acfc261707be78cbc5438c22b061e20076004

If it is fixed does anyone know when it will trickle down into Ubuntu or Debian? Thanks!

Revision history for this message
James D. (jamesd603) wrote :

This bug is annoying enough that I'm putting a new Dell XPS 14 on the shelf until its fixed, possibly even returning the thing if it gets close to the 30 day return limit. I'll stick with my clunky HP notebook with a working two button touchpad until it gets sorted out. I can try compiling from git, anyone have a howto on how to get it done, i'm not a serious developer and havent built a driver from git in forever. I also considered buying a new ultrabook with classic touchpad, there arent that many, and the ones that are out have other issues. Are there other clickpad ultrabooks that dont use synaptics that are functioning properly under Ununtu? (even if its 14.04 LTS)

Revision history for this message
James D. (jamesd603) wrote :

http://pastebin.com/raw.php?i=4v9JP2pe

I applied the patch there , built the new package and installed. I was thrilled at first, it worked... except it introduces another problem, now when scrolling for a little while with the button held down the cursor jumps around the screen. Its like theres a warpzone spot that shows up on the touchpad and when you hit it your cursor ends up at the other end of the screen.... at least its some kind of progress.

Revision history for this message
nixer (nixer) wrote :

Using a Dell Inspiron 15. It comes with a "clickpad". It seems to me like there are actual physical left and right buttons, but they are part of the track sensitive area.

I can use the areabottomedge attribute to ignore movement on it, but often then if i have a resting thumb or something, i can't get the cursor to move. this is of course very annoying :( I hope someone can fix it soon!

Revision history for this message
nixer (nixer) wrote :

After applying the patch in post #24, i can confirm it helps with the resting thumb and dead mouse issues. However, it makes two finger scrolling very difficult, as the mouse becomes very jumpy when doing it.

I am happy to go back to single finger scrolling for the time, but it would be nice when everything just works :)

Using 14.04 with 3.13.0-23-generic

Revision history for this message
James D. (jamesd603) wrote :

believe it or not, Two finger scrolling is ok for me, maybe its because of how I do it... when click and dragging after the patch, it bounces around the screen though, after dragging for a few seconds to 10-15, depends. The patch overall does help a lot tho.

FWIW. On my synaptics pad I set AreaBottomEdge 3800 , FingerHigh 40 FingerLow 30. This did seem to stop some of the bouncing/sensitivity you were talking about.

Revision history for this message
James D. (jamesd603) wrote :

This problem still persists in latest 14.04 .. how this hasn't been fixed yet I don't know. It makes using the touchpad painful. The patch above still works and helps but once you try to say, edit images in gimp, and have the cursor fly across the screen at random times, you realize its still broken even with the patch.

Loving 14.04 on my xps 14 otherwise.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: Confirmed → New
status: New → Confirmed
Revision history for this message
Zane Hitchcox (zwhitchcox) wrote :

When will this be fixed? Or is it fixed? If it's fixed, it's not fixed on my machine. I just downloaded ubuntu on my macbook pro, and the mouse is always flying all over the place when I'm trying to type, and I can't move the mouse when my thumb is resting.

Revision history for this message
Derek Ruths (druths) wrote :

Where is this problem originating? Is it a bug in the synaptics driver or is it just a missing feature? Is there something making is particularly hard to fix?

Revision history for this message
Derek Ruths (druths) wrote :

I'll just add that this problem (not surprisingly) also exists on my Lenovo Helix.

Revision history for this message
rhetr (rhetr) wrote :

have the same issue with asus n550jv.

Revision history for this message
Charlie Smurthwaite (netmaster10000) wrote :

I'm using a Lenovo ThinkPad Edge and the patch here fixed the problem for me: http://pastebin.com/raw.php?i=4v9JP2pe

Revision history for this message
Joshua O'Leary (jmoleary) wrote :

Same problem using Ubuntu 14.04 on Asus X550CA. Patch works great, after installing it I had to edit:
/etc/X11/xorg.conf.d/10-synaptics.conf

And change "AreaBottomEdge" from "4000" to "2000"

Revision history for this message
onggie (onggie) wrote :

Tried this on an HP Pavilion DV6 and still having issues. Anyone able to give me any assistance?

Revision history for this message
onggie (onggie) wrote :

Just found this solution for me so I can reset my finger on the touchpad

sudo modprobe -r psmouse
sudo modprobe psmouse proto=imps

Though it seems like I need to run this after every reboot. So I create a config file in /etc/modprobe.d with the following;

options psmouse proto=imps

But after I restart, it reverts again.

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

To resume, we are still having this bug as of today.

Two solutions that have their bad side effect :

Apply this patch
http://pastebin.com/raw.php?i=4v9JP2pe
It will works but drag n drop will be messy, the mouse will jump randomly.

Add psmouse.proto=bare or psmouse.proto=imps to /etc/default/grub

Revision history for this message
Bryan (poli0048) wrote :
Download full text (3.8 KiB)

Ok - since there has been little to no developer progress on this bug for a long time, I have tried to muck through the synaptics driver source code on my own to track this problem down. I tried the patch suggested by Charlie but it did not really help. It ignored a finger on the touchpad button if it was the *second* finger to hit the pad, but the problem remained if it was the first finger down. I have made an adjustment that effectively fixes the problem on my touchpad - fingers outside the active area are ignored no matter the order in which they touch the pad. I will post my modified driver source here in the hopes that it will fix the issue for other users as well.

I have to say that the synaptics driver is a complete mess of spaghetti code (I found GOTO statements. That's right... GOTO statements!). I am very far from actually "understanding" the driver - I only decrypted enough to make this modification. The one side effect that I am aware of that results from my change is that you cannot right-click using the right soft button if you have other fingers on the touchpad already. You either need to two-finger click or remove the other fingers before right clicking. Other than that everything else works, including two-finger scrolling (onggie's suggestion sacrifices this). I do not use tap-to-click since it drives me crazy, so I have not tested this.

To apply this fix you need to replace your installed xorg synaptics driver. I will try to walk you through this here. First, you need to figure out where your driver is installed. Different distributions put it in different places. If you use Debian, the driver will be installed to "/usr/lib/xorg/modules/input" and the extra stuff will be in other places in /usr. Some ditros put components in /usr/local/..., so you need to figure this out. I suggest using your package manager to locate the xorg synaptics driver and look at the installed files - this will tell you where they are hiding.

Next, download and extract the archive I have attached. Open a terminal to the extracted directory. You need to run ./configure next, but you must pass it the installation prefix so when you install the driver it goes to the correct place for your distro. In Debian, run "./configure --prefix=/usr". If your distro stores the driver in /usr/local, then use this as the prefix instead.

Next, run "make" and ensure that it builds without error (you will probably need some dev packages installed). Then run "sudo make install". Now, you need to set the AreaBottomEdge option for the driver to define the region you want to ignore fingers in. I suggest running "synclient" and find the value you have for the option RightButtonAreaTop. Use the same value for AreaBottomEdge. This will make sure that the button region and the "active" regions butt up against each other but do not overlap. When you know what value you want to use, open the file "/etc/X11/xorg.conf.d/10-synaptics.conf" and add the option value to there (create this file if it does not exist). My conf file looks like this:

Section "InputClass"
        Identifier "Trackpad"
        MatchIsTouchpad "on"
        Driver ...

Read more...

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

Hi Bryan and thank you for your contribution. I cannot compile your package. When I try to "make", it returns :

synaptics.c: In function 'set_default_parameters':
synaptics.c:792:13: error: 'SynapticsParameters' has no member named 'maxDeltaMM'
         pars->maxDeltaMM = 20;
             ^
synaptics.c:796:13: error: 'SynapticsParameters' has no member named 'maxDeltaMM'
         pars->maxDeltaMM = diag * 0.25;
             ^
synaptics.c: In function 'ComputeDeltas':
synaptics.c:2305:29: error: 'SynapticsParameters' has no member named 'maxDeltaMM'
     if (vlen > priv->synpara.maxDeltaMM * priv->synpara.maxDeltaMM) {
                             ^
synaptics.c:2305:56: error: 'SynapticsParameters' has no member named 'maxDeltaMM'
     if (vlen > priv->synpara.maxDeltaMM * priv->synpara.maxDeltaMM) {
                                                        ^
make[2]: *** [synaptics.lo] Error 1
make[2]: Leaving directory `/home/pierrot/Desktop/xf86-input-synaptics-1.8.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pierrot/Desktop/xf86-input-synaptics-1.8.1'
make: *** [all] Error 2

Revision history for this message
Bryan (poli0048) wrote :

Hi Pierre. Unfortunately I don't know what is going on here. The only thing I can think of is that maybe some dev packages are missing, although this is not how I would expect that kind of failure to look. What I can say is that the code your compiler is complaining about was not something I changed. Perhaps try building a vanilla version of the driver first (download the source from http://www.linuxfromscratch.org/blfs/view/svn/x/x7driver.html#xorg-synaptics-driver).

Once that is building correctly, go back and try my modified version. There should be more people able to help you get the vanilla version building. I hope you are successful.

Bryan

Revision history for this message
Bob (caltinay) wrote :

Bryan,
Would you mind posting a patch file so that we can apply to distribution source packages? That would make it easy to migrate your changes to other versions of the driver...

Cheers!

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

Hi Bryan,
On my version (Linux Mint 17 Mate based on Ubuntu 14.04), I don't have any result with your edit. But I had to create myself the patch from your edit to my the distro package (synaptics 1.7.4) and a lot of things are differents between this version and 1.8.1.
I see that you partially take the code from the patch which allows the thumb resting option.

But have you found a way to avoid the mouse acting crazy during a drag n drop ?
It is our last step before having something ok.
If so, it would be nice to know what part of the code can fix that and I will create a patch and deb packages for everyone.

Revision history for this message
Bryan (poli0048) wrote :

Hi Pierre. Thank you for taking the time to create a patch.

My biggest change was moving the following up in the HandleState function, so the low level state is corrected *before* doing button detection (this removed the quirk that depended on the order in which fingers hit the touchpad):

//Correct HW state by throwing out fingers outside of the active area
    inside_active_area = FALSE;
    hw->numFingers = 0;
    for (int i = 0; i < hw->num_mt_mask; i++) {
        ValuatorMask *f1;
        Bool mt_inside;
        double x1, y1;

        if (hw->slot_state[i] == SLOTSTATE_EMPTY || hw->slot_state[i] == SLOTSTATE_CLOSE)
            continue;

        f1 = hw->mt_mask[i];
        x1 = valuator_mask_get_double(f1, 0);
        y1 = valuator_mask_get_double(f1, 1);
        mt_inside = is_inside_active_area(priv, x1, y1);
        if (!mt_inside) {
            hw->slot_state[i] = SLOTSTATE_EMPTY;
            continue;
        }
        if (!inside_active_area) {
            inside_active_area = TRUE;
            hw->x = x1;
            hw->y = y1;
        }
        hw->numFingers++;
    }

You may notice that I removed the check to see if the touchpad is a clickpad - I did this because it did not look like the code was being executed. You could put that back in (turned out I was not actually replacing the installed driver when I did "make install").

Secondly, I also removed something odd from is_inside_active_area. That function now looks like:

static Bool is_inside_active_area(SynapticsPrivate * priv, int x, int y) {
 if ((priv->synpara.area_left_edge != 0) && (x < priv->synpara.area_left_edge))
  return FALSE;
 else if ((priv->synpara.area_right_edge != 0) && (x > priv->synpara.area_right_edge))
  return FALSE;

 if ((priv->synpara.area_top_edge != 0) && (y < priv->synpara.area_top_edge))
  return FALSE;
 else if ((priv->synpara.area_bottom_edge != 0) && (y > priv->synpara.area_bottom_edge))
  return FALSE;

 return TRUE;
}

I did this mainly because the code that was there was not consistent with how the function is being used now - it would return true in circumstances when the source finger was NOT in the active area but if something else was (which could mess up the finger count). I don't think I tried the first change without the second, but it is certainly plausible that the second change could fix the type of behavior you are talking about. I have not seen such behavior on my machine with these changes.

It seems suspicious that the patched driver would result in no changes. I would make sure that you are actually running your custom version of the driver and not the stock version. Try to break something deliberately - I would suggest putting:

if (hw->numFingers > 1) hw->numFingers = 1;

After the first change and try to run the new driver. If two-finger scroll still works you know that you are running the old driver.

Bryan

Revision history for this message
Bryan (poli0048) wrote :

Also use synclient to check the value of "AreaBottomEdge". Try dropping this and see if you see different behavior. The patched driver needs this option set correctly.

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

Hi Bryan,

Unfortunately, I can make the 1.8.1 works on my laptop. The touchpad just stop working. I don't like having to hack the driver to make it works, I'd rather a stable version that can receive update. I will stay for now with my official 1.7.4 version of synaptics without the buggy patch.

But as I want to work, I have found the perfect solution, that "life-hack" which is really handy :

https://s3.amazonaws.com/pushbullet-uploads/ufiMQwQ-0CpwuHaeuJLuL8fkkhQYxVOwpfktT7CJ/20141119_113916.jpg

I let my thumb rest on this and it works like a charm... I can deal with that before a stable update.

Revision history for this message
Joshua Vaughan (joshua-vaughan0) wrote :

Backup and then remove 50-synap* and 51-syn* files from /usr/share/X11/xorg.conf.d
Create a file called 50-mtrack.conf containing the following

Section "InputClass"
 MatchIsTouchpad "true"
 Identifier "Multitouch Touchpad"
 Driver "mtrack"
 Option "Sensitivity" "1.4"
 Option "IgnoreThumb" "true"
 #Option "ButtonMoveEmulate" "false"
 Option "ClickFinger1" "1"
 Option "ClickFinger2" "3"
 #Option "ClickFinger3" "3"
 Option "TapButton1" "0"
 Option "TapButton2" "0"
 Option "TapButton3" "0"
 Option "TapButton4" "0"
 Option "ScrollDistance" "75"
 Option "BottomEdge" "30"

EndSection

Then run
sudo restart lightdm

Touchpad works great apart from when two finger scrolling it doesn't you can't flick

Revision history for this message
Pierre Maoui (maouipierre+ubuntuone) wrote :

Hi Joshua,

Thank you but it is exactly the same as doing :
sudo modprobe psmouse proto=imps (see below)

you have your thumb resting but you loose two finger scrolling. I really need that feature and can't go that way.

Revision history for this message
Joshua O'Leary (jmoleary) wrote :

This is still a problem in Ubuntu 14.10, and the patch does not seem to work in this version as the synaptic package has changed.
Is there any way to get the patch to work in Ubuntu 14.10?

Revision history for this message
Joshua O'Leary (jmoleary) wrote :

A workaround is to use the mtrack driver if it supports your touchpad driver. Install xserver-xorg-input-mtrack, then create a file in
/etc/X11/xorg.conf.d/10-mtrack.conf like the following:
http://pastebin.com/WvZmKwMV

Of course, this isn't ideal as you have to use gestures for things like right-click, and doesn't work with unity autohide, but solves the problem of finger resting.

Revision history for this message
chiptuned (chiptuned) wrote :

The mtrack driver does allow finger resting in the bottom area, but I found it to be too rough around the edges in other areas that I couldn't use it. The cursor tracking feels weird and unnatural to me. It would also seem to accelerate when I would approach the bottom of my screen. Also, it seemed like it wasn't possible to segment the bottom area into right & left buttons (ie. every click is a left click). This would likely be an issue with the synaptics driver as well though.

Its sad that all this time has passed without proper support in linux for clickpads to emulate trackpads with physical buttons. Seems like this has never been a problem for Windows and OSX drivers.

I ended up just forcing myself to use tap-to-click. I'm getting used to it, but I still don't like it. I erroneously click every once in a while and dragging just plain sucks. I wish I had physical buttons on my trackpad like before :( Don't know if I should hold out any hope of this issue being resolved anytime soon.

Revision history for this message
Adrian (ruewan) wrote :

I have a asus zenbook. Same problem very annoying.

Revision history for this message
Tobias Cohen (tobico) wrote :

Having the same problem on my Macbook Air. Unfortunate, as this seems to be the primary thing that's making Ubuntu unpleasant to use on this machine.

Revision history for this message
rue kal (adrian-prism) wrote :

almost 3 years still unassigned.

Revision history for this message
Guillaume Besson (geek-uillaume) wrote :

+1
It's really a big issue and needs to be fixed !

Tal Ben-Ari (talbenari1)
tags: added: ux
Revision history for this message
fcole90 (fcole90) wrote :

I think that the correct bug-tracking on freedesktop should be this: https://bugs.freedesktop.org/show_bug.cgi?id=66532

Revision history for this message
fcole90 (fcole90) wrote :

If you're using 14.04.2 (utopic enablement stack), I have solved on xserver-xorg-input-synaptics-lts-utopic:

### Build the deb
apt-get build-dep xserver-xorg-input-synaptics-lts-utopic
apt-get source xserver-xorg-input-synaptics-lts-utopic
cd xserver-xorg-input-synaptics-lts-utopic
wget -q -O - https://bugs.freedesktop.org/attachment.cgi?id=100632 | patch -p1
# if it asks for a missing file, write: "src/synaptics.c" (without quotes) and press enter to confirm
dpkg-buildpackage -us -uc -nc
cd .. #here there should be your debs ready to be installed

### Configure trackpad
sudo mkdir -p /etc/X11/xorg.conf.d/
sudo wget -q -O /etc/X11/xorg.conf.d/10-synaptics.conf http://pastebin.com/raw.php?i=drJKRmW8
sudo gedit /etc/X11/xorg.conf.d/10-synaptics.conf
# now set your button area and save
# reboot and login again

Note: this guide is based on a previous guide, but uses the patch that you find here https://bugs.freedesktop.org/attachment.cgi?id=100632

Revision history for this message
fcole90 (fcole90) wrote :

Can someone test it and check if it works, maybe we can finally close this bug ;)

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
fcole90 (fcole90) wrote :

If you're using 14.04.2 (utopic enablement stack), I have solved on xserver-xorg-input-synaptics-lts-utopic:

### Build the deb
apt-get build-dep xserver-xorg-input-synaptics-lts-utopic
apt-get source xserver-xorg-input-synaptics-lts-utopic
cd xserver-xorg-input-synaptics-lts-utopic
wget -q -O - https://bugs.freedesktop.org/attachment.cgi?id=100632 | patch -p1
# if it asks for a missing file, write: "src/synaptics.c" (without quotes) and press enter to confirm
dpkg-buildpackage -us -uc -nc
cd .. #here there should be your debs ready to be installed

### Configure trackpad
sudo mkdir -p /etc/X11/xorg.conf.d/
sudo wget -q -O /etc/X11/xorg.conf.d/10-synaptics.conf http://pastebin.com/raw.php?i=drJKRmW8
sudo gedit /etc/X11/xorg.conf.d/10-synaptics.conf

# Now set your value for AreaBottomEdge and save.
# Reboot and login again.

Note: this guide is based on a previous guide, but uses the patch that you find here https://bugs.freedesktop.org/attachment.cgi?id=100632

Revision history for this message
fcole90 (fcole90) wrote :

The value to set for AreaBottomEdge can be chosen running
less /var/log/Xorg.0.log | grep -i range
and checking the y value.
For example, in my laptop the value on y is about 1600 and I have set AreaBottomEdge to 1400.

Revision history for this message
Guillaume Besson (geek-uillaume) wrote :

Just tried on a fresh install of ubuntu 15.04 by replacing 'xserver-xorg-input-synaptics-lts-utopic' by 'xserver-xorg-input-synaptics'.

Everything went fine but at the end, after a reboot, nothing changes, the behaviour is still the same as before.

Revision history for this message
fcole90 (fcole90) wrote :

That works on 14.04.2 (utopic stack), probably something changed between utopic and vivid. We should check what to be able to patch the thing.

Revision history for this message
Isac (isac-heden) wrote :

I have the same problem in linux mint 17.2, with my Asus Zenbook ux305FA, and tried, inspired by Fabio's comment #59, to manually patch synaptics.c (see http://pastebin.com/raw.php?i=BC3fgErn ) from the package xserver-xorg-input-synaptics_1.7.4 in the mint repository.

More precisely, I pasted in the last chunk of +'ed lines in https://bugs.freedesktop.org/attachment.cgi?id=100632 as a replacement of line 3003:
inside_active_area = is_inside_active_area(priv, hw->x, hw->y);
in synaptics.c file.

This compiled into a package that I could install, but the bug persisted.

Thanks for any help or advice on how to fix this bug!

Revision history for this message
njaak (dennms) wrote :

any news on how to get this working on 15.04?

Revision history for this message
Bryan (poli0048) wrote :

Hi all. I am doing a fresh Debian install on my laptop and I had to re-execute my instructions from my earlier post to try to hack my touchpad into working. I ran into the same error that Pierre ran into! Eating my own dog food I guess.

What I originally uploaded had a (completely unrelated) patch partially applied to it; one file was patched but another was not. I have applied the necessary patch to the header to make the source directory consistent. I honestly have no idea how my first upload compiled on my computer last time around, because it definitely should not have. Anyways, if you tried my instructions from before and ran into the "'SynapticsParameters' has no member named 'maxDeltaMM'" error, and you are still looking for a solution to this annoying problem, then give this a try. Follow the instructions from my old post, but start with this archive.

Best of luck.

Revision history for this message
Denys Vitali (denys-u) wrote :

Has anyone managed to solve the problem?
It's been quite a while (well, 3 years!) since the problem exists. I've discovered it about a week ago with my new Acer Aspire V17 Nitro which has a Synaptic touchpad (and has this exactly problem)

Revision history for this message
Peter Edge (edge-peterj) wrote :

Hi Brian,

I went ahead with your patched driver and it works like a charm in Manjaro linux KDE. However, now I'm faced with a new bug I haven't experienced before. When I scroll (say, downwards) with two-finger scrolling, and return my two fingers to the original (higher) position too quickly in preparation for a second scroll, the page jumps upwards. This happens nonstop and makes two-finger scrolling nearly unusable.

Is this a configuration problem? Does anyone have any idea what's wrong?

thanks,
Peter

Revision history for this message
jorgens (jorgens-0) wrote :

Lack of good trackpad drivers that can fix this issue is affecting thousands of Linux users and is preventing effective use of modern laptops and ultrabooks.

The best I can do is to ask people to log in and confirm that this bug is affecting them until somebody with the resources to fix this takes notice.

Revision history for this message
zanonmark (info-marcozanon) wrote :

I can confirm this on my brand new Dell Inspiron 15 (5559)... a bit annoying. :)

Thanks,
MZ

Revision history for this message
mambro (mambro87) wrote :

Dell XPS13 2016 Developer Edition here.

The patch at #59 that was perfectly working on 14.04, but it does not work anymore on 16.04 :\ I even tried to compile the utopic version of xserver-xorg-input-synaptics-lts-utopic (1.8.1) with the patch above. Everything goes fine, but differently from 14.04 the thumb problem is still there.

Revision history for this message
nixer (nixer) wrote :

This didn't seem to be a problem with the driver that came with Ubuntu 15.04, but now that I have upgraded to 16.04, this is definitely a problem again.

Revision history for this message
nixer (nixer) wrote :

This didn't seem to be a problem with the driver that came with Ubuntu 15.04, but now that I have upgraded to 16.04, this is definitely a problem again.

I however, did find a patch located here: https://bugs.freedesktop.org/attachment.cgi?id=100632

After applying it, the touchpad is MUCH more usable. The laptop I am using it on is a Dell Inspirson 15 7537.

Revision history for this message
nixer (nixer) wrote :

Addendum to my last post:

While the patch helps alot, occasionally the pointer does lock up and xserver needs to be restarted.

Revision history for this message
Jhn (jhndrwn) wrote :

Another Dell XPS13 2016 Developer Edition user confirming the issues.
Upgraded to 16.04 because I thought it would have been taken care of based on some random stackoverflow posts, but it's still there and it's still very frustrating.

Revision history for this message
Lee Portnoff (y-lee) wrote :

This is also a problem with Asus X540A. I'm running Linus Mint 18 Cinnamon 64-bit.

Revision history for this message
Stephen Belden (belden-stephen) wrote :

Trackpad works flawlessly on my ASUS Zenbook UX32VD except for this one issue. It makes it incredibly frustrating to use the laptop. Tested on Ubuntu 16.04.1 LTS.

Revision history for this message
R. Diez (rdiezmail-ubuntu) wrote :

I have Ubuntu 14.04.5 LTS with an oldish Lenovo ThinkPad E325, and I also find this issue very annoying.

Revision history for this message
jorgens (jorgens-0) wrote :

After struggling with this for a long time I found out that there is a "new" driver for input devices: libinput, that replaces synaptics. I followed the install instructions as given here: http://askubuntu.com/questions/649103/proper-touchpad-thumb-palm-detection-with-libinput

In addition I had to uninstall an older libinput package that had been installed as a dependency to vlc I think.

Now I got thumb support and multi-touch support out of the box, and the pointer doesn't jump around on the screen any more when I'm typing. Hopefully others will find this helpful.

Revision history for this message
Bob (caltinay) wrote :

jorgens, thanks so much for reporting that!
With that information I found that I only had to copy a single file in Debian (stretch/sid) to make the touchpad work flawlessly (using libinput instead of synaptics):

cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/90-libinput.conf

Voila, after restarting X libinput is used for the touchpad and I can now drag, middle-click and rest my palm on there and it works!!!

Thanks again!

Revision history for this message
JulioHM (jhm-g) wrote :

Thanks @Bob (caltinay) for the libinput insight.

I'm using Linux Mint 19, a Bionic based distro, and was suffering from the same issue.

libinput, in fact, was already installed. All I had to do is change the driver to libinput creating a file called /usr/share/X11/xorg.conf.d/90-libinput.conf with the following contents:

######################################
Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "True"
    Option "DisableWhileTyping" "True"
EndSection
######################################

Clickpad now works exactly as it should. Touch sensitivity at the bottom area (where the buttons are located) is now correctly disabled.

Thanks!

Revision history for this message
Steve Langasek (vorlon) wrote :

The Precise Pangolin has reached end of life, so this bug will not be fixed for that release

Changed in xserver-xorg-input-synaptics (Ubuntu Precise):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.