Differences between revisions 16 and 20 (spanning 4 versions)
Revision 16 as of 2010-02-07 19:18:16
Size: 8031
Editor: ?dsalt
Comment: Correct the "determining type" description; improve the wording of the example udev-based config link.
Revision 20 as of 2010-07-11 12:06:45
Size: 9147
Editor: ?dsalt
Comment: Merge from ElantechTouchpad; improve example.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
'''Contents'''
<<TableOfContents>>
Line 17: Line 20:
Create one with the following commands in a tty terminal, '''not''' a terminal window (get there with [CTRL] + [ALT] + [F1]):

{{{
sudo -s
/etc/init.d/kdm stop
/etc/init.d/gdm stop
/etc/init.d/xdm stop
cd /etc/X11/
Create one with the following commands in a terminal:

{{{
Xorg :1 -configure
}}}

Alternatively, reboot the machine in single user mode, and type the following commands:

{{{
Line 28: Line 32:
Alternatively, reboot the machine in single user mode, and type the following commands:

{{{
cd /etc/X11/
Xorg -configure
}}}
Line 47: Line 44:
[[DebianEeePC/HowTo/ElantechTouchpad#udev|Example udev-based configuration (for an Elantech touchpad).]] You should use a file in `/etc/X11/xorg.conf.d`, e.g. `/etc/X11/xorg.conf.d/synaptics.conf`, for configuration. The following example shows how to enable tapping and how to configure various other options; you probably won't need everything in it.

(DebPkg:xserver-xorg-input-synaptics (in Squeeze) has tapping disabled by default; see `/usr/share/doc/xserver-xorg-input-synaptics/NEWS.Debian.gz`. For a list of available options, see `synclient -l` . Not all options are appropriate; for example, Elantech touchpads don't report pressure, and many other touchpads don't support multitouch.)

{{{
Section "InputClass"
 Identifier "Touchpad" # required
 MatchIsTouchpad "yes" # required
 Driver "synaptics" # required
 Option "MinSpeed" "0.5"
 Option "MaxSpeed" "1.0"
 Option "AccelFactor" "0.075"
 Option "TapButton1" "1"
 Option "TapButton2" "2" # multitouch
 Option "TapButton3" "3" # multitouch
 Option "VertTwoFingerScroll" "1" # multitouch
 Option "HorizTwoFingerScroll" "1" # multitouch
 Option "VertEdgeScroll" "1"
 Option "CoastingSpeed" "8"
 Option "CornerCoasting" "1"
 Option "CircularScrolling" "1"
 Option "CircScrollTrigger" "7"
 Option "EdgeMotionUseAlways" "1"
 Option "LBCornerButton" "8" # browser "back" btn
 Option "RBCornerButton" "9" # browser "forward" btn
EndSection
}}}
Line 196: Line 219:

Translation(s): it

(!) ?/Discussion


Contents

Determining type of Touchpad

The following command will tell you whether you have a Synaptics, Alps or Elantech touchpad:

egrep -i 'synap|alps|etps' /proc/bus/input/devices

(Elantech support was enabled in Linux kernel 2.6.32-4.)

In case you don't have an xorg.conf

Create one with the following commands in a terminal:

Xorg :1 -configure

Alternatively, reboot the machine in single user mode, and type the following commands:

Xorg -configure

Then follow the on-screen instructions. This should give you something to work with.

Read the manual

This manual will tell you all the options that are available for the synaptics driver:

man 4 synaptics

Debian squeeze, kernel 2.6.32-4 and later, Xorg 7.5

You should use a file in /etc/X11/xorg.conf.d, e.g. /etc/X11/xorg.conf.d/synaptics.conf, for configuration. The following example shows how to enable tapping and how to configure various other options; you probably won't need everything in it.

(xserver-xorg-input-synaptics (in Squeeze) has tapping disabled by default; see /usr/share/doc/xserver-xorg-input-synaptics/NEWS.Debian.gz. For a list of available options, see synclient -l . Not all options are appropriate; for example, Elantech touchpads don't report pressure, and many other touchpads don't support multitouch.)

Section "InputClass"
        Identifier      "Touchpad"                      # required
        MatchIsTouchpad "yes"                           # required
        Driver          "synaptics"                     # required
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"     # multitouch
        Option          "TapButton3"            "3"     # multitouch
        Option          "VertTwoFingerScroll"   "1"     # multitouch
        Option          "HorizTwoFingerScroll"  "1"     # multitouch
        Option          "VertEdgeScroll"        "1"
        Option          "CoastingSpeed"         "8"
        Option          "CornerCoasting"        "1"
        Option          "CircularScrolling"     "1"
        Option          "CircScrollTrigger"     "7"
        Option          "EdgeMotionUseAlways"   "1"
        Option          "LBCornerButton"        "8"     # browser "back" btn
        Option          "RBCornerButton"        "9"     # browser "forward" btn
EndSection

Debian squeeze, kernel 2.6.30-1, Xorg 7.4

If you are using a generic synaptic touchpad, but it fails to respond to tapping or scrolling actions under a new installation of Squeeze (as in testing), you can run the following two commands to immediately make it work:

modprobe -r psmouse
modprobe psmouse proto=imps

To make this change permanent, create a file such as touchpad.conf under /etc/modprobe.d/, and put the following line in it:

options psmouse proto=imps

You do not need to install gsynptics, synaptic, tpconfig or edit xorg.conf. All you need is passing the kernel options for module psmouse.

Asus F3JC

On an Asus F3JC, most features of its Synaptics touchpad were not automatically detected by Xorg 7.4 although the xorg synaptics driver was already installed.

1. Install the driver, if not already installed

aptitude update
aptitude install xserver-xorg-input-synaptics

2. Edit /etc/X11/xorg.conf

Section "Module"
    Load           "synaptics"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "synaptics"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
Option "TapButton1" "1"
Option "SpecialScrollAreaRight" "true"
Option "VertEdgeScroll" "true"
Option "VertTwoFingerScroll" "true"

EndSection

Note: on my Squeeze with Fluxbox, I had to add gsynaptics-init [i used gsynaptics] on my startup list program ~/.fluxbox/startup --?LucaGentile

Debian Lenny, kernel 2.6.21, Xorg 7.3

On a Dell Latitude C610, very little was needed to configure the more advanced features of the touchpad. The touchpad was detected and package free86-driver-synaptics was already installed.

1. Edit /etc/X11/xorg.conf Find the section regarding the Touchpad (which is correctly recognised during installation) and add the option SHMConfig "on"

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "HorizScrollDelta"      "0"
        Option          "SHMConfig"     "on"
EndSection

2. Restart X: close all unsaved documents, then ctrl-alt-backspace (you could also reboot)

3. install a package to act as a control panel for the touchpad. I used gsynaptics; there are a number of choices, including ksynaptics and qsynaptics.

4. Launch your control panel to finish configuration. The touchpad works as a mouse even before these steps, but with the control panel you can add the functionality of the right edge of the touchpad being a scroll cursor zone (like a mouse scroll wheel).

At this point, the touchpad works, including in firefox/iceweasel.

Read the rest of this page for more tips, which are still relevant to recent kernels.

Debian 3.1, kernel 2.6.10

Here is my experience installing the software for a Synaptics touchpad on a Compaq Presario 1690 laptop. Note that this is based on a fresh Debian 3.1 testing install with a 2.6.10 kernel from unstable. Some config file lines may differ from your setup:

1. Using apt or the Synaptic Package Manager (not to be confused with the Synaptics touchpad software), install "xfree86-driver-synaptics". Then read and follow the package's README.Debian file since it is likely more up to date and correct than this document.

2. I recommend you install "qsynaptics" as well, or perhaps "ksynaptics" if you prefer; in this case I am using qsynaptics.

3. Open a terminal, "su" to root, and open "/etc/X11/?XF86Config-4" in your text editor.

4. Add/replace in the "?InputDevice" section for the touchpad the following lines:

 Section "InputDevice"
  Identifier    "Synaptics Mouse"
  Driver        "synaptics"
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
  Option        "LeftEdge"      "1700"
  Option        "RightEdge"     "5300"
  Option        "TopEdge"       "1700"
  Option        "BottomEdge"    "4200"
  Option        "FingerLow"     "25"
  Option        "FingerHigh"    "30"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.09"
  Option        "MaxSpeed"      "0.18"
  Option        "AccelFactor"   "0.0015"
  Option        "["SHMConfig"]" "on"
 #  Option      "Repeater"      "/dev/ps2mouse"
 EndSection

5. Add/replace these lines to the "?ServerLayout" section:

      Section "ServerLayout"
      ...
              InputDevice    "ConfiguredMouse" "CorePointer"
              InputDevice    "Generic Mouse"   "AlwaysCore"
              InputDevice    "Synaptics Mouse" "AlwaysCore"
      ...

6. Save the file and restart X (Ctrl+Alt+Backspace). (You may have to reboot, as well. I don't know why, but it didn't work for me until I rebooted, and I'm not knowledgable enough to know what to do to make it work without rebooting.)

7. Log in to your GUI and try running qsynaptics or ksynaptics. If all is well, qsynaptics should report that all is well and you should be able to configure your touchpad.

(Thanks to Craig Fields of houseofcraig.net for his assistance.)

8. Firefox has the default configuration to interpret horizontal scrolling as back or forward button events. If you don't want this you can disable horizontal scrolling via qsynaptics or ksynaptics, but if you want to keep horizontal scrolling (e.g. for viewing large images) do the following:

  • open Mozilla/Firefox
  • enter about:config in the location bar
  • set mousewheel.horizscroll.withnokey.action to "0"
  • set mousewheel.horizscroll.withnokey.sysnumlines to "true"

(This is not stricktly about touchpad configuration, but there is a lot of wrong information on that configuration on google, so I thought it would be useful here.)

The syndaemon Helper

syndaemon is able to help with a number of things, including palm-check and such. one possibility for loading this at X startup for all users is to add a separate file in /etc/X11/Xsession.d (i.e. /etc/X11/Xsession.d/98x11-syndaemon)

# This file is sourced by Xsession(5), not executed.

# Load settings from ~/.qsynaptics
/usr/bin/qsynaptics -r

# start synaptics daemon to enable proper communication with touchpad
/usr/bin/syndaemon -d -t -k -i 1

This also loads settings from the qsynaptics controlpanel. This can of course be omited. If you leave it in, you should make sure all new users have sensible options set by copying a working .qsynaptics to /etc/skel.


CategoryLaptopComputer