- Code: Select all
Option "VertTwoFingerScroll" "1"
The trouble with the Aspire One is that the trackpad does not report the number of fingers touching the pad. This is evident by enabling the SHMConfig option in your xorg file and running the command "synclient -m 10" in a terminal. By doing so you will recieve a screen similar to the following"
- Code: Select all
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
The columns we are focusing on are f and w. Move your mouse around and take a look at what is reported. Column f shows the number of fingers touching the trackpad and will change dynamically on trackpads that are able to report this. On the Aspire One, however, the trackpad will only report the finger width which is displayed in column w. The ability to report the width of a finger on a trackpad is a feature typically used to allow a trackpad to detect when a users palm has touched the pad and, thus, will not move the mouse as it considers it to be an accidental "touch". It is this ability that we are going to utilize to enable two finger scrolling on the Aspire One.
By default there is no way to utilize the finger width reporting feature in any manner, than I know of, other than to detect accidental trackpad touches. I, in searching for a way to utilize this feature, have recently made the aquaintence of a gentleman by the name of Luca who, only two days before I began working on a solution myself, had developed a patch for debian to enable this feature in the Synaptics driver. With his permission I edited the patch to allow it to compile under Ubuntu and am happy to say the feature works wonderfully.
I've attached the newly compiled synaptic driver and am posting a copy of my xorg.conf file that will allow you to enable two finger scrolling on your own system. Let's get started:
1. Download the attached file "xserver-xorg-input-synaptics_0.15.2-0ubuntu7_i386.zip"
2. Open a terminal and navigate to the directory where you you saved the file (typically your desktop)
3. Rename the file by issuing the command "mv xserver-xorg-input-synaptics_0.15.2-0ubuntu7_i386.zip xserver-xorg-input-synaptics_0.15.2-0ubuntu7_i386.deb" (I had to rename the file to a .zip to allow it to upload)
4. Install the file by issuing the command "dpkg -i xserver-xorg-input-synaptics_0.15.2-0ubuntu7_i386.deb"
5. After it finishes installing open your xorg.conf file for editing by issuing the command "sudo gedit /etc/X11/xorg.conf"
6. Edit your xorg.conf file to reflect the following changes:
- Code: Select all
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
Option "SHMConfig" "true"
Option "VertTwoFingerScroll" "1"
Option "EmulateTwoFingerMinW" "7"
EndSection
Section "ServerLayout"
Identifier "Default Server Layout"
Screen "Default Screen"
InputDevice "Keyboard" "Core Keyboard"
InputDevice "Synaptics Touchpad" "Core Pointer"
EndSection
The line of code that you should take notice of is the one containing EmulateTwoFingerMinW. This sets the minimum finger width that should be considered to be "two fingers" touching the pad. At this point you should be able to reboot and enjoy two finger scrolling. I would recommend disabling the vertical scroll feature under the Preferences > Mouse > Touchpad menu and unchecking "Enable vertical scrolling".
This driver was compiled under ubuntu 8.10. Keep in mind that these instruction are newly written. If edits are needed or users experience trouble please notify me and I will update to the instructions to accomodate. Also, this driver and instructions should work on any finger width reporting synaptics touchpad so if you know someone who has a trackpad that won't allow them to enable two finger scrolling because it won't report the number of fingers I would encourage you to try it out. Thanks.
Here's my entire xorg.conf for comparison:
- Code: Select all
Section "ServerLayout"
Identifier "Default Server Layout"
Screen "Default Screen"
InputDevice "Keyboard" "Core Keyboard"
InputDevice "Synaptics Touchpad" "Core Pointer"
EndSection
Section "Device"
Identifier "Configured Video Device"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SHMConfig" "true"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
Option "VertTwoFingerScroll" "1"
Option "EmulateTwoFingerMinW" "7"
EndSection
Section "InputDevice"
Identifier "Keyboard"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
