Problem z tablicą dotykową: przeskakiwanie kursora podczas pisania (Ubuntu 14.04), syndaemon nie pomaga

21

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

Podczas pisania rzeczy touchpad wciąż wykrywa moje dłonie. To NAPRAWDĘ denerwujące, zwłaszcza, że ​​psuje mi wydajność mojej nowej wersji Dell XPS Gold Edition. Jest to świeża instalacja Ubuntu 14.04 i nie chcę denerwować się próbując skryptów i innych rzeczy, które ostatecznie przełamią rozpoznawanie touchpada.

Próbowałem użyć syndaemona, ponieważ wygląda na to, że jest najlepszym sposobem obejścia tego błędu:

syndaemon -i 0.5 -d

Kiedy próbuję go na terminalu, wydaje się działać tak długo, jak długo nie wylogowuję się z sesji.

Ale jeśli umieściłem polecenie w moim programie do uruchamiania programów i ponownie uruchomię, kursor zawsze zawiesza się po minucie lub dwóch. Muszę odznaczyć polecenie za pomocą mojej klawiatury i wróciłem do tego bardzo irytującego problemu z wykrywaniem palm. Jakieś rozwiązanie?

Niektóre informacje 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
    
zadawane greguti 07.05.2014, 09:26
źródło

5 odpowiedzi

16

Nie mogę odpowiedzieć na tę odpowiedź z 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 uruchom

gpointing-device-settings

Sprawdź: Włącz wykrywanie dłoni i przenieś zakres : Narrow do około 10% od początku.

    
odpowiedział valk 07.08.2014, 11:56
źródło
8

Odpowiadając na moje własne pytanie, jak sądzę, w końcu znalazłem rozwiązanie.

Wydaje się, że crafprid to sam sterownik Synaptics. Polecenie Wathever lub polecenie, z którego go korzystasz, nie będzie działało tak długo, jak długo sterownik nie zostanie załatany.

Dzięki wspaniałemu stronu internetowemu link i niektórym e-mailom z właścicielem udało mi się w końcu naprawić to okropne błąd!

Więc tutaj jest proces w muszli, sprawdź szczegóły na stronie powyżej.

To, co należy zrobić, aby pozbyć się sterownika Synaptics, a następnie pobrać źródła sterownika zewnętrznego, załączyć go pod kątem prawidłowego wykrywania dłoni, a następnie utworzyć plik z odpowiednimi ustawieniami dla touchpada. Poniższe kroki działają dobrze na mojej Dell XPS "Gold Edition" (xps-9333) z Ubuntu 14.04.

1. RZECZY, BY SPRAWDZIĆ PIERWSZE

Podczas procesu miałem kłopot z powodu braku pakietu libevdev-dev w moim systemie (domyślam się, że 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 }

Kolejną 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 pakiety znajdą się w twoim systemie, możesz wykonać te polecenia.

2. POBIERZ RZECZYWISTEGO STEROWNIKA SYNAPTYCZNEGO I ZAINSTALUJ PONOWNIE UMIEJĘTKOWNIKA

Wprowadź 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 ukończenia procesu (czyli pobrania kodu źródłowego sterownika). Możesz to zrobić w terminalu, to dość prosty proces. Dane wyjściowe polecenia informują, co wpisać, wystarczy postępować zgodnie z instrukcjami. Nigdy wcześniej nie korzystałem z GIT i mogłem z łatwością poradzić sobie z tym krokiem.

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

Teraz pobierz łatę dla nowego sterownika, ta łata naprawi sterownik, włączając funkcję wykrywania dłoni i szerokość palca na panelu dotykowym.

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 załatanego kodu źródłowego (wpisz Enter po każdym wierszu, każde polecenie będzie generować całkiem dużo danych wyjściowych):

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

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

3. UTWÓRZ I EDYTUJ 20-SYNAPTICS-CONF FILE

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 wcześniej wspominanej strony internetowej i kopiujesz go w nowo utworzonym folderze:

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 w celu określenia optymalnej wartości parametru PalmMinZ (wpisz liczbę zamiast "VALUE", proponuję 100, która działa najlepiej 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:

4. NIE ZAPOMNIJ, ABY REBOOTOWAĆ:)

    
odpowiedział greguti 08.05.2014, 13:29
źródło
6

Żadna z odpowiedzi tutaj nie działała na świeżą instalację Ubuntu 14.04.3 na XPS12, przynajmniej dopóki nie zaznaczyłem modułu psmouse na czarnej liście. Poniższe instrukcje są w zasadzie cytowane z tego zestawu instrukcji dla maszyny XPS13 :

Sprawdź, czy twój touchpad korzysta tylko z magistrali I2C, a nie z trybu ps2. Uruchom terminal i wpisz

 xinput 

Wirtualny wskaźnik rdzenia powinien mieć tylko dwie pozycje:

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

Jeśli w nazwie znajduje się trzeci element z touchpadem PS2, powinieneś umieścić na czarnej liście moduł psmouse, dodając te linie do /etc/modprobe.d/blacklist.conf :

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

Następnie zadzwoń

sudo update-initramfs -u

Po ponownym uruchomieniu, opcja Disable touchpad while typing w System Settings / Mouse & Touchpad wykonała swoje zadanie zgodnie z oczekiwaniami.

    
odpowiedział Communicative Algebra 21.01.2016, 21:29
źródło
2

Jeśli dodasz syndaemon do aplikacji startowych, musisz odznaczyć opcję "Wyłącz podczas pisania" w Myszy & amp; Ustawienia touchpada. Jeśli tego nie zrobisz, oba mechanizmy zakłócają działanie i spowodują, że touchpad całkowicie przestanie działać zgodnie z opisem. Działa to dla mnie na stanie 14.04 (laptop Lenovo T410) bez aktualizacji sterownika.

    
odpowiedział simonp 05.06.2014, 13:15
źródło
0

Aktualizacja wspomniana przez greguti została włączona do ogólnej aktualizacji jądra systemu Linux do wersji 3.1.6+: patrz link .

Ogólne instrukcje dotyczące aktualizacji jądra systemu Ubuntu można znaleźć tutaj link . W przypadku 64-bitowego systemu 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, poszedłem za radą greguita 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 za pomocą GUI.

Spędziłem z tego komputera tylko 10-15 minut, ale jak dotąd całe to doświadczenie jest znacznie lepsze.

    
odpowiedział Andy Wickert 08.10.2014, 17:40
źródło

Przeczytaj inne pytania na temat tagów