Thursday, January 27, 2011

Setting Lenovo IdeaPad S10-3′s touchpad with two finger scroll support on Ubuntu 10.10


After buying my Lenovo IdeaPad S10-3 I read some reviews about the hardware and all of them agreed that to integrate the mouse’s buttons to the touchpad wasn’t the best thing Lenovo have done... I agree too.



On Windows 7 the touchpad has a better performance than on Linux without setting Synaptics in the graphical environment, so I thought it should be a way to set it on Linux. As the x11 config file has been removed in Ubuntu 10.10. I need to use synclient to set the mouse pad value. Thus, I created a bash script and if you like, you can put it as startup program. Also, I added two finger scroll support in this script

1. You can copy the script below and save it as "lenovo_mousepad.sh" (change it whatever you like).

#!/bin/bash                                                                                 

synclient LockedDrags=false
synclient VertEdgeScroll=true
synclient HorizEdgeScroll=false
synclient TapButton1=1
synclient LTCornerButton=2
synclient MaxDoubleTapTime=120
synclient TapButton2=3
synclient EmulateTwoFingerMinZ=20
synclient EmulateTwoFingerMinW=5
synclient AreaBottomEdge=4200

# comment the following 4 lines if you don't want two finger scroll support
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1
synclient EmulateTwoFingerMinW=5
synclient EmulateTwoFingerMinZ=48


2. set it as executable
$ chmod +x lenovo_mousepad.sh


3. execute the script
$ ./lenovo_mousepad.sh


4.(Optional) put it as startup program under the administration menu

Note: you can query all current values by typing this
$ synclient -l


Here the parameters of interest are:

Parameter Description
TapButton1 Which mouse button is reported on a non-corner one-finger tap.
LTCornerButton Which mouse button is reported on a left top corner tap.
TapButton2 Which mouse button is reported on a non-corner two-finger tap.
EmulateTwoFingerMinZ This sets the Z pressure threshold to emulate a two finger press.
EmulateTwoFingerMinW This sets the finger width threshold to emulate a two finger press.
AreaBottomEdge Ignore movements, scrolling and tapping which take place below this edge.

No comments:

Post a Comment