[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnome
Subject:    Can I prevent "Disable touchpad while typing" from affecting mouse movements?
From:       Philip Durbin <philipdurbin () gmail ! com>
Date:       2012-05-06 2:43:52
Message-ID: 4FA5E568.5070605 () gmail ! com
[Download RAW message or body]

Hello!

After using GNOME 2 for 5 years on a workstation I recently switched to 
a laptop *and* to GNOME 3.

I realized I kept expressing frustration with GNOME 3 but really the 
root of my frustration had more to do with the touchpad on my laptop.

I figured out a workaround to my problem last night and posted a 
question and answer combination to a forum.  It's gotten a pretty 
positive response so far, based on upvotes, so I thought I'd copy and 
paste it here.  If I should be sending feedback like this to some other 
mailing list, please let me know!  Thanks for everyone's hard work on GNOME!

Phil

----

Originally posted to 
http://unix.stackexchange.com/questions/37962/can-i-prevent-disable-touchpad-while-typing-from-affecting-mouse-movements


Question: Can I prevent "Disable touchpad while typing" from affecting 
mouse movements?

When I click my name in the upper right, then click "System Settings", 
then "Mouse and Touchpad", and then "Disable touchpad while typing" it 
affects affects my mouse movements.  I have to wait two seconds before I 
can move the pointer with the touchpad.

I like the "Disable touchpad while typing" feature in general, as it 
prevents me from accidentally raising another window instead of the one 
I'm typing into, but can I have the feature only affect taps of the 
touchpad and not my attempts to move the mouse around?

I'm using GNOME 3.2.1 on Fedora 16

----

My Answer:

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`
_______________________________________________
gnome-list mailing list
gnome-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic