I finally got annoyed enough to figure out how to control my synaptics touchpad on my Sony VAIO today. Sometime after upgrading to Fedora Core 4, I noticed that whenever I moved my fingers across the touchpad, unexpected (at least to me) things started happening to my applications. I tried to get out the big hammer and fix it, but I wasn’t exactly happy with the results.
The main issue here is the size of the touchpad vs. the size of my hands. My SRX51P/A isn’t exactly on the large side. One of the reasons I bought it was that it was small enough to carry around without a lot of fuss. While it took me a while to get used to the 90% sized keyboard, it’s really a great machine and well worth the trouble of a few errant up arrow keystrokes. So, how’s this related to the touchpad?
Well, the relationship comes in when you’re trying to do things in a hurry like zing the mouse cursor from one side of the 1024×768 display to the other. I generally don’t bother too much with precision mousing, as I spend most of my time with my hands firmly resting on the home row of the keyboard. A lot of what I do involves two basic tools: Galeon (or Firefox, depending on what I’m trying to do) and the Gnome Terminal application. I use the “sloppy focus” focus policy, so all I have to do is get the mouse in the window, and I’m sorted. Most of what I do when navigating around a web page involves the Page Up/Page Down keys, and so, with a few exceptions, I don’t spend a lot of time focused on the touchpad.
The thing is, for most people who do spend lots of time with the mouse or the touchpad, the vendors have come up with ways to enhance the capabilities of the device without changing them much. Cases in point are the mouse wheels (which I don’t particularly like) and the capabilities of the Synaptics Touchpad which allows horizontal and vertical scrolling based on sliding your fingers along the bottom and right edges, respectively. Support for this has recently been added to the Linux kernel, and has appeared (to me at least) with FC4.
Since I’ve been using this machine as my primary computer platform for the majority of the last 4 years, changes in the way it behaves require a little getting used to. It is unfortunate that when the vendors like Red Hat and the Fedora Project added support for the feature, they neglected to include a suitable way to control it without requiring you to hack options specified in the
xorg.conf file (this was the big hammer I mentioned earlier).
Today, after trying to move the mouse from the middle of the screen to the back button on Galeon and having 9/10 attempts result in me going back one or two pages in my browser’s history, I decided something must be done about this situation.
After visiting the site for the Xorg version of the driver, I discovered towards the bottom a list of configuration tools. Not really wanting to take the time to see if/how this driver was related to the other Linux touchpad driver, I downloaded the gsynaptics utility since I use GNOME, unpacked, compiled, installed per the instructions, added the user-mode progam to my session startup scripts and bounced the X server. Voila! Control of the scrolling behavior. Absolutely brilliant. Thanks very much to the authors, Hiroyuki Ikezoe and Takuro Ashie. Now, if the install would just take care of adding it to the control panel as well, that’d be even better. Once everything is ready to go, just run
gsynaptics from a terminal window to change the settings.
If you’re not 100% comfortable with the
xorg.conf file, you may have trouble installing it from the directions on the website, however there are more detailed instructions in the README file. I just added it to the InputDevice section, as directed. The settings I used were, with the only change being the addition of line #79:
76 Section "InputDevice" 77 Identifier "Synaptics" 78 Driver "synaptics" 79 Option "SHMConfig" "true" 80 Option "Device" "/dev/input/mice" 81 Option "Protocol" "auto-dev" 82 Option "Emulate3Buttons" "yes" 83 Option "LeftEdge" "120" 84 Option "RightEdge" "830" 85 Option "TopEdge" "120" 86 Option "BottomEdge" "650" 87 Option "FingerLow" "14" 88 Option "FingerHigh" "15" 89 Option "MaxTapMove" "110" 90 Option "VertScrollDelta" "20" 91 Option "HorizScrollDelta" "20" 92 Option "MinSpeed" "0.3" 93 Option "MaxSpeed" "0.75" 94 EndSection
If you’re pulling out your hair trying to figure out why your touchpad behavior changed (for better or worse), maybe this article will help you to take control back from the default configuration. The gsynaptics tool doesn’t seem to cover every configuration option (see the driver page for more information), but for the average user, it provides an easy way to control the most common ones.