GNOME Bugzilla – Bug 673055
Mouse freezes right after typing
Last modified: 2013-01-29 09:06:05 UTC
1) Open gedit 2) Type something 3) Immediately, try to move the mouse 4) Mouse freezes for some time g-s-d version 3.3.92 This is essentially bug reported in Ubuntu some time ago: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/801763 (Typing causes cursor to stick) However, the fix was introduced by reducing the syndaemon timeout to 0.5 sec with a distro patch, but that introduced bug https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/962958 (Touchpad in macbook pro gets clicked all the time randomly when typing) This is better fixed by introducing "-k" option to syndaemon command at: http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/mouse/gsd-mouse-manager.c#n528, which does not prevent mouse movement during the timeout, but prevents spurious clicks. It is much likely to operate the mouse right after having typed something, than moving and clicking something, within the timeout window of 2 secs. Hence, having former not working often is a lot more annoying than latter not working occasionally. So, please introduce -k option for syndaemon. It is also the recommended option at https://wiki.archlinux.org/index.php/Touchpad_Synaptics. Thanks.
Looks like something to do in GNOME 3.5. Can you prepare a patch? Note that this might get thrown away when we switch to using idle counters to do this work ourselves.
Also, while at it, "-i 2.0" option can be removed too. That's the default value already in syndaemon, hence superfluous to specify again.
Created attachment 210857 [details] [review] Don't freeze mouse movement during disable-touchpad-while-typing timeout (In reply to comment #0) > > This is better fixed by introducing "-k" option to syndaemon command ... > Uhm, I meant -t option, not -k. Sorry. Here is the patch attached - takes care of both things I mentioned. If you accept, I can also push directly to your git.
(In reply to comment #3) > Uhm, I meant -t option Yes, -t is what we desperately need to avoid having the mouse freeze. Since making the changes below I have a completely new attitude about GNOME 3. It doesn't frustrate me at all. Phil -------- Original Message -------- Subject: Re: "Add touchpad tab to the mouse capplet" commit Date: Mon, 07 May 2012 11:31:29 -0400 From: Matthias Clasen <mclasen@redhat.com> To: Philip Durbin <philipdurbin@gmail.com> On Sat, 2012-05-05 at 01:09 -0400, Philip Durbin wrote: > Hi Matthias, > > I wonder if you'd be willing to take a look at this question and my > answer to it: > > http://unix.stackexchange.com/questions/37962/can-i-prevent-disable-touchpad-while-typing-from-affecting-mouse-movements > > I'm emailing you specifically because I found your name on this "Add > touchpad tab to the mouse capplet" commit: > http://git.gnome.org/browse/gnome-settings-daemon/commit/plugins/mouse/gsd-mouse-manager.c?id=4eb9bd09219afbb56f114a2d10bc585e24db803e > > Am I right in thinking that the options to syndaemon are hard coded? > I have a work around, but I thought I'd see what you think about the > situation. Please take it to bugzilla.gnome.org, thanks, Matthias ---- http://unix.stackexchange.com/questions/37962/can-i-prevent-disable-touchpad-while-typing-from-affecting-mouse-movements On my ThinkPad X220T running GNOME 3 it's pretty easy to be typing along and accidentally bump the touchpad, causing some window other than the one you're typing into to be raised. Ostensibly, the solution to this problem is to click your name in the upper right, then click "System Settings", then "Mouse and Touchpad", and then "Disable touchpad while typing" under as shown the screenshot at http://www.thinkwiki.org/wiki/Synaptics_TouchPad_driver_for_X . This will cause `syndaemon` ( http://linuxcommand.org/man_pages/syndaemon1.html ) to start up with the following options: syndaemon -i 2.0 -K -R Here's what the options mean: -i <idle-time> How many seconds to wait after the last key press before enabling the touchpad. (default is 2.0s). -k Ignore modifier keys when monitoring keyboard activity. -K Like -k but also ignore Modifier+Key combos. -R Use the XRecord extension for detecting keyboard activity instead of polling the keyboard state. Having syndaemon running with those options eliminates the original problem, but it absolutely kills my productivity because the `-t` option is **not** enabled: -t Only disable tapping and scrolling, not mouse movements, in response to keyboard activity. Without `-t`, as soon as I stop typing and try to move the pointer, I can't. I have to wait 2 full seconds before the pointer will move. Now, back at that "Mouse and Touchpad" interface, I do not see any way to configure which options are given to `syndaemon` and from what I can tell, the options are hard coded: http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/mouse/gsd-mouse-manager.c?id=5ee48ce8aa66f6c4fdc4aa2c07bc03bdb83bcb65#n540 The solution is twofold. I can't abide `syndaemon` with its default options, so I leave "Disable touchpad while typing" unchecked. Then, to get `syndaemon` to start with the options I want, I run `gnome-session-properties` to open the "Startup Applications Preferences" dialog. From there, I click Add, fill in a name (I called mine "0pdurbin-disable-touchpad-while-typing" so it would appear at the top), and a command, which for me is the following: syndaemon -i 1.0 -K -R -t Again, the major change is the addition of `-t` so `syndaemon` doesn't paralyze my pointer, but while I was in there I reduced the idle time to one second. I hope this helps someone because this was driving me crazy. To avoid using a GUI tool like `gnome-session-properties` it looks like you could set up a file like this, which was created in my case: [pdurbin@tabby ~]$ cat ~/.config/autostart/syndaemon.desktop [Desktop Entry] Type=Application Exec=syndaemon -i 1.0 -K -R -t Hidden=false X-GNOME-Autostart-enabled=true Name[en_US]=0pdurbin-disable-touchpad-while-typing Name=0pdurbin-disable-touchpad-while-typing Comment[en_US]= Comment= [pdurbin@tabby ~]$ Incidentally, this seems to be a pretty complete list of applications that are autostarted, the ones listed in `gnome-session-properties`: `find /etc/xdg/autostart /usr/share/autostart /usr/share/gdm/autostart/ /usr/share/gnome/autostart`
After trying this quickly, I agree that it feels much nicer when adding -t to the syndaemon call. Bastien, should we consider this for 3.4.2 ?
commit c1b2b478ec71b907e4af736d62c1a81ad400f902 Author: Bastien Nocera <hadess@hadess.net> Date: Mon Jun 18 11:51:09 2012 +0100 mouse: Only inhibits mouse clicks and scrolls with syndaemon Not mouse movements. https://bugzilla.gnome.org/show_bug.cgi?id=673055 commit 8fe3ad021968f117f37634a74e5a63575cb818d7 Author: Bastien Nocera <hadess@hadess.net> Date: Mon Jun 18 11:50:29 2012 +0100 mouse: Simplify syndaemon command-line building
*** Bug 692772 has been marked as a duplicate of this bug. ***