50-synaptics.conf-Optionen funktionieren nicht

23

Wie kommt Ubuntu auf die Standardeinstellungen für Synaptics? Ich habe Ubuntu Netbook 10.10 auf einem Eeepc 900 installiert. Standardmäßig war TapButton2 auf 3 und TapButton3 auf 2 eingestellt.

Ich habe verschiedene benutzerdefinierte Synaptics-Einstellungen, die ich als systemweite Standardeinstellungen verwenden möchte. Im Moment benutze ich ein Skript mit synclient Befehlen, die ich bei jedem Booten oder Wake ausführen muss. Pita-Brot. Früher ging alles in xorg.conf ... was nicht mehr existiert. Ich versuche den neuen Weg zu lernen, der anscheinend bei conf files liegt /usr/share/X11/xorg.conf.d.

  1. Ich habe bearbeitet /usr/share/X11/xorg.conf.d/50-synaptics.conf, um wie folgt auszusehen:

    Abschnitt "InputClass"
         Kennung "touchpad catchall"
         Treiber "Synaptics"
         MatchIsTouchpad "ein"
         MatchDevicePath "/ dev / input / event *"
         Option "LockedDrags" "1"
         Option "TapButton2" "2"
         Option "TapButton3" "3"
    EndSection
  2. Ich habe versucht, den Touchpad-Bereich von /usr/share/X11/xorg.conf.d/10-evdev.conf, no cigar zu ändern.

  3. Versuchte die gleichen 50-synaptics.conf- und 10-evdev.conf-Dateien in einem /etc/X11/xorg.conf.dAbschnitt.

  4. Es wurde versucht, /etc/X11/xorg.confmit dem obigen Abschnitt InputClass eine zu erstellen. Keine Zigarre.

Ich mache immer zuerst die alte Änderung rückgängig, erstelle die neue und starte eine neue X-Sitzung zum Testen ( startx -- :2). Etwas , das ich interessant finde ist , dass nach jedem Schalter auf den virtuellen Terminal ( ctrl+ alt+ F1) meine synaptics Einstellungen verloren gehen. Von Bedeutung? Ich weiß es nicht.

Dies sind die synclient-Befehle, die ich ausführe:

jake @ clyde: ~ $ cat bin / synset.sh
#! / bin / bash
synclient TapButton2 = 2
synclient TapButton3 = 3
synclient LockedDrags = 1

Folgendes ist in / dev / input enthalten:

jake@clyde:/dev/input$ ls
by-path/  event0  event1  event2  event3  event4  event5  event6  event7  mice  mouse0
jake@clyde:/dev/input$ ls -l by-path/
total 0
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-eeepc-event -> ../event6
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-0-event-kbd -> ../event4
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-event-mouse -> ../event7
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-mouse -> ../mouse0

Das X-Protokoll ist ziemlich lang, aber hier ist eine Ausgabe. Wenn das Ganze nützlich wäre, wo ist ein guter Ort, um es hochzuladen?

jake@clyde:/var/log$ egrep "synaptics|touchpad" Xorg.0.log
[    16.707] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event7)
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev touchpad catchall"
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    16.707] (II) LoadModule: "synaptics"
[    16.707] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    16.707] (II) Module synaptics: vendor="X.Org Foundation"
[    16.708] (II) Synaptics touchpad driver version 1.2.2
[    16.708] (II) ETPS/2 Elantech Touchpad: x-axis range 8 - 1144
[    16.708] (II) ETPS/2 Elantech Touchpad: y-axis range 8 - 760
[    16.708] (II) ETPS/2 Elantech Touchpad: device does not report pressure, will use touch data.
[    16.708] (II) ETPS/2 Elantech Touchpad: finger width range 0 - 0
[    16.708] (II) ETPS/2 Elantech Touchpad: buttons: left right double triple
[    16.708] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.708] (**) ETPS/2 Elantech Touchpad: always reports core events
[    16.708] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
[    16.708] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 0
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    16.709] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.710] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[ 15516.377] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44215.009] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44358.733] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44414.761] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44515.817] (--) ETPS/2 Elantech Touchpad: touchpad found

Es sieht so aus, als ob dies im aktuellen Ubuntus (12.04, 12.10) ungelöst bleibt.

djeikyb
quelle
1
Bevor ich gefragt habe, habe ich Folgendes gesehen und befolgt: "Wie wird die Konfiguration eines Synaptics-Touchpad-Geräts empfohlen?" ohne Erfolg.
djeikyb
Entschuldigung, wenn mein Kommentar nicht hilft, aber Sie können versuchen, außergewöhnlich lange Dinge einzufügen
Oxwivi
1
Sie können das gesamte Xorg.0.log in dpaste.de hochladen. Ich habe das gleiche Problem in maverick, kann natty aufgrund eines WLAN-Fehlers nicht verwenden (separates Problem)
tutuca

Antworten:

22

Ok, lass uns versuchen hinein zu tauchen

Xorg benutzerdefinierte Konfiguration:

Bei Verfall von HAL verwendet Xorg udev zur Geräteerkennung. Daher werden alle definierten udev-Regeln bei der Konfiguration von XServer berücksichtigt. Es ist jedoch nicht erforderlich, udev-Regeln zu definieren, da Xorg Konfigurationsdateien unterstützt. Tatsächlich ist das Definieren von udev-Regeln nicht empfehlenswert.

Benutzerdefinierte Konfigurationsdateien haben folgende Priorität:

  • Einstellungen von /usr/share/X11/xorg.conf.d/
  • udev-regeln (Ich bin mir nicht ganz sicher, ob udev Priorität hat, vielleicht weniger)
  • Einstellungen von /etc/X11/xorg.conf.d/
  • Einstellungen in /etc/X11/xorg.conf

wo der gute alte, noch unterstützte xorg.confhöchste priorität hat. Daher /usr/share/X11/xorg.conf.d/verlieren alle Regeln, die Sie festlegen, ihre Gültigkeit, wenn andere Regeln mit einer höheren Priorität gefunden werden.

Um eine benutzerdefinierte Konfiguration ohne xorg.conf-Datei zu definieren, müssen Sie einen Ordner erstellen, /etc/X11/xorg.conf.d/in dem Sie Ihre benutzerdefinierten Gerätekonfigurationsdateien ablegen (hier Ihre 50-synaptics.conf). Alle anderen Definitionen in einer vorhandenen xorg.conf-Datei überschreiben diese jedoch. Daher müssen Sie Ihre xorg.conf-Datei entfernen.

Leider habe ich keinen Zugriff auf ein Synaptics Touchpad und kann nicht testen, ob es wirklich funktioniert. Eine sehr gute Anleitung zur Konfiguration von X finden Sie im Fedora-Projekt-Wiki .

Viel Glück.

Takkat
quelle
Eheh..Meine Frage ist, warum das Hinzufügen meiner Optionen an diesen Standorten keine Wirkung hat.
djeikyb
@djeikyb: kannst du auch bitte überprüfen (von Xorg.0.log), ob möglicherweise mehr als eine Instanz des Synaptics-Moduls geladen ist (das macht alle deine benutzerdefinierten Einstellungen ungültig, wenn die andere aktuell war)
Takkat
Du hast recht. Fangen Sie mit den Grundlagen an und arbeiten Sie sich aus. Wie auch immer, Sie können jetzt einen Teil meines Xorg-Protokolls sehen. Es sieht so aus, als ob das Synaptics-Modul nur einmal geladen wird. Nicht sicher, wie / dev / input zu interpretieren ist, aber es ist jetzt in Frage.
djeikyb
Nee. Versuchte es in 10-edev.conf und 50-synaptics.conf. Interessanterweise zeigt das xorg-Protokoll meine aus der Datei gelesenen Optionen an.
Djeikyb
1
@djeikyp: xinput --list --longum aktuelle Geräte und Einstellungen anzuzeigen , können Sie zusätzliche Hinweise erhalten (oder auch nicht).
Takkat
8

Ich benutze Ubuntu 11.04 und anscheinend ist der Gnome Settings Daemon derjenige, der die Synaptics-Optionen überschreibt, wo immer Sie sie platzieren. Tatsächlich sind für die Option "TapButton" die Werte, die djkeikyb zu verwenden versucht, die Standardwerte und der Dämon invertiert sie.

Das Ausführen eines Skripts mit den synclient-Befehlen beim Start war keine Option, da das virtuelle Terminal von djkeikyb beschrieben wurde und die Werte auch jedes Mal zurückgesetzt wurden, wenn ich meine USB-Maus an- oder abschloss.

Ich habe beschlossen, den Einstellungsdämon für die Maus- / Touchpad-Eigenschaften zu deaktivieren. In einem Terminaltyp:

gconf-editor

Gehen Sie dann zu apps> gnome_settings_daemon> plugins> mouse und schließen Sie die aktive Option. Der Nebeneffekt ist natürlich nicht in der Lage, die Mauseigenschaften unter System> Preferences> Mouse zu bearbeiten

anthomas8
quelle
2
Interessant. Leider glaube ich, dass dies ein Upstream-Fehler ist (obwohl ich zu faul und beschäftigt war, um einen richtigen Bericht zu schreiben). Ich habe dieses Problem, wenn ich Arch Linux mit einer Spur von Gnome verwende. Mit dieser Methode können Sie jedoch Ihre Xorg-Einstellungen respektieren lassen?
Djeikyb
1
Ja. Ich habe eine "Option" in die Datei /usr/share/X11/xorg.conf.d/50-synaptics.conf eingefügt (niedrigste Priorität laut Takkat, richtig?) Und sie funktioniert ordnungsgemäß.
anthomas8
9
Inspiriert von dieser Antwort fand ich eine ähnliche Lösung. Führen Sie aus dconf-editor( apt-get installes, wenn Sie müssen), gehen Sie zu org.gnome.settings-daemon.plugins.mouse, deaktivieren Sie active. Ich bestätige, dass ich mit dieser Lösung meine /etc/X11/xorg.conf.d/50-synaptics.confEinstellungen in Ubuntu 12.04 Beta beibehalten konnte. @djeikyb, du solltest diese Antwort als akzeptiert markieren, da es die einzige ist, die das Thema tatsächlich löst.
Nikita Volkov
1
@mojojojo Ich werde das neueste Ubuntu installieren und es ausprobieren, sobald ich eine freie Minute habe. Sieht vielversprechend aus.
djeikyb
3
Funktioniert für mich unter Debian 8 Jessie
aaaaaa
2

Zu diesem Zeitpunkt sieht es aus wie ein Bug. Ich werde weiter nach den Mailinglisten von synaptic und xorg fragen und einen Fehlerbericht einreichen. Dies ist meine unbefriedigende Antwort: /

Obwohl ich noch nicht die Möglichkeit hatte, meine Optionen in Ubuntu 11.04 zu testen, funktionieren Synaptics und Xorg bei einer Arch-Installation nicht wie erwartet. Es scheint sich also um einen Upstream-Fehler zu handeln, nicht speziell um Ubuntu.

djeikyb
quelle
Bug ist noch in 13.04
tutuca
1

Mit 11.04 in Serie aktualisiert von 9.04 oder so, wenn es darauf ankommt. udev hat nicht funktioniert, mit/etc/udev/rules.d/99-touchpad-borders.rules

ACTION!="add|change", GOTO="xorg_synaptics_end"
KERNEL!="event*", GOTO="xorg_synaptics_end"

ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="xorg_synaptics_end"

# synclient for settings

ENV{x11_options.RightEdge}="5200"
ENV{x11_options.LeftEdge}="1744"
ENV{x11_options.TopEdge}="2000"
ENV{x11_options.BottomEdge}="4256"

LABEL="xorg_synaptics_end"

synclient zeigte nach dem Neustart keine Änderung der Einstellungen. xorg.conf.d hat funktioniert, mit/usr/share/X11/xorg.conf.d/55-touchpad-border.conf

Section "InputClass"
        Identifier "touchpad border config"
        MatchIsTouchpad "on"
        Driver "synaptics"
        Option "RightEdge" "5200"
        Option "LeftEdge" "1744"
        Option "TopEdge" "2000"
        Option "BottomEdge""4256"
EndSection

Beim Neustart von X wurden die Änderungen mit synclient angezeigt.

gpointing-device-settings wurde auch irgendwo als lösung erwähnt.

Misaki
quelle
Was hat bei Ihnen tatsächlich funktioniert? Könntest Du das erläutern? Es hört sich so an, als ob Sie sagen, dass die Bearbeitung von xorg.conf.d-Dateien Ihr Problem gelöst hat, aber für mich unter 10.10 Ubuntu definitiv nicht.
Dienstag,
0

Nicht sicher, ob es hilft, aber wenn Sie es als xorg.conf speichern, sollte es funktionieren

robin0800
quelle
5
xorg.conf ist veraltet. Wenn möglich, würde ich dies gerne auf die richtige Weise tun. Außerdem habe ich diesen Abschnitt nur in eine ansonsten leere /etc/X11/xorg.confund keine Zigarre gecattet .
djeikyb
0

tut

Option "SHMConfig" "on"

noch bewerben? Zumindest habe ich es noch in meiner alten Konfigurationsdatei. Könnte es nicht schaden, das hier einzubauen, oder?

marto
quelle
Ich benutze synclient ohne diese Option. Wenn ich verstehe: Wenn es erforderlich ist, muss es für jede synaptische Konfiguration aktiviert sein. Somit ist die Option nicht sinnvoll. Richtig? Dies hat übrigens keine Auswirkungen auf meine aktuelle Arch-Installation, die das gleiche Problem hat. Hoffentlich kann ich Ubuntu auf diesem Netbook dual-booten, damit ich die Frage hier bei askubuntu richtig pflegen kann :)
djeikyb
Anscheinend durchläuft shmconfig HAL, das nicht mehr verwendet wird. oder so etwas ..
Marto
Das macht Sinn. Das derzeitige Hardware-Erkennungsschema ist eine Mischung aus udev und dbus. Ich kann nicht anders, als zu glauben, dass dies im Kern ein udev-Problem ist, zumal meine Synclient-Einstellungen bei ACPI-Ereignissen wie dem Ruhezustand zurückgesetzt werden.
DJEIKYB