Bug 39226 - syndaemon sometimes fails to disable the touchpad while typing
Summary: syndaemon sometimes fails to disable the touchpad while typing
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: 7.5 (2009.10)
Hardware: All Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-14 08:42 UTC by Oliver Joos
Modified: 2012-03-13 21:38 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Oliver Joos 2011-07-14 08:42:56 UTC
I use Ubuntu 10.04.2 LTS with xorg 1:7.5+5ubuntu1 and xserver-xorg-input-synaptics 1.2.2-1ubuntu4

To reproduce start a terminal and execute
1. killall syndaemon
2. syndaemon -i 4.0 -k
3. then press keys and move pointer with touchpad at once

Two things go wrong:
* syndaemon writes "Disable" and "Enable" to stdout, but
  enables not always 4.0 secs after the last keypress.
* quite often the pointer still moves although syndaemon
  says it is disabled.

Details have been well explained by Stanley Sokolow as comment #20 on http://launchpad.net/bugs/27541 which is one of many duplicates of http://launchpad.net/bugs/240738. The low default timeout of 0.5 secs in Ubuntu makes it even worse and seems a workaround for http://launchpad.net/bugs/801763

Due to recent diversity of touchpad hardware this bug gains publicity. I found that Macbooks, newer Samsung laptops and Asus EeePCs are among the affected systems. See my findings with Elantech touchpads in comment #27 of http://launchpad.net/bugs/240738
Comment 1 Mike 2011-07-15 05:03:56 UTC
Not to toot my own horn here, but I contacted Peter Osterlund, the author of the syndaemon man page, and his response suggests that it isn't just a simple change of the default timing as suggested in comment 20 of the aforementioned bug:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/240738/comments/5
Comment 2 Peter Hutterer 2011-07-27 18:08:05 UTC
Did you try using the record extension instead of polling?

syndaemon -R -i 4.0 -k
Comment 3 Tim 2011-08-13 06:19:52 UTC
Using the undocumented option "-m 20" on syndaemon, as mentioned in LP #240738, made the situation a lot better for me. At least most keypresses are catched now.
Comment 4 Tim 2011-08-13 06:38:48 UTC
(In reply to comment #2)
> Did you try using the record extension instead of polling?
> 
> syndaemon -R -i 4.0 -k

If you press a key real quick it still misses it sometimes (apart from the fact that not being able to click for 4 seconds after the last letter you typed is very annoying by itself).

I experimented with this undocumented switch -m to change the polling interval and running "syndaemon -R -i 0.5 -k -m 20", which changes the default polling interval of 200ms to 20ms, results in no more noticeable key presses being missed.
Comment 5 Peter Hutterer 2011-08-14 15:22:36 UTC
If you use -R, the -m argument is ignored.
Comment 6 Peter Hutterer 2012-03-13 21:27:39 UTC
(In reply to comment #3)
> Using the undocumented option "-m 20" on syndaemon,

commit 72d5b4886927aee5fbc871b5c3d0300be92d8ecc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 28 10:43:38 2011 +1000

    man: document syndaemon -m switch
Comment 7 Peter Hutterer 2012-03-13 21:38:46 UTC
Closing as fixed as per comment #4. Since -m 20 is ignored if -R is given, I can assume that -R is enough to fix the issue. GNOME also uses the -R flag nowadays, see https://bugzilla.gnome.org/show_bug.cgi?id=639623

Long story short, any polling suffers from race condition, so this cannot be fixed in normal mode.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.