Ubuntu – What’s the recommended way to configure a Synaptics touchpad device


I want to increase the scroll area by moving the so-called RightEdge a bit towards the middle. Right now I'm doing this via a one-liner that's called at session start (added via gnome-session-properties):

xinput --set-prop --type=int --format=32 11 252 1781 5125 1646 4582

This works fine, but feels like a hack. What's the recommended way to edit/set touchpad device properties like this one? Few years ago I'd have put that into the xorg.conf, but this seems to be discouraged nowadays.

Best Answer

UPDATED WITH TESTED VERSION from 10.10 up to 13.04

Tested on HP dv6000, Sony Vaio NW240, Hp dv5-2130 and Toshiba NB305

Since Ubuntu 10.10 the new xorg.conf configuration is inside the /usr/share/X11/xorg.conf.d directory for the input devices.

Go to this directory and you will find several files:

10-evdev.conf, 50-synaptics.conf, 50-vmmouse.conf, 50-wacom.conf, 51-synaptics-quirks.conf, 60-magictrackpad.conf

It might depend on what devices you have connected but this are the ones i have seen always.

Now we want to open the first one that loads. That will be 10-evdev.conf. But before we open it we need the synaptic edges values.

First go to the terminal, if in a 11.04 or previous version of Ubuntu press ALT+F2 and type gnome-terminal, then press ENTER. If in a 11.04 or newer version you can simply open the Dash and type terminal.

After the terminal opens type xinput list

Look for the device that is the one you want to work with. Grab the ID from the input you want to work with.

In my case i have the following output:


The one i want to work with is SynPS/2 Synaptics TouchPad with an ID of 11.

Now we type: xinput list-props ID | grep Edges
(ID is the number you grabbed from the ID in the xinput list)

in my case i typed xinput list-props 11 | grep Edges

and the output was this: Synaptics Edges (276): 1752, 5192, 1620, 4236

Take note of the 4 Edges numbers (They go in the order: Left, Right, Top, Bottom)

Open 10-evdev.conf: sudo nano 10-evdev.conf

Inside the 10-evdev.conf file you will find several InputClass Sections. You need to look for the section that has MatchIsTouchpad "on" in it. That would be the third one for me.

ADD at the bottom of the section the 4 positions in order like this


SAVE and Reboot. This is to test if it is working. If for some reason you made a mistake, select in the grub menu Recovery Mode, load in terminal as root and edit the file again and remove the lines or repair the problem. Either way, if you run terminal as root in the recovery mode, type startx and it will log out where the error is found and how to fix it. The beauty of linux is that it not only SHOWS you where the error is, in most cases it TELLS you how to fix it.

If it reboots normally then NOW YOU CAN START EDITING. Go to 10-evdev.conf:

sudo nano 10-evdev.conf

And start lowering the values to the one you feel more perfect.

In my case i lowered the RightEdge value every 1000 points. Just for testing. Of course reducing the RightEdge increases the space you have to SCROLL up/down. This way, you now have the ability to increase/decrease every area of your synaptic, including the scrolling area. And this answers your question.

Let us now take the code you put up in the question: xinput --set-prop --type=int --format=32 11 252 1781 5125 1646 4582

In your case you have:

Option "LeftEdge" "1781"
Option "RightEdge" "5125"
Option "TopEdge" "1646"
Option "BottomEdge" "4582"

Simply edit the section in 10-evdev.conf with your values. Then start lowering the RighEdge value. I recommend to start with lowering every 512 points (since 5125 divided by 10 = 512.5 which is 10% of the total). So you would be modifying 10% each time you lower it.

NOTE: The values MUST BE between double quotes ("")

More info in the man pages here

The information you will find in that link is up-to-date and shows the several places where you can find the xorg configuration files apart from the several options you can use to customize your synaptic any way you want.

There is also a neat program called gpointing-device-settings Install gpointing-device-settings (apt-get install gpointing-device-settings) which does some of the stuff.

In any case it worked great, very nice to have the ability to decide how much you want for scroll and how much you want for anything else, including the tapping options.

Related Question