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?
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
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
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
$ killall syndaemon
$ syndaemon -i 1 -KRd
-iallows 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.
-Ktells syndaemon to ignore modifier keys and modifier+key combos when monitoring keyboard input.
-Rtells 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.
-djust 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.
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
high. Then close it out. If that doesn't fix the problem respond.
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)
kill the current syndaemon process (if any was started previously at boot), which controls this Touchpad feature:
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
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:
- 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
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.
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.
To add an extension to all the answers already provided...
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:
- Open Terminal
alias keystop='syndaemon -i 1 -K -d'
From now on, whenever you restart your system -- Simply open the Terminal and type
keystop and the code will execute!