Problem z touchpadem: przeskakiwanie kursora podczas pisania (Ubuntu 14.04), syndaemon nie pomaga

22

Wiem, że są inne pytania dotyczące tego problemu, ale nie mogę znaleźć odpowiedniego usprawnienia, aby go naprawić.

Touchpad wciąż wykrywa moje dłonie podczas pisania. To NAPRAWDĘ denerwujące, zwłaszcza, że ​​psuje moją produktywność na moim nowym Dell XPS Gold Edition. Jest to świeża instalacja Ubuntu 14.04 i nie chcę się bawić w testowanie skryptów i innych rzeczy, które w końcu zepsują rozpoznawanie touchpada.

Próbowałem użyć syndaemon, ponieważ wygląda na to, że jest to najlepsze obejście tego błędu:

syndaemon -i 0.5 -d

Kiedy próbuję na terminalu, wydaje się, że działa, dopóki nie wyloguję się z sesji.

Ale jeśli wstawię polecenie do mojego programu startowego i zrestartuję, kursor zawsze zawiesza się po minucie lub dwóch. Muszę więc odznaczyć polecenie za pomocą klawiatury i wracam do tych bardzo irytujących funkcji wykrywania dłoni. Jakieś rozwiązanie?

Kilka informacji o moim systemie:

greguti@greguti-XPS13-9333:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
greguti@greguti-XPS13-9333:~$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep -i finger
    Synaptics Finger (288): 25, 30, 0
    Synaptics Two-Finger Pressure (294):    282
    Synaptics Two-Finger Width (295):   7
    Synaptics Two-Finger Scrolling (298):   1, 1
greguti
źródło
Ta strona może pomóc: xps13-9333.appspot.com/#touchpad
greguti
@kos Nie sądzę, że to duplikat. To pytanie dotyczy zapobiegania problemowi z przeskakiwaniem kursora, a odpowiedzi poniżej dotyczą tego, że nie chodzi o to, jak zachować ustawienia synchronizacji, chociaż może to być 1 możliwe rozwiązanie problemu. Zauważ również, że OP powiedział, że próbował umieścić polecenie w aplikacjach startowych, więc wątpliwe jest, czy odpowiedzi w proponowanym pytaniu i tak rozwiążą problem.
Seth
@Seth Jest to błąd, który został naprawiony w późniejszych wersjach Synaptics (patrz odpowiedź OP), dlatego pomyślałem, że dobrym pomysłem jest zamknięcie „właściwego” sposobu zmiany ustawień Synaptics. Jednak OP tak naprawdę nie wspomina o tym, jak synclientnależy używać ... Tak, mój zły, zamknięcie jako duplikat byłoby mylące. Usunięcie mojego bliskiego głosowania.
Kos

Odpowiedzi:

16

Nie mogłem zastosować się do tej odpowiedzi w My XPS 13 i Ubuntu 14.04.

Ale znalazłem szybkie rozwiązanie, aby wyłączyć touchpad podczas pisania:

sudo apt-get install gpointing-device-settings

następnie uruchomić

gpointing-device-settings

Sprawdź: włącz wykrywanie dłoni i zasięg ruchu : od początku zawęź do około 10%.

łoś
źródło
obawiam się, że to nie działa Jak tylko to zrobię, pojawia się błąd: Wystąpił błąd X. Błąd to BadAtom (niepoprawny parametr Atom). Wystąpił błąd X. Błąd to BadAtom (niepoprawny parametr Atom). a touchpad działa równie źle. W rzeczywistości muszę kilka razy poprawiać tę edycję z tego powodu
user260881,
1
Ta nazwa pakietu nie ma już kandydata do instalacji w 16.04
CPBL
8

Odpowiadając na moje pytanie, jak sądzę, wreszcie znalazłem rozwiązanie.

Wygląda na to, że culprid jest samym sterownikiem Synaptics. Interfejs Wathever lub polecenie, którego używasz, nie będzie działać, dopóki sterownik nie zostanie załatany.

Dzięki wspaniałej stronie http://xps13-9333.appspot.com/#touchpad i niektórym e-mailom z właścicielem udało mi się w końcu naprawić ten okropny błąd!

Oto proces w łupinie orzecha, szczegółowe informacje można znaleźć na powyższej stronie internetowej.

Chodzi o to, aby pozbyć się sterownika Synaptics, a następnie pobrać źródła sterownika nadrzędnego, załatać go w celu prawidłowego wykrywania dłoni, a następnie utworzyć plik z odpowiednimi ustawieniami dla touchpada. Poniższe kroki działają dobrze na moim Dell XPS „Gold Edition” (xps-9333) z Ubuntu 14.04.

1. RZECZY DO PIERWSZEGO SPRAWDZENIA

Miałem problem podczas tego procesu z powodu braku pakietu libevdev-dev w moim systemie (chyba nie jest zainstalowany z Ubuntu 14.04?). Najpierw spróbuj zainstalować ten pakiet:

sudo apt-get install libevdev-dev

Jeśli nie jest jeszcze obecny w twoim systemie, powinien zainstalować 3 pakiety: libevdev-dev , libevdev2 {a} i libjs-jquery {a}

Inną sprawą jest zainstalowanie pakietu GIT, aby umożliwić pobranie kodu źródłowego sterownika Synaptics z serwerów GIT.

sudo apt-get install git

Gdy te pakiety znajdą się w systemie, możesz wykonać następujące polecenia.

2. POZNAJ KIEROWNIK RZECZYWISTEGO SYNAPTYCZNEGO I ZAINSTALUJ JEDEN

Wpisz następujące polecenia w terminalu (naciśnij enter i sprawdź wyjścia po każdym poleceniu):

sudo aptitude purge xserver-xorg-input-synaptics

sudo aptitude build-dep xserver-xorg-input-synaptics

Następne polecenie używa GIT. Jeśli używasz go po raz pierwszy, poprosi Cię o podanie adresu e-mail i pseudonimu w celu dokończenia procesu (to znaczy pobierz kod źródłowy sterownika). Możesz to zrobić w terminalu, jest to dość prosty proces. Dane wyjściowe polecenia mówią, co wpisać, wystarczy postępować zgodnie z instrukcjami. Nigdy wcześniej nie korzystałem z GIT i bardzo łatwo mogłem sobie z tym poradzić.

sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

Teraz wchodzisz do folderu, w którym został pobrany kod źródłowy:

cd xf86-input-synaptics

Po pobraniu łatki dla nowego sterownika poprawka ta naprawi sterownik, umożliwiając wykrywanie dłoni i szerokość palca na tabliczce dotykowej.

wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am

Teraz zbuduj nowy sterownik z poprawionego kodu źródłowego (wpisz Enter po każdym wierszu, każde polecenie wygeneruje całkiem sporo danych wyjściowych):

./autogen.sh --prefix=/usr
make
sudo make install

Nowy sterownik Synaptics z łatką umożliwiającą wykrywanie dłoni jest teraz zainstalowany w twoim systemie, ale nadal musisz określić ustawienia, które na to pozwalają.

3. TWORZENIE I EDYCJA PLIKU 20-SYNAPTICS-CONF

A teraz, dla ostatniej części, utwórz plik z ustawieniami dla touchpada, ten plik będzie czytany przy każdym uruchomieniu systemu.

Najpierw utwórz właściwy folder:

mkdir -p /etc/X11/xorg.conf.d/

Następnie pobierasz plik dostarczony przez właściciela wspomnianej wcześniej strony internetowej i kopiujesz go do nowo utworzonego folderu:

sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf

Na koniec możesz użyć synclient , aby określić optymalną wartość parametru PalmMinZ (wpisz liczbę zamiast „WARTOŚĆ”, sugeruję 100, co działa świetnie dla mnie).

synclient PalmMinZ=VALUE

Pod koniec tego procesu powinieneś mieć nowy plik 20-synaptics.conf w /etc/X11/xorg.conf.d, a plik powinien wyglądać tak:

Mój plik 20-synaptics.conf

4. NIE ZAPOMNIJ PONOWNIE URUCHOMIĆ :)

greguti
źródło
Po wykonaniu tej rady mój ekran dotykowy laptopa nie jest już rozpoznawany ...
vicatcu
... i odzyskałem go, instalując sterownik touchpad synaptics z centrum oprogramowania
vicatcu
To naprawiło skaczący touchpad na moim Toshiba Chromebook 2 z systemem Ubuntu 14.04 za pośrednictwem chroot crouton. Łatka git już nie działa, ale po prostu instalacja najnowszego sterownika synaptics ze źródła naprawiła mój problem.
Josh
6

Żadna z odpowiedzi tutaj nie działała na nową instalację Ubuntu 14.04.3 na XPS12, przynajmniej dopóki nie dodałem czarnej listy do modułu psmouse. Poniższe instrukcje są zasadniczo cytowane z tego zestawu instrukcji dla maszyny XPS13 :

Sprawdź, czy touchpad używa tylko magistrali I2C, a nie trybu ps2. Uruchom terminal i wejdź

 xinput 

Wskaźnik wirtualnego rdzenia powinien mieć tylko dwa elementy:

 Virtual core XTEST pointer
 DLL0665:01 06CB:76AD UNKNOWN 

Jeśli w nazwie wymieniono trzeci element z touchpadem PS2, należy umieścić na czarnej liście moduł psmouse, dodając następujące wiersze do /etc/modprobe.d/blacklist.conf:

# remove SynPS/2 Synaptics Touchpad because we want the mouse to work over IC2b
blacklist psmouse

Wtedy zadzwoń

sudo update-initramfs -u

Po ponownym uruchomieniu opcja Disable touchpad while typingw System Settings/ Mouse & Touchpadwykonała swoją pracę zgodnie z oczekiwaniami.

Algebra komunikacyjna
źródło
4
Po wykonaniu tych czynności wygodna opcja „Wyłącz touchpad podczas pisania” nadal nie była dla mnie widoczna, ale przynajmniej mogłem wreszcie zacząć syndaemondziałać tak, jak podano w innych odpowiedziach. Twoja odpowiedź była naprawdę pomocna i była dla mnie niezbędnym krokiem. Wielkie dzięki! To jest na Dell Inspiron 5559 i Ubuntu 16.10.
egmont
3
Postępowałem zgodnie z tymi instrukcjami i działa to w Ubuntu 16.10. Jak powiedział @egmont, nie ma opcji wyłączenia touchpada, jednak nie mam już problemu z touchpadem podczas pisania.
ekangas
1
Mogę potwierdzić, że działa dla Ubuntu 16.04.2 z uruchomionym jądrem w wersji 4.10. GUI nie pojawia się, ale teraz syndaemon działa zgodnie z przeznaczeniem. Wielkie dzięki!
andrebrait,
2

Jeśli dodajesz syndaemondo aplikacji startowych, musisz również odznaczyć „Wyłącz podczas pisania” w ustawieniach myszy i touchpada. Jeśli tego nie zrobisz, oba mechanizmy zakłócają działanie i powodują, że touchpad całkowicie przestaje działać zgodnie z opisem. Działa to dla mnie na magazynie 14.04 (laptop Lenovo T410) bez aktualizacji sterownika.

simonp
źródło
0

Aktualizacja wspomniana przez greguti została teraz włączona do ogólnej aktualizacji jądra dla Linuksa do wersji 3.1.6+: patrz http://xps13-9333.appspot.com/#touchpad .

Ogólne instrukcje dotyczące aktualizacji jądra dla Ubuntu można znaleźć tutaj pod adresem http://ubuntuhandbook.org/index.php/2014/08/install-upgrade-linux-kernel-3-16/ . W przypadku ogólnego systemu 64-bitowego skopiowałem je poniżej:

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

A następnie uruchom ponownie.

Po ponownym uruchomieniu komputera postępowałem zgodnie z radą greguit i zmieniłem parametr PalmMinZ. Użyłem też 100.

synclient PalmMinZ=VALUE

Ponownie włączyłem ustawienie gładzika, aby wyłączyć podczas pisania, używając GUI.

Po zrobieniu tego spędziłem tylko 10-15 minut, ale do tej pory całe doświadczenie jest znacznie lepsze.

Andy Wickert
źródło
Tam próbowałem uaktualnić do jądra 3.16, kursor po prostu zniknął! Musiałem wrócić do „starego” jądra 3.13 ... Dzisiaj zastosowałem aktualizację z 14.04 LTS do 14.10 Utopic Unicorn, spowodowało to ten sam błąd: kursora już nie ma, muszę zrobić wszystko z klawiatura, to prawdziwy ból w * ss. Nie mogłem znaleźć rozwiązania ... BARDZO, BARDZO denerwujące.
greguti
Nie wiem, dlaczego twój komputer zachowywał się tak inaczej niż mój, ale moją pierwszą (jedyną!) Myślą było to, że pierwszą rzeczą, którą zrobiłem po wyjęciu z pudełka, było uaktualnienie systemu operacyjnego Ubuntu do wersji 14.04 i zastosowanie tej aktualizacji jądra. Więc może jest coś, co zmieniło się na twoim komputerze, odkąd było świeże, co powoduje konflikt ...?
Andy Wickert
Miałem podobne doświadczenie do greguti, ale było to spowodowane tym, że zapomniałem zainstalować dodatki do jądra systemu Linux.
Jeff Ober
też nie działa, żadne z obu rozwiązań. Skompilowałem sugerowany sterownik, zainstalowałem go, bez powodzenia. Zdecydowanie wybrałem wyłączenie touchpada, jest naprawdę denerwujące i szkoda, że ​​laptop za tysiąc dolarów ma tę niesamowicie oczywistą wadę.
user260881,