Monday, May 31, 2010

How to enable tapping (tap-to-click) on your touchpad in GNOME

Let's hope my Google-juice washes all those tap-to-click guides off the front page because - well, forget about most of them.
Here it is - the definitive guide on how to enable tapping on your touchpad in GNOME:

Go to System->Preferences->Mouse, select the Touchpad tab and then click "Enable mouse clicks with touchpad".

Or, because a picture says more than 17 words (emphasis mine):


The tap-to-click settings are one-finger for left click, two-finger for right-click and three-finger for middle-click. There's calls (and patches in review) for improvements to make this more configurable, but for now this is what we have.

And a quick run-down of what the other options mean:

  • "Disable touchpad while typing": spawns off syndaemon. syndaemon will monitor your keyboard and disable the touchpad while you're typing to avoid accidental input.

  • Scrolling options are: disabled, edge scrolling (where moving a finger on the right edge will scroll) and two-finger scrolling (two finger movement scrolls). In my case - because my touchpad doesn't support multiple fingers, the two-finger scrolling is greyed out.

  • "Enable horizontal scrolling": enables horizontal scrolling in the same scrolling method. For edge-scrolling this is the bottom edge, for two-finger scrolling it's anywhere on the touchpad with two fingers.



Things you don't need include editing the xorg.conf file, udev rules file, HAL fdi files, gsynaptics or other magic tools. You can still do that if you want to but you really have to want to.

[edit]
As pointed out in the comments, sometimes the control panel doesn't show a touchpad tab. The tab is conditional on whether a property initialized by the X.Org synaptics driver could be detected. So if the tab is missing, the usual cause is that the touchpad isn't detected correctly by the kernel and looks like a mouse to userspace. This can get confusing if the touchpad does tapping and other features in hardware but to userspace a tap looks like a left button press, etc. The latest versions of elantech touchpad suffered from this.

9 comments:

Andrew Harvey said...

What can I do if I don't have a "Touchpad" tab? Can I just edit some configuration file or setting somewhere instead?

Andrew Harvey said...

Sorry, following up on my last comment (I should have checked first), it seems the setting is in /desktop/gnome/peripherals/touchpad/tap_to_click in gconf.

Shawn said...

That's good but where's the KDE instructions? ;-)

(assuming, this is supported :/)

Anonymous said...

hmm... doesn't look like this supports setting up the touchpad the way I like it...

I turn on two finger horizontal scrolling, but not horizontal edge scrolling, but I do use both edge and two finger for vertical scrolling...

And I like two finger tap for middle click...

Also mine doesn't seem to do real multi-touch, but I turn on the two finger emulation...

I like the vertical edge scrolling, but I tend to trigger the horizontal edge scrolling by accident, hence the way I set up my touchpad.

Unknown said...

I wonder if it would be possible to detect track points and (if detected) provide a checkbox to enable the EmulateWheel evdev option.

I understand most machines don't have a trackpoint but to those who have this would be a godsend.

Kevin Kofler said...

For KDE users, make sure you have the kcm_touchpad package installed (it's installed by default for fresh installations of Fedora), then you'll find a System Settings module with very similar functionality to what is explained in this blog post (but some more exposed options, as usual for KDE) under System Settings / System Administration / Keyboard & Mouse / Touchpad.

Søren Hauberg said...

I don't see an option to completely disable the touch pad. Is that possible these days? It is really helpful if you also have a track point.

Anonymous said...

rtcm: (ubuntu package) gpointing-device-settings probably does what you asked.

Leigh said...

Using Linux Mint 12 (Lisa) on my Samsung RF510 - gpointing didn't work, editing my conf files didn't work, but this DID! Felt like headbutting a lamppost afterwards. Thanks for saving me a LOT of frustration :-)