"disable touchpad while typing" doesn't work

Bug #1351772 reported by Tessa on 2014-08-03
192
This bug affects 39 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
Medium
Unassigned
unity-settings-daemon (Ubuntu)
Undecided
Unassigned

Bug Description

When selecting "disable while typing" under the touchpad section of the "Mouse & Touchpad" preferences, nothing changes, the touchpad stays active while typing. I can rapidly type multiple characters with my left hand and continue to move the cursor with the touchpad with my right hand.

I can see from my processlist that syndaemon is running with the following options:

 2185 ? S 1:31 | \_ syndaemon -i 1.0 -t -K -R

First, the -t option isn't what's expected with this setting, it should disable the touchpad entirely. Also, it doesn't seem to even do that correctly, as I can definitely click the touchpad while typing as well as moving the cursor.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: unity-control-center 14.04.3+14.04.20140604-0ubuntu1
Uname: Linux 3.14.0-997-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
CurrentDesktop: Unity
Date: Sat Aug 2 17:20:22 2014
InstallationDate: Installed on 2014-04-22 (102 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
SourcePackage: unity-control-center
UpgradeStatus: No upgrade log present (probably fresh install)
usr_lib_unity-control-center:
 activity-log-manager 0.9.7-0ubuntu14
 deja-dup 30.0-0ubuntu4

Tessa (unit3) wrote :
Launchpad Janitor (janitor) wrote :

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

Changed in unity-control-center (Ubuntu):
status: New → Confirmed

This came up in 12.04, but comments went off the rails, and it never got fixed. This is probably a serious usability issue for anyone with a modern laptop.

The bug is in the unity-settings-daemon/plugins/mouse/gsd-mouse-manager.c set_disable_w_typing function.

...
                g_ptr_array_add (args, "syndaemon");
                g_ptr_array_add (args, "-i");
                g_ptr_array_add (args, "1.0");
                g_ptr_array_add (args, "-t");
                g_ptr_array_add (args, "-K");
                g_ptr_array_add (args, "-R");
                g_ptr_array_add (args, NULL);
...

The line with "-t" argument should be removed. When kill unity-settings-daemon started syndaemon and restart it without the "-t" argument, the cursor behavior while typing works as expected.

affects: unity-control-center (Ubuntu) → unity-settings-daemon (Ubuntu)

As mentioned by Jeremy, removing the -t argument will fix this behavior. To work around this issue I have unchecked the "Disable while typing" checkbox and have added the following command to ~/.xprofile:
syndaemon -i 0.5 -K -R -d

I would love to see this fixed as this seems like a very easy fix.

peterrus (petorrus) wrote :

Can confirm, can also confirm valentin's solution, although I put it in a seperate bash script which I run at my unity session startup.

This faulty behaviour has been here for at least 1.5 years now.

GetOperational (getoperational) wrote :

I can also confirm Valentin's solution.

Toshiba l775d-s7340
Ubuntu 15.10
Cinnamon 2.8.6

A fix for this would alleviate a significant pain point for laptop users that do a lot of typing.

I can't believe this bug is so old.

Do I have the same? I'm on 16.04 with a Lenovo Thinkpad T450s and I do not even have a "disable while typing" option in the settings.

ps -af | grep synda

shows:
      2285 2205 0 Jun25 ? 00:00:01 syndaemon -i 1.0 -t -K -R

Usability is really poor because typing is steadily interrupted by palm faults.
 Surely this can be fixed?

Benjamin Schmid (benbuntu) wrote :

The quickest one-time workaround is to execute

    pkill syndaemon ; syndaemon -i 1 -KRd

Chris Chou (chhschou) wrote :

This is still hurting lots of users in 16.04, all we need is a way to configure syndaemon. How hard is it to make this a start up config?

This is just as bad in 16.10.

hrvooje (hrvooje-gmail) wrote :

No problem in Kubuntu

Tessa (unit3) wrote :

Still a problem in 17.04.

jvh (xtrajoris) wrote :

16.04 here. The function DOES work for me, but only if the duration is set to 1 second or longer.
Very strange!

Changed in oem-priority:
status: New → Triaged
importance: Undecided → High
Kabeer Ahmed (smdahmed) wrote :

Confirmed an issue with 17.04 on a Toshiba Satellite Pro R50 laptop. Setting using the command: pkill syndaemon ; syndaemon -i 1 -KRd works.

Leon Liao (lihow731) wrote :

On 16.04, could anyone test this solution?
$ sudo add-apt-repository ppa:lihow731/xenial
$ sudo apt-get update
$ sudo apt-get install oem-workaround-touchpad-block-synps2
Then, re-login Xserver.

For more detail:
https://ubuntuforums.org/showthread.php?t=2316240&p=13461233#post13461233

Thanks Leon. Should this also work (be tried) on 16.10?

Tessa (unit3) wrote :

same question but for 17.04.

Leon Liao (lihow731) wrote :

@Christopher and Tessa,

Yes. you can install it in 16.10 and 17.04 using the same commands in comment 16.

This package will install a configure file into /usr/share/X11/xorg.conf.d/.
This configure will block the "SynPS/2 Synaptics Touchpad" (You could check it via "xinput" command).

If your touchpad is a I2C touchpad and the "SynPS/2 Synaptics Touchpad" exists,
this package should work for you.

Tessa (unit3) wrote :

That definitely seems to help here, thanks!

@lihow731 (#16): This simply makes the track pad not work at all, starting from bootup.
This is the same effect that the syndaemon workout ends up having, although in that case it generally doesn't happen immediately.

(Obviously, I mean "on my machine" in my comment #21, ie an Thinkpad T450s )

Leon Liao (lihow731) wrote :

@Christopher,

Could you upload the output of the "xinput" of your machine (Thinkpad T450s)?

We are still debugging why the "disable tap while typing" lost function when both the i2c and ps/2 devices exist.
For the track pad case, we don't have solution yet.

Thank you! It looks like this:

Thinkpad T450s:

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎜ ↳ Wacom Bamboo 2FG 4x5 Pen stylus id=16 [slave pointer (2)]
⎜ ↳ Wacom Bamboo 2FG 4x5 Pen eraser id=17 [slave pointer (2)]
⎜ ↳ Wacom Bamboo 2FG 4x5 Pad pad id=18 [slave pointer (2)]
⎜ ↳ Wacom Bamboo 2FG 4x5 Finger touch id=19 [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)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ Integrated Camera id=10 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
    ↳ ThinkPad Extra Buttons id=14 [slave keyboard (3)]
    ↳ HD Webcam C525 id=15 [slave keyboard (3)]

Leon Liao (lihow731) wrote :

@Christopher,

On Thinkpad T450s, there is only one trackpad device in xinput, and it's a PS/2 device.
So, Thinkpad T450s does not need this workaround solution.
The workaround solution is to block the PS/2 trackpad device.
That's why the workaround solution make your trackpad lost function.
I think I need add more condition in the workaround package.

I borrowed a thinkpad X250, the xinput is similar with yours beside the Wacom Bamboo 2FG and the touchscreen.
When I am typing, the 'tap to click' is disabled. So, I won't be interrupt by palm when I typing.
For your case, I have no idea what causes the "disable tap while typing" function fail.

Another thing, the "disable touchpad while typing" option is removed.
Currently, the actual behavior is "disable 'tap to click' while typing".
I think this behavior make sense,
i.e. Some gamers will use both the keyboard and the touchpad at the same time.

Anders Hall (a.hall) wrote :

Got here through bug #1576685 and #1351772 (duplicates or very related):

Summary of my experience with disable while typing feature:

(1) The synaptics and libinput package worked well for me in 16.04 (and previous version to 12.04 I think) up to 17.04 on thinkpads (x2XX to carbon X1). Currently I'm using carbon x1 5th gen. There is however some form of instability with settings that affects many users including me.

Sometimes the disable while typing feature stops working and reinstall of libinput and synaptics drivers help. I.e, reinstall xserver-xorg-input-synaptics and -libinput as well as running:

gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true
https://help.ubuntu.com/community/SynapticsTouchpad#Touchpad_not_working_after_login

However, what perplexes me is that the gnome desktop (gnome default) does not work with synaptics disable while typing when it clearly works in unity at the same time. I'm testing gnome before 18.04 and login/reboot in/out between both desktops, with the exact same settings (gconf, drivers etc).

Currently I'm writing this in gnome and the cursor skips with random artefacts that make the keyboard defunct. In unity it works perfectly (two finger scroll, trackpoint etc works in both desktops).

(2) Got a better experience in gnome when opening a terminal and running syndaemon -d in gnome. However, that seem to freeze the mouse slightly too long after I have stopped typing (will test the hacks in this thread). The unity version works much better.

My question is, what differers in default input settings between gnome and unity on 17.04?

Anders Hall (a.hall) wrote :

Sorry #1687191

Changed in oem-priority:
importance: High → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers