Opcje 50-synaptics.conf nie działają

23

W jaki sposób Ubuntu oferuje domyślne ustawienia synaptics? Mam Ubuntu Netbook 10.10 zainstalowany na Eeepc 900. Po wyjęciu z pudełka TapButton2 ustawiono na 3, a TapButton3 na 2.

Mam kilka niestandardowych ustawień synaptycznych, które chcę jako ustawienia domyślne dla całego systemu. W tej chwili używam skryptu z poleceniami synclient. Muszę uruchamiać każdy rozruch lub budzenie. Pita. Kiedyś wszystko poszło w xorg.conf .. który już nie istnieje. Próbuję nauczyć się nowego sposobu, którym są najwyraźniej pliki conf /usr/share/X11/xorg.conf.d.

  1. Zredagowałem, /usr/share/X11/xorg.conf.d/50-synaptics.confaby wyglądać następująco:

    Sekcja „InputClass”
         Identyfikator „touchpad catchall”
         „Synaptics” sterownika
         MatchIsTouchpad „on”
         MatchDevicePath "/ dev / input / event *"
         Opcja „LockedDrags” „1”
         Opcja „TapButton2” „2”
         Opcja „TapButton3” „3”
    EndSection
  2. Próbowałem zmodyfikować część touchpada /usr/share/X11/xorg.conf.d/10-evdev.conf, bez cygara.

  3. Próbowałem tych samych plików 50-synaptics.conf i 10-evdev.conf w /etc/X11/xorg.conf.dsekcji.

  4. Próbowałem zrobić /etc/X11/xorg.confz sekcją InputClass powyżej. Bez cygara

Zawsze najpierw cofam starą zmianę, robię nową i rozpoczynam nową sesję X w celu przetestowania ( startx -- :2). Interesujące jest dla mnie to, że po przejściu na terminal wirtualny ( ctrl+ alt+ F1) moje ustawienia synaptyczne zostają utracone. Znaczący? Nie wiem

Oto uruchamiane przeze mnie polecenia synclient:

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

Oto, co znajduje się w / dev / input:

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

Dziennik X jest raczej długi, ale oto niektóre dane wyjściowe. Jeśli cała rzecz byłaby przydatna, gdzie jest dobre miejsce na jej przesłanie?

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

Wygląda na to, że pozostaje to nierozwiązane w obecnym Ubuntusie (12.04, 12.10).

djeikyb
źródło
1
Do Twojej wiadomości, zanim zapytałem, zobaczyłem i podążyłem za pytaniem „Jaki jest zalecany sposób konfiguracji urządzenia touchpad Synaptics?” bezskutecznie.
djeikyb
Przepraszam, jeśli mój komentarz nie pomaga, ale możesz spróbować wkleić wyjątkowo długie rzeczy i wspomnieć o linkach tutaj: paste.ubuntu.com
Oxwivi
1
możesz przesłać cały plik Xorg.0.log w dpaste.de Uderzam w ten sam problem w indywidualnej wersji, nie mogę użyć natty z powodu błędu sieci bezprzewodowej (osobny problem)
tutuca

Odpowiedzi:

22

Ok, spróbujmy się zanurzyć

Konfiguracja niestandardowa Xorg:

Przy wycofywaniu HAL Xorg używa udev do wykrywania urządzeń. Dlatego wszelkie zdefiniowane reguły udev zostaną uwzględnione przy konfigurowaniu XServer. Jednak nie ma potrzeby definiowania reguł udev, ponieważ Xorg obsługuje pliki konfiguracyjne, w rzeczywistości nie zaleca się definiowania reguł udev.

Niestandardowe pliki konfiguracyjne mają ten priorytet:

  • ustawienia z /usr/share/X11/xorg.conf.d/
  • zasady udev (nie jestem pewien co do priorytetu udev, może mniej)
  • ustawienia z /etc/X11/xorg.conf.d/
  • ustawienia w /etc/X11/xorg.conf

gdzie stary dobry, nadal obsługiwany, xorg.confma najwyższy priorytet. Dlatego wszelkie reguły, które /usr/share/X11/xorg.conf.d/tracisz ważność, gdy zostaną znalezione inne reguły o wyższym priorytecie.

Aby zdefiniować niestandardową konfigurację bez pliku xorg.conf, musisz utworzyć folder, w /etc/X11/xorg.conf.d/którym umieścisz niestandardowe pliki konfiguracyjne urządzenia (tutaj twój 50-synaptics.conf). Jednak wszelkie inne definicje w istniejącym pliku xorg.conf zastąpią je, dlatego należy usunąć plik xorg.conf.

Niestety nie mam dostępu do panelu dotykowego Synaptics i nie mogę przetestować, czy naprawdę działa. Bardzo dobry samouczek konfiguracji X można znaleźć (choć obcy) na Wiki projektu Fedora .

Powodzenia.

Takkat
źródło
Eheh ... Moje pytanie brzmi: dlaczego dodanie moich opcji w tych lokalizacjach nie przynosi żadnego efektu.
djeikyb
@ djeikyb: czy możesz również sprawdzić (z Xorg.0.log), czy może być załadowana więcej niż jedna instancja modułu synaptics (co powoduje, że wszystkie twoje ustawienia niestandardowe są nieważne, jeśli druga była aktualna)
Takkat
Masz rację. Zacznij od podstaw, pracuj dalej. W każdym razie możesz teraz zobaczyć część mojego dziennika Xorg. Wygląda na to, że moduł synaptics jest ładowany tylko raz. Nie jestem pewien, jak interpretować / dev / input, ale jest to teraz pytanie.
djeikyb
Nie. Wypróbowałem to w 10-edev.conf i 50-synaptics.conf. Co ciekawe, dziennik xorg pokazuje moje opcje odczytane z pliku.
djeikyb
1
@djeikyp: xinput --list --longpokazanie aktualnych urządzeń i ustawień może (ale nie musi ) dać dodatkowe wskazówki.
Takkat,
8

Używam Ubuntu 11.04 i najwyraźniej demon ustawień gnome zastępuje opcje synaptyczne gdziekolwiek je umieścisz. W rzeczywistości dla opcji „TapButton” wartości, których próbuje użyć djkeikyb, są wartościami domyślnymi, a demon je odwraca.

Uruchamianie skryptu za pomocą komend synclient podczas uruchamiania nie było opcją, ze względu na terminal wirtualny opisany przez djkeikyb, a także dlatego, że za każdym razem, gdy podłączałem / odłączałem moją mysz USB, wartości również były resetowane.

Postanowiłem wyłączyć demona ustawień dla właściwości myszy / touchpada. W typie terminala:

gconf-editor

Następnie przejdź do aplikacji> gnome_settings_daemon> wtyczki> mysz i wyłącz aktywną opcję. Oczywiście efektem ubocznym jest brak możliwości edycji właściwości myszy w obszarze System> Preferencje> Mysz

anthomas 8
źródło
2
Ciekawy. Niestety uważam, że jest to błąd „upstream” (chociaż byłem zbyt leniwy i zajęty, aby napisać odpowiedni raport). Występuje ten problem przy użyciu Arch Linux bez śladu gnome. Jednak za pomocą tej metody możesz przestrzegać ustawień Xorg?
djeikyb
1
Tak. Umieszczam „opcję” w pliku /usr/share/X11/xorg.conf.d/50-synaptics.conf (najniższy priorytet według Takkata, prawda?) I działa poprawnie.
anthomas8
9
Zainspirowany tą odpowiedzią znalazłem podobne rozwiązanie. Uruchom dconf-editor( apt-get installjeśli trzeba), przejdź do org.gnome.settings-daemon.plugins.mouse, odznacz active. Potwierdzam, że to rozwiązanie pozwoliło mi na /etc/X11/xorg.conf.d/50-synaptics.confprzestrzeganie moich ustawień w wersji Ubuntu 12.04 beta. @ djeikyb, powinieneś zaznaczyć tę odpowiedź jako zaakceptowaną, ponieważ jest to jedyna, która faktycznie rozwiązuje problem przedmiotowy.
Nikita Volkov
1
@mojojojo Zainstaluję najnowszą wersję Ubuntu i spróbuję, kiedy będę miał wolną chwilę. Wygląda obiecująco.
djeikyb
3
Działa dla mnie na Debian 8 Jessie
aaaaaa
2

W tym momencie wygląda to na błąd. Zacznę od pytania o listy mailingowe Synaptic i Xorg i zgłoszenia błędu. To jest moja niezadowalająca odpowiedź: /

Chociaż nie miałem jeszcze okazji przetestować moich opcji w systemie Ubuntu 11.04, synaptics i xorg również nie działają zgodnie z oczekiwaniami w aktualnej instalacji (czw. 2 03:09:43 PDT 2011) Instalacja Arch. Dlatego wydaje się, że jest to błąd nadrzędny, a nie konkretnie Ubuntu.

djeikyb
źródło
Błąd jest nadal obecny w 13.04
tutuca
1

Używanie 11.04 zaktualizowane szeregowo od 9.04, jeśli to ma znaczenie. udev nie działał przy użyciu/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 nie pokazał żadnych zmian w ustawieniach po ponownym uruchomieniu. xorg.conf.d działał z/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

zrestartowanie X sprawiło, że zmiany pojawiły się w synclient.

gpointing-device-settings wspomniano również gdzieś jako rozwiązanie.

Misaki
źródło
Co tak naprawdę dla ciebie działało? Możesz wyjaśnić? Wygląda na to, że mówisz, że edytowanie plików xorg.conf.d rozwiązało problem, ale na pewno nie dla mnie w wersji 10.10 Ubuntu.
djeikyb
0

Nie jestem pewien, czy to pomaga, ale jeśli zapiszesz go jako xorg.conf, powinno działać

robin0800
źródło
5
Plik xorg.conf jest przestarzały. Jeśli to możliwe, chciałbym to zrobić we właściwy sposób. Poza tym po prostu umieściłem tę sekcję w innym pustym miejscu /etc/X11/xorg.confi bez cygara.
djeikyb
0

robi

Option "SHMConfig" "on"

nadal się ubiegasz? Przynajmniej nadal mam go w moim starym pliku konfiguracyjnym. Czy nie można tego zranić, prawda?

marto
źródło
Używam synclient bez tej opcji. Jeśli rozumiem: jeśli jest to wymagane, musi być włączone dla każdej konfiguracji synaptycznej. Dlatego opcja nie jest przydatna. Poprawny? Nawiasem mówiąc, nie ma to wpływu na moją obecną instalację Arch, która ma ten sam problem. Mam nadzieję, że na tym netbooku uda mi się uruchomić podwójny rozruch Ubuntu, dzięki czemu będę mógł odpowiednio zadać pytanie tutaj na askubuntu :)
djeikyb
najwyraźniej shmconfig przechodzi przez HAL, który nie jest już używany. czy coś ..
marto
To ma sens. Obecny obecny schemat wykrywania sprzętu to połączenie udev i dbus. Nie mogę przestać myśleć, że jest to problem udev w jego jądrze, zwłaszcza że moje ustawienia synclient są resetowane w przypadku zdarzeń acpi, takich jak hibernacja.
djeikyb