54

I already checked that Option in the Settings but it won't work. I also searched for solutions in this site but none of those work. What should I do?

47

This command worked for me (1 is the number of seconds to wait after the last key is pressed before re-enabling the touchpad, change it to whatever value you desire):

syndaemon -i 1 -K -d

Just add it to Startup Applications to make it work after reboot/shutdown. To see more options type this command in a terminal:

syndaemon --help or man syndaemon
  • 4
    Works for me (Ubuntu 13.10), but also disables the two finger scroll capability in my Asus K55N, which I use a lot. – nicooga May 20 '14 at 0:04
  • 5
    Works for me (Ubuntu 14.04, Lenovo T410), and two-finger scroll still works. If you add it to your Startup Applications though, you must also have "Disable while typing" unchecked in the Mouse & Touchpad settings, otherwise the two mechanisms interfere with each other and the touchpad stops working completely. You can vote on the bug report here: bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/… – simonp Jun 5 '14 at 11:09
  • Worked Like a Charm (Ubuntu 14.04 LTS). I Tested it and cursor didn't move 70% of 1cm while I was typing (if at all) – dlundy1 Jun 23 '15 at 4:39
  • Works for me on Linux Mint 17.2 – Jozef Dec 7 '15 at 14:18
  • simonp might find Ubuntu bug #1215463 relevant here. – JdeBP Dec 15 '15 at 12:23
23

Like others here the syndaemon utility solved my issue. For me the syndaemon was already running.

After playing with it and reading some of the other answers here I determined that the cause is the -t option.

The option must have a bug because when it's specified I can still scroll and tap while typing. However, if you omit the option entirely then everything works fine; the entire touchpad is disabled as expected while typing when you don't include the -t option. I simply run the following to restart syndaemon without -t.

$ killall syndaemon
$ syndaemon -i 1 -KRd

  • -i allows you to specify how long syndaemon should wait after typing has stopped before re-enabling the touchpad. One second is what was already running and seems to be fine for me.
  • -K tells syndaemon to ignore modifier keys and modifier+key combos when monitoring keyboard input.
  • -R tells syndaemon to use the "XRecord" extension instead of polling for keyboard input. I imagine it uses this for performance reasons; the extension probably reports when typing activity stops instead of depending on syndaemon to continually poll the keyboard to see if there is input.
  • -d just tells syndaemon to run in the background when you start it, without blocking your terminal input. If you don't include this option then syndaemon will stop when you close your terminal.

So in the end it's the -t option that is the culprit here. Just get syndaemon running without it and all is well.

PS - My machine is an original Lenovo Yoga 13 in case anyone was wondering. I completely blew away my Windows install and replaced with Ubuntu 14.04.

  • 1
    Thanks! I'm on Lenovo T450s under 16.04 with (still!) the same problem. I think this solves it, finally. Phew! But did you file a bug report? In case not, here is one: bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/… – CPBL Jul 17 '16 at 16:25
  • I hadn't created a ticket. Thanks for doing that :) – Chev Jul 17 '16 at 19:29
  • Actually, on the T450s and 16.04, this works immediately but after some amount of time, sometimes related to sleeping, I lose my cursor completely and have to reboot. So this is still not a workable solution. – CPBL Sep 16 '16 at 15:51
  • Thanks. Your comment made me realize why this command was not having any effect. There were 5 instances of syndaemon running on the background. – ecc Nov 3 '16 at 8:30
19

Try installing Pointing Devices from the Ubuntu Software Center. By typing "pointing devices" and then click install. Once installed open the program from dash. After the program is opened the touchpad should show (along with any other mouses that are plugged in). Click on your touchpad and option called palm detection should show up. Set the range all the way to low and the pressure to high. Then close it out. If that doesn't fix the problem respond.

  • 1
    This does not work for me on my Asus ZenBook Prime UX32A. The Pointing Devices program doesn't seem to keep the "Disable while other devices are connected" setting, and the palm detection doesn't seem to work. – noisygecko May 30 '13 at 16:22
  • Egad, this helps so much. I've been thrown into fits over how much the bloody pointer moving around has interfered with my work. I'm so tired of writing a shell script every time I install Ubuntu, and manually tweaking the number 'til they're right. Thanks for this tidbit. – Mr. B Jun 1 '13 at 17:59
  • The palm detection didn't seem to work. I can move the touchpad with one finger while I'm typing this comment. [Tested Ubuntu 14.04, Lenovo y510p laptop] This may be related: I notice that the slider bars for high/low do not preserve my settings after I hit "Ok" and re-open. (Fresh install of 14.04) – Jonathan May 3 '14 at 21:10
  • I too can move the pointer around while typing, but after installing, tapping on the touchpad while typing does not move the text-cursor to the pointer location, so now I'm happy! (Ubuntu Gnome 14.04 + Gnome 3.12, Lenovo Carbon X1 Gen2). – Rasmus Jun 25 '14 at 10:33
  • as @Rasmus, but with Ubuntu 14.04 on Dell Inspiron 17R. – tigerjack89 Dec 13 '14 at 23:06
6

I tried all the options as mentioned but none worked. Then I found this magic command that did the trick for me. Try this and may be it will work for you

syndaemon -i 1 -K -d
  • do you mean -d? – Feng May 24 '14 at 13:02
  • You DO want -d. The -K option does not take a value, it tells syndaemon to ignore modifier keys and modifier+key combos while monitoring keyboard input. -d tells syndaemon to run in the background instead of hogging your terminal. – Chev Oct 6 '14 at 15:52
  • fricking magic, this one is (without -K) – Zlatev May 18 '15 at 21:36
  • touchpad disabled :( – Amir Sep 4 '15 at 19:10
  • 1
    I am on a Dell XPS 9550 and this didn't do anything AFAICT – Alexander Mills Dec 8 '16 at 4:23
1

I had the same problem - even though the option was checked, it wasn't working. I fixed it by installing Synaptics Touchpad from the Ubuntu software centre (it seems that it isn't installed by default).

After installing it, I accessed it to the dash and then used it to disable the touchpad when typing. You can also set the time it should remain inactive when keyboard activity is detected.

  • I do not see "Synaptics Touchpad". I see drivers, but I do not see this. Have you added custom sources? [Tested Ubuntu 14.04] – Jonathan May 3 '14 at 21:08
  • The answer I gave worked in Kubuntu 13.04. I recently upgraded to 14.04, and now I also don't see synaptics (just the drivers, as you mentioned). – dwcoder May 5 '14 at 11:50
  • I just open "Pointing Devices" by hand now and disable the touchpad manually every time I plug in a mouse =/ [14.04] – Jonathan May 5 '14 at 19:48
1

The option "Disable while typing" in System settings->Mouse and Touchpad is not working due to bug in Ubuntu as described in this confirmed bug report. It is old bug, since 12.04 and affecting all users regardless of laptops they use.

What's working is adding the snipet

syndaemon -i 4 -K -d

in Startup Applications.

"-i 4" works for me well, "-i 1" as some sources suggest might not be enough.

Please do not use "-t" option that you could find in some examples on the web. This is the cause of problems as it is not disabling touchpad while typing on keyboard.

During startup syndaemon is not running so there is no need for "killall syndaemon". If however syndaemon had been started you should use:

killall syndaemon
syndaemon -i 4 -K -d

You could experiment typing with one hand and trying to move coursor with touchpad using fingers of the second hand to confirm that it is working for you.

  • doesnt work for me – vipin8169 Jan 30 '16 at 11:20
1
  1. Uncheck “Disable while typing” in the Touchpad settings, as shown below (yes, this is necessary even though it seems counter-intuitive, or else the Touchpad will end up getting disabled after doing the following “permanent” steps and then restarting, since the previous/bad syndaemon will be started at boot and conflict)

    enter image description here

  2. kill the current syndaemon process (if any was started previously at boot), which controls this Touchpad feature:

    pkill syndaemon
    
  3. restart the syndaemon process:

    syndaemon -i 2 -d -K
    

    where: 2 is the amount of delay time, in seconds, you want it to wait after you stop typing and before it activates the touchpad again; note that any time value less than 1.5~2 sec (more like anything <2 sec actually) is glitchy/buggy, and doesn't seem to keep the touchpad fully disabled while typing

  4. To make this fix permanent: run the “Startup Applications” app from the search bar → click “Add” → and type the following command into the “Command” section: syndaemon -i 2 -d -K. Name and Comment can be anything. Click “Add” when done, then close it. Here's what it looks like:

    enter image description here

  5. Restart the computer to verify it's working. Note that this feature will not start up until after you log into your user account. During the login screen it is not activated yet.

Read more about this bug in Ubuntu 14.04 here: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/1295526

This answer originally posted here: https://askubuntu.com/a/986129/327339

-1

To add an extension to all the answers already provided...

Primarily: syndaemon -i 1 -K -d

The only problem with this command is that once the system is reset, the code will basically be undone.

Therefore I would recommend creating an Alias using this command that way even when the system restarts, you can simply type a command into the terminal and have the code automatically execute from the prompt.

I personally did this using 'keystop' as the command name to implement this code. However you can use whatever name you choose, just follow the steps below. (Substituting keystop for whatever name you choose for the command)

** Keep in mind that whatever command name you choose must NOT be in use!

Here is how you do it:

  1. Open Terminal
  2. Type alias keystop='syndaemon -i 1 -K -d'

Thats it! From now on, whenever you restart your system -- Simply open the Terminal and type keystop and the code will execute!

protected by Community May 7 '14 at 9:01

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.