Page 1 of 1

Laptop Touchpad Too Sensitive - Workaround

Posted: Tue Jan 31, 2012 4:10 pm
by djmentat
I've installed Mint 12 and loving it so far, except for the touchpad being far too sensitive. I've checked the touchpad settings and the sensitivity is, by default, turned all the way down. I've searched the forums and found several threads on trying to disable the touchpad, but I want my touchpad. I just don't want it messing me up while typing. The solution I came up with is to disable the clicks and scrolling for the touchpad. This leaves me the use of the touchpad (not using a usb mouse),but since the clicking and scrolling is disabled; it doesn't mess me up while typing.

Linux Mint 12
Click Applications/System Tools/System Applications
Click Mouse and Touchpad
Select the Touchpad Tab
Under the General Section
Uncheck Enable mouse clicks with touchpad
Under Scrolling
Select Disabled

This works for me and hopefully it will help others.

To the moderators: I started this new thread as there are multiple other threads on the touchpad sensitivity issue and seems to be a hassle to reply to all of them. Feel free to move the thread if it needs to be.

Re: Laptop Touchpad Too Sensitive - Workaround

Posted: Tue Jan 31, 2012 4:32 pm
by dagon
Moved here by moderator :wink:

Hi!

Can you also add the brand/model of your laptop?

Re: Laptop Touchpad Too Sensitive - Workaround

Posted: Fri Mar 23, 2012 4:21 pm
by LorinRicker
I've installed Mint 12 and loving it so far, except for the touchpad being far too sensitive.
Me too -- just installed Mint 12 on an older Sony Vaio (PCG-V505EXP), also working fine, except for touchpad sensitivity.
Linux Mint 12
Click Applications/System Tools/System Applications <<-- ???
Click Mouse and Touchpad
??? My freshly installed Menu / Applications / System Tools / ...? does not show "System Applications" as a menu choice. Can you be more specific about what applet is referenced by this menu item? Did something fail to install, or should I install something else specifically in Synaptic? TIA. -- Lorin

Re: Laptop Touchpad Too Sensitive - a solution

Posted: Thu Mar 29, 2012 4:23 pm
by LorinRicker
Here's a bash function called distouchpad (disable touchpad) that I just put into my .bashrc file for command-line logins:

Code: Select all

distouchpad()
  { # Disable the darn touchpad -- no fingerpainting!
    echo "host: $HOSTNAME"
    sd=$( ps aux | grep [s]yndaemon )
    pid=$( echo "${sd}" | ruby -e "f = gets.split; puts f[1]" )
    if [ "$pid" != "" ]; then
      echo "${sd}"
      echo -n "syndaemon pid is ${pid} -- kill it [Y/n]? "
      read ans
      case $ans in
      N*|n*)
        ;;
      Y*|y*|*)
        kill -kill $pid
        sleep 1
        ;;
      esac
    fi
    syndaemon -dt -i 60 -k -R
    if [ $? = 0 ]; then
	  echo "%distouchpad-S syndaemon restarted..."
      ps aux | grep [s]yndaemon
    fi
  }
Note the use of the Ruby-code one-liner embedded above: ruby -e "f = gets.split; puts f[1]" -- If you don't have (or like) Ruby installed on your Linux, this could easily be re-written as a Perl (or even Python) one-liner, left as an exercise for the reader... It's just getting the 2nd field, the PID, out of the ps output for that syndaemon process.

Now, with this function in my .bashrc file, whenever I first login a terminal (just once per session, not per-terminal), I can just type the function/command name, and get this:

Code: Select all

$ distouchpad 
host: systemname
username     2522  0.0  0.0   3536   100 ?        Ss   12:10   0:03 syndaemon -dt 
syndaemon pid is 2522 -- kill it [Y/n]? y
%distouchpad-S syndaemon restarted...
username     4001  0.0  0.0   3536   396 ?        Ss   14:04   0:00 syndaemon -dt -i 60 -k -R
On some laptops, a syndaemon process may already be auto-started to manage the touchpad -- as shown above, distouchpad offers to kill that original syndaemon process (respond with "y" to the prompt to kill it), and then restarts it with better command options (for my purposes... YMMV, so see man syndaemon to fine-tune for your own needs). If no syndaemon process is running, distouchpad just starts one, and in either case, your touchpad is under your control!

Hope this helps.

Re: Laptop Touchpad Too Sensitive - Workaround

Posted: Sat Sep 01, 2012 11:17 pm
by sbts
Note the use of the Ruby-code one-liner embedded above: ruby -e "f = gets.split; puts f[1]" -- If you don't have (or like) Ruby installed on your Linux, this could easily be re-written as a Perl (or even Python) one-liner, left as an exercise for the reader... It's just getting the 2nd field, the PID, out of the ps output for that syndaemon process.
Rather than mucking around with Ruby, Perl, Python, and all sorts of interpreters that may need to be specially installed on a system, how about using basic Posix utilities that can be expected to be found on any system.

For example try this one instead.....

Code: Select all

sd=$( ps aux | grep [s]yndaemon )
pid=$( echo "${sd}" | awk ' {print $2} ' )
if you don't actually need the information stored in $sd then the following could have been used....

Code: Select all

pid=$( ps aux | awk ' /[s]yndaemon/ {print $2}' )
it also could have been achieved with "cut" but that would have required either a "sed" or "tr" line to convert all blanks to commas or some other unique character in the output.

Of course there is an even simpler option that can be found on most modern linux systems....

Code: Select all

pid=$( pgrep -f syndaemon )
Keep in mind that it is possible with all of the methods mentioned above to return more than one PID. This will happen if more than one process matches the search.
eg: syndaemon itself, and man syndaemon will match the above searches (including the ruby line)

There are ways to mitigate this, including adding a [:blank:] to the begining and end of each search term (where it matches with the actual ps result)

In the case of "pgrep" it may be enough to drop the -f, but only if there can NEVER be more than one syndaemon running.
If more than one syndaemon can be running at the same time (yeah I know it is VERY unlikely but figured I would provide the info incase it is useful to others) then handling of the line

Code: Select all

kill -kill $pid
would need to be expanded.
One option would be

Code: Select all

pkill -f syndaemon