Differences between revisions 1 and 34 (spanning 33 versions)
Revision 1 as of 2005-01-15 03:58:35
Size: 1956
Editor: anonymous
Comment:
Revision 34 as of 2013-11-09 12:25:47
Size: 7966
Editor: BenArmstrong
Comment: Remove obsolete lenny instructions
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
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: ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/SynapticsTouchpad|Italiano]]-~
----
Line 4: Line 5:
1. Using apt or the Synaptic Package Manager (not to be confused with the Synaptics touchpad software), install "xfree86-driver-synaptics". <<TableOfContents>>
Line 6: Line 7:
2. I recommend you install "qsynaptics" as well, or perhaps "ksynaptics" if you prefer; in this case I am using qsynaptics. === Determining the type of Touchpad ===
Line 8: Line 9:
3. Open a terminal, "su" to root, and open "/etc/X11/["XF86Config"]-4" in your text editor. The following command will tell you whether you have a Synaptics, ALPS or [[DebianEeePC/HowTo/ElantechTouchpad|Elantech touchpad]]:
Line 10: Line 11:
4. Add/replace in the "InputDevice" section for the touchpad the following lines:
Line 12: Line 12:
 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
egrep -i 'synap|alps|etps' /proc/bus/input/devices
Line 34: Line 15:
5. Add/replace these lines to the "ServerLayout" section: (Elantech support was enabled in Linux kernel 2.6.32-4.)

=== Editing Touchpad settings through a GUI ===

Some desktop environments such as GNOME and KDE can allow you to adjust settings of your touchpad through a graphical system settings panel.

On GNOME, go to System -> Preferences -> Mouse, there should be a "Touchpad" tab.

On KDE, go to System Settings -> Input Devices, there should be a "Touchpad" tab. For KDE4, you might need to install the '''kde-config-touchpad''' package first (eg: {{{sudo apt-get install kde-config-touchpad}}}).

If you can't find a Touchpad or Synaptics tab in your system settings, you may need to edit your "xorg.conf" file. This file has traditionally been a single file named {{{/etc/X11/xorg.conf}}}, but it can also be split up into multiple files in the {{{/etc/X11/xorg.conf.d}}} folder.

=== In case you don't have an xorg.conf ===

Create one with the following commands in a terminal:
Line 36: Line 32:
      Section "ServerLayout"
      ...
              InputDevice "ConfiguredMouse" "CorePointer"
              InputDevice "Generic Mouse" "AlwaysCore"
              InputDevice "Synaptics Mouse" "AlwaysCore"
      ...
Xorg :1 -configure
Line 44: Line 35:
6. Save the file and reboot. (You may be able to modprobe the synaptics module and restart X instead of rebooting, but this is how I did it.) Alternatively, reboot the machine in single user mode, and type the following commands:
Line 46: Line 37:
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. {{{
Xorg -configure
}}}

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

Note: {{{Xorg -configure}}} may not always work, as indicated in Xorg(1). In any case, if you are using Squeeze, read on, as you no longer need a full xorg.conf.

=== Read the manual ===

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

{{{
man 4 synaptics
}}}

=== Debian wheezy ===

At start, Xorg reads vendor-supplied configuration commands from directory /usr/share/X11/xorg.conf.d (so says man xorg.conf.d).

If generating xorg.conf fails for you, files there may be useful.

=== 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 (but this will work just as well in a combined {{{/etc/X11/xorg.conf}}} file). {{{/usr/share/X11/xorg.conf.d}}} contains distro-supplied samples which can be copied over (or at least keep an eye on their settings when creating your own configuration). The following example shows how to enable tapping and how to configure various other options; you probably won't need everything in it. Comment out any old config for synaptics before replacing it with this new config.

(DebPkg:xserver-xorg-input-synaptics (in Squeeze) has tapping disabled by default for touchpads with one or more physical buttons; 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
}}}

It is normal for a touchpad to be presented as both a Synaptics device and as an ImPS/2 device. If this is so, then {{{/var/log/Xorg.0.log}}} should show that X has found a touchpad on {{{/dev/input/event6}}} (for example) and probably also that it has failed to do so on {{{/dev/input/mouse0}}} (for example). This is fine.

==== Multitouch ====

If multitouch doesn't work for you, your hardware may not support it, but you can use the following options to emulate multitouch which allows most of the features to work. Try adding these lines to the Touchpad section (shown above):

{{{
        Option "EmulateTwoFingerMinZ" "35"
        Option "EmulateTwoFingerMinW" "8"
}}}

You can check which buttons are reported in Xorg.0.log to see if you have multitouch. A touchpad without this capability reports only the usual "left", "right" and "middle" buttons:

{{{
$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle
}}}

A touchpad with multitouch reports "double" for two-finger multitouch and "triple" for three-finger multitouch:

{{{
$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle double triple
}}}


=== 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 gsynaptics, synaptic, tpconfig or edit xorg.conf. All you need is passing the kernel options for module psmouse.

==== Asus eee PC 901 ====
Note, however, that if you DO install the synaptics driver and you are running the "{{{options ps proto-imps}}}" option, that your Elantech touchpad will not be detected as such....it will show up as a mouse of some type. In this case, the symdaemon and synclient programs will not be usable.

==== 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

=== 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 control panel. This can of course be omitted. 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

Translation(s): English - Italiano


Determining the 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.)

Editing Touchpad settings through a GUI

Some desktop environments such as GNOME and KDE can allow you to adjust settings of your touchpad through a graphical system settings panel.

On GNOME, go to System -> Preferences -> Mouse, there should be a "Touchpad" tab.

On KDE, go to System Settings -> Input Devices, there should be a "Touchpad" tab. For KDE4, you might need to install the kde-config-touchpad package first (eg: sudo apt-get install kde-config-touchpad).

If you can't find a Touchpad or Synaptics tab in your system settings, you may need to edit your "xorg.conf" file. This file has traditionally been a single file named /etc/X11/xorg.conf, but it can also be split up into multiple files in the /etc/X11/xorg.conf.d folder.

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.

Note: Xorg -configure may not always work, as indicated in Xorg(1). In any case, if you are using Squeeze, read on, as you no longer need a full xorg.conf.

Read the manual

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

man 4 synaptics

Debian wheezy

At start, Xorg reads vendor-supplied configuration commands from directory /usr/share/X11/xorg.conf.d (so says man xorg.conf.d).

If generating xorg.conf fails for you, files there may be useful.

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 (but this will work just as well in a combined /etc/X11/xorg.conf file). /usr/share/X11/xorg.conf.d contains distro-supplied samples which can be copied over (or at least keep an eye on their settings when creating your own configuration). The following example shows how to enable tapping and how to configure various other options; you probably won't need everything in it. Comment out any old config for synaptics before replacing it with this new config.

(xserver-xorg-input-synaptics (in Squeeze) has tapping disabled by default for touchpads with one or more physical buttons; 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

It is normal for a touchpad to be presented as both a Synaptics device and as an ImPS/2 device. If this is so, then /var/log/Xorg.0.log should show that X has found a touchpad on /dev/input/event6 (for example) and probably also that it has failed to do so on /dev/input/mouse0 (for example). This is fine.

Multitouch

If multitouch doesn't work for you, your hardware may not support it, but you can use the following options to emulate multitouch which allows most of the features to work. Try adding these lines to the Touchpad section (shown above):

        Option          "EmulateTwoFingerMinZ"  "35"
        Option          "EmulateTwoFingerMinW"  "8"

You can check which buttons are reported in Xorg.0.log to see if you have multitouch. A touchpad without this capability reports only the usual "left", "right" and "middle" buttons:

$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle

A touchpad with multitouch reports "double" for two-finger multitouch and "triple" for three-finger multitouch:

$ grep "TouchPad: buttons:" /var/log/Xorg.0.log
(II) SynPS/2 Synaptics TouchPad: buttons: left right middle double triple

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 gsynaptics, synaptic, tpconfig or edit xorg.conf. All you need is passing the kernel options for module psmouse.

Asus eee PC 901

Note, however, that if you DO install the synaptics driver and you are running the "options ps proto-imps" option, that your Elantech touchpad will not be detected as such....it will show up as a mouse of some type. In this case, the symdaemon and synclient programs will not be usable.

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

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 control panel. This can of course be omitted. 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