Synaptics Touchpad Treiber: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Dongiovanni (Diskussion | Beiträge)
K Seite nicht mehr aktuell
Dongiovanni (Diskussion | Beiträge)
Aktualisiert...
Zeile 1: Zeile 1:
{{veraltet}}
{{righttoc}}


== Info ==
Der Synaptics TouchPad Treiber ermöglicht es, die speziellen Funktionen der in vielen Laptos verbauten Synaptics TouchPads unter [[X]] zu nutzen. Ohne den Treiber arbeiten die TouchPads im sogenannten ''compatibility mode'', was bedeutet, dass sie eine standard Maus emulieren.
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.
<br>Ohne den Treiber arbeiten die TouchPads im sogenannten ''compatibility mode'', d.h. sie emulieren eine standard Maus.


== Installation ==
Der Treiber wird mittels [[pacman]] installiert:
pacman -S xf86-input-synaptics


== Kernel Module ==
== Konfiguration ==
Im Normalfall (ARCH standard-kernel) sollte das TouchPad beim booten erkannt und die benötigten Module geladen werden.
Eine Konfiguration ist nicht notwendig, wenn die Voreinstellungen ausreichen. Werden weitere Einstellungen gewünscht, können diese über [[HAL]]-Regeln gesetzt werden.
<br>Diese Module werden benötigt:
{{Hinweis|Damit der Treiber funtkioniert, muss [[HAL]] gestartet sein!}}
*psmouse (CONFIG_MOUSE_PS2)
*evdev (CONFIG_INPUT_EVDEV)


Um nun weitere Einstellungen vorzunehmen, muss die Datei ''/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi'' nach ''/etc/hal/fdi/policy/'' kopiert werden.
cp /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi /etc/hal/fdi/policy/
Hier können nun alle Einstellungen verändert werden.


== Treiber installieren ==
Eine Beispielkonfiguration sieht folgendermaßen aus:
Den Treiber mit pacman installieren
<?xml version="1.0" encoding="UTF-8"?>
<pre>pacman -S synaptics</pre>
    <deviceinfo version="0.2">
        <device>
            <match key="info.product" contains="Synaptics TouchPad">
                <merge key="input.x11_driver" type="string">synaptics</merge>
                <merge key="input.x11_options.AlwaysCore" type="string">true</merge>
                <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
                <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
                <merge key="input.x11_options.TapButton1" type="string">1</merge>
                <merge key="input.x11_options.TapButton2" type="string">2</merge>
                <merge key="input.x11_options.TapButton3" type="string">3</merge>
                <merge key="input.x11_options.protocol" type="string">event</merge>
                <merge key="input.x11_options.touchpadoff" type="string">0</merge>
                <merge key="input.x11_options.shmconfig" type="string">on</merge>
            </match>
        </device>
    </deviceinfo>


Genaue Informationen über alle Optionen bietet die [[Manpage]]:
man synaptics


== Device Namen herausfinden ==
==Siehe auch==
Um den Device Namen (wird für die Konfiguration in xorg.conf benötigt) herauszufinden diesen Befehl ausführen:
* [[Touchpad bei eingesteckter Maus deaktivieren‎]]
<pre>cat /proc/bus/input/devices</pre>
* [[evdev]]
Das gesuchte Device ist der erste Eintrag in der ''Handlers''-Zeile des TouchPad Blocks (''Name'' enthält ''Synaptics'' oder ''ALPS)
<br>In meinem Fall ist es: mouse0
<pre>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</pre>
 
 
== 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:
<pre>Load "synaptics"</pre>
=== 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)


<pre>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      "TapButton1" "1"
        Option      "HorizScrollDelta" "100"
        Option      "VertScrollDelta" "100"
        Option      "MinSpeed" "0.06"
        Option      "MaxSpeed" "0.12"
        Option      "AccelFactor" "0.0010"
        Option      "SHMConfig" "on"
EndSection</pre>
Alps Konfiguration
<pre>
Section "InputDevice"
        Identifier  "Touchpad"
        Driver "synaptics"       
        Option "Device" "/dev/input/mouse0"
        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 "TapButton1" "1"
        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</pre>
=== Section "ServerLayout" ===
In die ServerLayout Section kommt:
<pre>InputDevice "Touchpad" "CorePointer"</pre>
<br>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 "SendCoreEvents" gestellt werden.
Bei der aktuellen Xorg Version ist es normalerweise nicht mehr nötig für eine zusätzliche USB Maus eine extra Device Section anzulegen.
Nur falls die USB Maus nicht automatisch erkannt wird.
== Problembehandlung ==
Sollte der Xserver abstrüzen bzw. einfrieren (tritt bei mir z.B. mit dem radeon Treiber auf) kann man versuchen in der Device Section für die Grafikkarte DRI zu deaktivieren. Dann funktioniert allerdings die 3D-Beschleunigung nicht mehr.
Section "Device"
    ...
    Option "DRI" "false"
    ...
EndSection
<br>
Eine andere Möglichkeit ist '''nohz=off''' zu der kernel Zeile in der [[Grub]] menu.lst hinzuzufügen. Das deaktiviert die ''tickless kernel'' Funktion. Die Kernel Zeile könnte dann z.B so aussehen:
kernel /vmlinuz26 root=/dev/sda1 ro '''nohz=off''' vga=790
== Links ==
* [http://web.telia.com/~u89404340/touchpad/index.html Synaptics TouchPad driver for XOrg/XFree86]
* [[Touchpad bei eingesteckter Maus deaktivieren‎]]
[[Kategorie:Hardware]]
[[Kategorie:Hardware]]
[[Kategorie:X11]]

Version vom 13. September 2009, 22:53 Uhr

Der Synaptics TouchPad Treiber ermöglicht es, die speziellen Funktionen der in vielen Laptos verbauten Synaptics TouchPads unter X zu nutzen. Ohne den Treiber arbeiten die TouchPads im sogenannten compatibility mode, was bedeutet, dass sie eine standard Maus emulieren.

Installation

Der Treiber wird mittels pacman installiert:

pacman -S xf86-input-synaptics

Konfiguration

Eine Konfiguration ist nicht notwendig, wenn die Voreinstellungen ausreichen. Werden weitere Einstellungen gewünscht, können diese über HAL-Regeln gesetzt werden.

Hinweis: Damit der Treiber funtkioniert, muss HAL gestartet sein!

Um nun weitere Einstellungen vorzunehmen, muss die Datei /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi nach /etc/hal/fdi/policy/ kopiert werden.

cp /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi /etc/hal/fdi/policy/

Hier können nun alle Einstellungen verändert werden.

Eine Beispielkonfiguration sieht folgendermaßen aus:

<?xml version="1.0" encoding="UTF-8"?>
    <deviceinfo version="0.2">
        <device>
            <match key="info.product" contains="Synaptics TouchPad">
                <merge key="input.x11_driver" type="string">synaptics</merge>
                <merge key="input.x11_options.AlwaysCore" type="string">true</merge>
                <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
                <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
                <merge key="input.x11_options.TapButton1" type="string">1</merge>
                <merge key="input.x11_options.TapButton2" type="string">2</merge>
                <merge key="input.x11_options.TapButton3" type="string">3</merge>
                <merge key="input.x11_options.protocol" type="string">event</merge>
                <merge key="input.x11_options.touchpadoff" type="string">0</merge>
                <merge key="input.x11_options.shmconfig" type="string">on</merge>
            </match>
        </device>
    </deviceinfo>

Genaue Informationen über alle Optionen bietet die Manpage:

man synaptics

Siehe auch