I want to configure my synaptics touchpad to user inverted scrolling with two fingers.
Where to configure synaptics for this in Ubuntu 12.04?
I want to configure my synaptics touchpad to user inverted scrolling with two fingers.
Where to configure synaptics for this in Ubuntu 12.04?
It is relatively straightforward to do this, but it may not work for all touchpads, although it worked for my Synaptics Touchpad on my old laptop. I began experimenting with mine and using xinput
, etc, and did mostly the same as this useful article here.
Firstly, run xinput
to list all your devices, and note the id of your touchpad.
↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
Now to get your button map for the device number found:
xinput get-button-map 11
which should return something like this:
1 2 3 4 5 6 7 8 9 10 11 12
Now, just reversing 4 and 5 should invert the 2 finger scrolling (at least it does on my system). In the following command, just remember to use your device hardware id (not my example 11
) and leave spaces between the numbers after the device number:
xinput set-button-map 11 1 2 3 5 4 6 7 8 9 10 11 12
Now with xinput get-button-map 11
the button map should be
1 2 3 5 4 6 7 8 9 10 11 12
Now, check it in your web browser. This of course only sets it temporarily, so it is probably easiest to add it as a startup item rather than messing with xorg
. Just create a new startup item and add the whole of the above xinput set-button-map
command in it. It is critical that there are spaces between the numbers after your device number, and of course use the actual device name of your hardware, not my example.
Again, see the article and Ubuntu forums for more information and discussion- you can probably experiment and invert a lot of the other functions of the touchpad as well; you can reset your experimentation (which is temporary anyway, unless you put a command in startup) by just simply placing the numbers in order again:
xinput set-button-map 11 1 2 3 4 5 6 7 8 9 10 11 12
xmodmap -e "pointer = 1 2 3 5 4 7 6 8 9 10 11 12"
but this seems to work as well :)
The Arch Linux Wiki has a good tutorial at:
https://wiki.archlinux.org/index.php/Synaptics_Touchpad#Configuration
The only major requirement is an understanding of how to edit configuration files.
The main point to focus on at this URL is setting VertScrollDelta (and HorizScrollDelta if you enabled horizontal scrolling) to a negative value. What I do is take the previous value of this variable and set it to itself with a minus sign in front of it (e.g. instead of 106, use -106).
If Linux isn't your expertise, I'd suggest you read the entire article to gain a basic understanding of what to do.
Hope this helps.
I suppose the best way to do this is by using dconf-editor:
Here's a screenshot of deconf-editor:
For inverted scrolling, open gedit (or your favourite text editor) and type this:
pointer = 1 2 3 5 4 7 6 8 9 10 11 12
This enable vertical and horizontal natural scrolling (i.e. inverted scrolling). 4 and 5 interchanged is for inverted vertical. 6 and 7 interchanged is for inverted horizontal. Now, save this file as .Xmodmap in your home folder.
Next, for 2 finger scrolling, open Mouse and Touchpad Settings in System Settings, go to the Touchpad tab and check the box which says Two-finger scrolling. The screenshot below will show you this.
For inverted scrolling, there an indicator you can install at https://launchpad.net/~zedtux/+archive/naturalscrolling.
In summary :
sudo add-apt-repository ppa:zedtux/naturalscrolling
sudo apt-get update
sudo apt-get install naturalscrolling
Then run Natural Scrolling from your Dash. An indicator icon will appear where you can invert scrolling on a per-device basis (e.g. invert your trackapd, but don't invert your bluetooth mouse).
To use reverted/inverted/natural scrolling (whatever you call it), create file containing these line, right click, properties, and make it executable, add the file to Startup Application, and reboot.
#!/bin/sh
DEV_NO=`xinput list | grep "SynPS/2 Synaptics TouchPad" | sed 's/.*id=\([0-9]*\).*/\1/g'`
PROP_NO=`xinput list-props ${DEV_NO} | grep "Synaptics Scrolling Distance" | sed 's/.*(\([0-9]*\)).*/\1/g'`
xinput set-prop ${DEV_NO} ${PROP_NO} -106 -106
direct link download https://dl.dropboxusercontent.com/u/75813759/.nat