Synaptics Touchpad Treiber

Aus wiki.archlinux.de
Version vom 27. Juli 2007, 17:46 Uhr von 127.0.0.1 (aus Tab wurde Tap und ein eigenes inputdevice für alps touchpads)

Info

Der Synaptics TouchPad Treiber ist ein Treiber für Xorg/XFree86-4.x, der es ermöglicht, die speziellen Funktionen der in vielen Laptos verbauten Synaptics TouchPads unter X zu nutzen.
Ohne den Treiber arbeiten die TouchPads im sogenannten compatibility mode, d.h. sie emulieren eine standard Maus.


Kernel Module

Im Normalfall (ARCH standard-kernel) sollte das TouchPad beim booten erkannt und die benötigten Module geladen werden.
Diese Module werden benötigt:

  • psmouse (CONFIG_MOUSE_PS2)
  • evdev (CONFIG_INPUT_EVDEV)


Treiber installieren

Den Treiber mit pacman installieren

pacman -S synaptics


Device Namen herausfinden

Um den Device Namen (wird für die Konfiguration in xorg.conf benötigt) herauszufinden diesen Befehl ausführen:

cat /proc/bus/input/devices

Das gesuchte Device ist der erste Eintrag in der Handlers-Zeile des TouchPad Blocks (Name enthält Synaptics oder ALPS)
In meinem Fall ist es: mouse0

I: Bus=0011 Vendor=0002 Product=0007 Version=0000
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 
B: EV=b
B: KEY=6420 0 7000f 0 0 0 0 0 0 0 0
B: ABS=11000003


xorg.conf anpassen

Damit der Treiber funktioniert, müssen ein paar Einträge in der xorg.conf gemacht werden.

Section "Module"

In die Module Section kommt:

Load "synaptics"

Section "InputDevice"

Eine eigene InputDevice Section für das Touchpad erstellen.

  • hier wird das zuvor ermittelte device benötigt. --> Option "Device" "/dev/input/mouse0"

Alps Touchpads brauchen eine etwas andere Konfiguration als Synaptics (weiter unten)

Section "InputDevice"
        Identifier  "Touchpad"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mouse0"
        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      "HorizScrollDelta" "100"
        Option      "VertScrollDelta" "100"
        Option      "MinSpeed" "0.06"
        Option      "MaxSpeed" "0.12"
        Option      "AccelFactor" "0.0010"
        Option      "SHMConfig" "on"
EndSection

Alps Konfiguration

Section "InputDevice"
        Driver "synaptics"
        Identifier "Synaptics TouchPad"
        Option "Device" "/dev/psaux"
        Option "SendCoreEvents" "true"
        Option "Protocol" "auto-dev"
        Option "LeftEdge" "130"
        Option "RightEdge" "840"
        Option "TopEdge" "130"
        Option "BottomEdge" "640"
        Option "FingerLow" "7"
        Option "FingerHigh" "8"
        Option "MaxTapTime" "180"
        Option "MaxTapMove" "110"
        Option "EmulateMidButtonTime" "75"
        Option "VertScrollDelta" "20"
        Option "HorizScrollDelta" "20"
        Option "MinSpeed" "0.60"
        Option "MaxSpeed" "1.10"
        Option "AccelFactor" "0.030"
        Option "EdgeMotionMinSpeed" "200"
        Option "EdgeMotionMaxSpeed" "200"
        Option "UpDownScrolling" "1"
        Option "CircularScrolling" "1"
        Option "CircScrollDelta" "0.1"
        Option "CircScrollTrigger" "2"
        Option "SHMConfig" "on"
        Option "Emulate3Buttons" "on"
EndSection

Section "ServerLayout"

In die ServerLayout Section kommt:

InputDevice "Touchpad" "AlwaysCore"

Statt "AlwaysCore" kann auch "CorePointer" verwendet werden.
Sollten noch weitere Eingabegeräte (z.B. externe Maus) angeschlossen werden, ist zu beachten, dass immer nur ein InputDevice "CorePointer" sein darf. Alle anderen müssen dann auf "AlwaysCore" gestellt werden.


Links