Configuring the Synaptics Touchpad

Saturday, July 21. 2007

Are you also using a notebook running a recent distribution that uses a Synaptics touchpad like my HP Compaq nw8240? Are you also frequently annoyed by the scrolling features, especially when using a browser (moving on the right side, scrolls - OK for me, but moving on the bottom moves through the history)? You could disable this by using KSynaptics, however this does not work on recent kernels. You always get the message:
Shared Memory is not accessible. Please add the option 'UseShm "true"' into the touch pad section of /etc/X11/xorg.conf
Well, you already did that, but it did not help? Here is how you can make it work nevertheless:
A possible solution would be to replace the driver for the touchpads InputDevice section in the /etc/X11/xorg.conf by a standard mouse driver (e.g. 'ps2'). However this would result in losing all special functionalities of the Synaptics touch pad, including the possibility to disable taping and using the vertical scroll region while only disabling the horizontal scroll region.The user 'Wickey' posted German instructions on Linuxforen.de on how to make KSynaptics work through patching and recompiling the kernel, but this did not work for me. However the solution is easier. The Synaptics driver comes with a handy command line utility called 'synclient'. Before you can use it check the 'InputDevice' section in /etc/X11/xorg.conf that deals with the synaptics Mouse driver. Make sure that this section contains the line 'Option "SHMConfig" "on"'. If it's not included already, add it and restart the X server. Now run 'synclient -l' to print a list of all possible options and their current settings. You can change the settings on the fly by running 'synclient <settings>=<value>' to play around with all the possible settings. All settings take effect immediately. Here is the current output on my laptop with disabled horizontal scrolling (back/forward in web browsers) and disabled taping:
Parameter settings:
    LeftEdge             = 1900
    RightEdge            = 5400
    TopEdge              = 1900
    BottomEdge           = 4000
    FingerLow            = 25
    FingerHigh           = 30
    MaxTapTime           = 180
    MaxTapMove           = 220
    MaxDoubleTapTime     = 180
    SingleTapTimeout     = 180
    ClickTime            = 100
    FastTaps             = 0
    EmulateMidButtonTime = 75
    VertScrollDelta      = 100
    HorizScrollDelta     = 0
    VertEdgeScroll       = 1
    HorizEdgeScroll      = 1
    VertTwoFingerScroll  = 0
    HorizTwoFingerScroll = 0
    MinSpeed             = 0.09
    MaxSpeed             = 0.18
    AccelFactor          = 0.0015
    EdgeMotionMinZ       = 30
    EdgeMotionMaxZ       = 160
    EdgeMotionMinSpeed   = 1
    EdgeMotionMaxSpeed   = 400
    EdgeMotionUseAlways  = 0
    UpDownScrolling      = 1
    LeftRightScrolling   = 1
    UpDownRepeat         = 1
    LeftRightRepeat      = 1
    ScrollButtonRepeat   = 100
    TouchpadOff          = 0
    GuestMouseOff        = 0
    LockedDrags          = 0
    RTCornerButton       = 0
    RBCornerButton       = 0
    LTCornerButton       = 0
    LBCornerButton       = 0
    TapButton1           = 0
    TapButton2           = 0
    TapButton3           = 0
    CircularScrolling    = 0
    CircScrollDelta      = 0.1
    CircScrollTrigger    = 0
    CircularPad          = 0
    PalmDetect           = 1
    PalmMinWidth         = 10
    PalmMinZ             = 200
    CoastingSpeed        = 0
    PressureMotionMinZ   = 30
    PressureMotionMaxZ   = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
However on the next reboot all the settings will be gone. You can make all settings persistent by adding the settings as options to the InputDevice section. The name of the option is exactly the name as listed by 'synclient -l'. So my xorg.conf currently contains an InputDevice section like the following:
Section "InputDevice"
        Identifier  "Mouse[3]"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mice"
        Option      "Name" "Touchpad"
        Option      "SHMConfig" "on"
        Option      "Vendor" "Synaptics"
        Option      "ZAxisMapping" "4 5"
        Option      "TapButton1" "0"
        Option      "TapButton2" "0"
        Option      "TapButton3" "0"
        Option      "HorizScrollDelta" "0"
        Option      "RTCornerButton" "0"
        Option      "RBCornerButton" "0"
EndSection
When you need to switch off a settings you wrote into the xorg.conf you still can call synclient to overwrite this settings temporarily, e.g. to enable taping.
Twitter Bookmark Configuring the Synaptics Touchpad  at del.icio.us Facebook Google Bookmarks Digg Configuring the Synaptics Touchpad Bookmark Configuring the Synaptics Touchpad  at YahooMyWeb

Trackbacks


Trackback specific URI for this entry
    No Trackbacks

Comments


    No comments

Add Comment

HTML-Tags will be converted to Entities.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA