57

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?

1

8 Answers 8

51

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
5
  • 4
    Works for me (Ubuntu 13.10), but also disables the two finger scroll capability in my Asus K55N, which I use a lot.
    – ichigolas
    May 20, 2014 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, 2014 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, 2015 at 4:39
  • Works for me on Linux Mint 17.2
    – knaperek
    Dec 7, 2015 at 14:18
  • simonp might find Ubuntu bug #1215463 relevant here.
    – JdeBP
    Dec 15, 2015 at 12:23
26

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.

5
  • 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, 2016 at 16:25
  • I hadn't created a ticket. Thanks for doing that :)
    – CatDadCode
    Jul 17, 2016 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, 2016 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, 2016 at 8:30
  • In my case I didn't have to kill syndaemon, it wasn't running. Lenovo Yoga 13 with Ubuntu 18.04. And also, using -i 0.5 makes syndaemon a bit less invasive. Great find!
    – maaw
    Sep 17, 2019 at 2:43
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.

9
  • 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, 2013 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, 2013 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, 2014 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, 2014 at 10:33
  • as @Rasmus, but with Ubuntu 14.04 on Dell Inspiron 17R.
    – tigerjack
    Dec 13, 2014 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
5
  • do you mean -d?
    – Feng
    May 24, 2014 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.
    – CatDadCode
    Oct 6, 2014 at 15:52
  • fricking magic, this one is (without -K)
    – Z. Zlatev
    May 18, 2015 at 21:36
  • touchpad disabled :(
    – Amir
    Sep 4, 2015 at 19:10
  • 1
    I am on a Dell XPS 9550 and this didn't do anything AFAICT Dec 8, 2016 at 4:23
3
  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
  • THANK YOU! The disable Touchpad was causing me much grief!
    – JREAM
    Oct 11, 2021 at 1:30
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.

3
  • 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, 2014 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, 2014 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, 2014 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.

1
  • doesnt work for me Jan 30, 2016 at 11:20
-2

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!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .