Ako zrýchliť extrémne pomalý touchpad

Tento problém sa vyskytuje v dnešnej dobe v rámci linuxu v minimálnej miere.
Väčšina užívateľov sa s ním nestretne a ktorí áno, tak ho vyriešia použitím myši či zmenou linuxovej distribúcie.
V mojom prípade som naň narazil nedávno a môže poslúžiť ako príklad pre možné riešenie problému, keď
sa stretne starý hardvér s „novým“ ovládačom libinput.

Zbadáte to hneď pri použití touchpadu, keď budete ťahať prstom po ploche a účinok skoro žiadny,
takmer sa to nedá používať.

. . .

Keď potom vyhľadáte a zmeníte nastavenie zrýchlenia na maximum podobne ako na obrázku, nepomôže to.
Dostanete sa do bodu kde sa budete musieť rozhodnúť či sa s tým popasujete a použijete ten neobľúbený terminál.

Prvá možnosť – nastaviť pomocou xinput

. . .

Zistiť id zariadenia touchpad zadaním príkazu do terminálu:

xinput list

Pripomeniem že je dôležité pri zadávaní príkazov do terminálu dodržať syntax a jednotlivé medzery.
Výstup môže vyzerať približne takto:

$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=13	[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)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ CNF7129: USB2.0 1.3M UVC WebCam         	id=10	[slave  keyboard (3)]
    ↳ Asus Laptop extra buttons               	id=11	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]

Zistite ktoré zariadenie je touchpad alebo niečo čo sa na touchpad podobá, v tomto prípade je to
ETPS/2 Elantech Touchpad a jeho id je 13.

Zadajte jeho id v ďalšom príkaze, tu je to číslo 13 pre zobrazenie podrobností. Vy však použite to správne číslo z vášho výpisu.

xinput list-props 13

V tomto ukážkovom príklade vyzerá takto:

$ xinput list-props 13
Device 'ETPS/2 Elantech Touchpad':
	Device Enabled (144):	1
	Coordinate Transformation Matrix (146):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (281):	1
	libinput Tapping Enabled Default (282):	0
	libinput Tapping Drag Enabled (283):	1
	libinput Tapping Drag Enabled Default (284):	1
	libinput Tapping Drag Lock Enabled (285):	0
	libinput Tapping Drag Lock Enabled Default (286):	0
	libinput Tapping Button Mapping Enabled (287):	1, 0
	libinput Tapping Button Mapping Default (288):	1, 0
	libinput Natural Scrolling Enabled (289):	0
	libinput Natural Scrolling Enabled Default (290):	0
	libinput Disable While Typing Enabled (291):	1
	libinput Disable While Typing Enabled Default (292):	1
	libinput Scroll Methods Available (293):	1, 1, 0
	libinput Scroll Method Enabled (294):	1, 0, 0
	libinput Scroll Method Enabled Default (295):	1, 0, 0
	libinput Accel Speed (296):	0.000000
	libinput Accel Speed Default (297):	0.000000
	libinput Left Handed Enabled (298):	0
	libinput Left Handed Enabled Default (299):	0
	libinput Send Events Modes Available (266):	1, 1
	libinput Send Events Mode Enabled (267):	0, 0
	libinput Send Events Mode Enabled Default (268):	0, 0
	Device Node (269):	"/dev/input/event6"
	Device Product ID (270):	2, 14
	libinput Drag Lock Buttons (300):	<no items>
	libinput Horizontal Scroll Enabled (301):	1

Tu vidíme riadok s nastavením, ktoré nás zaujíma:

libinput Accel Speed (296):	0.000000 

Podľa tohto môžeme zadať príkaz pre nastavenie ovládača libinput, Accel Speed je reprezentované
číslom 296 pre príkaz xinput, na novú hodnotu z 0 na 1 čím sa zapne zrýchlenie touchpadu.

xinput set-prop 13 296 1

Kde 13 je id zariadenia, 296 reprezentuje nastavenie Accel Speed pre príkaz xinput a 1 je nová hodnota.

Aby ste nemuseli prejsť touto procedúrou pri každom zapnutí notebooku, tak je možné to automatizovať.

. . .

V xfce cez Menu > Nastavenia > Sedenie a spúšťanie.
Na karte Autospustenie aplikácie stlačiť tlačítko Pridať.

Názov – napríklad TouchpadFix
Popis – zrýchli touchpad
Príkaz – xinput set-prop 13 296 1

Stlačením OK uložiť. Po odhlásení a následnom prihlásení užívateľa to funguje, rovnako pri štarte operačného systému.

Druhá možnosť – nastaviť priamo pre libinput

. . .

Ak nemáte vo vašom prípade, tak je potrebné vytvoriť nový adresár /xorg.conf.d v umiestnení /etc/X11/
napríklad zadaním príkazu do terminálu:

sudo mkdir /etc/X11/xorg.conf.d

Následne tam kopírovať zdrojový súbor 40-libinput.conf z umiestnenia /usr/share/X11/xorg.conf.d/ zadaním príkazu do terminálu:

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

Vytvoriť nový adresár /xorg.conf.d a potom do neho kopírovať súbor 40-libinput.conf
je možné aj pomocou akéhokoľvek správcu súborov spusteného s oprávnením root.

Tento následne upraviť napríklad v textovom editore xed zadaním príkazu do terminálu:

sudo xed /etc/X11/xorg.conf.d/40-libinput.conf

Po zadaní hesla a stlačení klávesy Enter v novom objavenom okne editora je nutné nájsť sekciu pre touchpad.

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection 

A upraviť aby vyzerala takto:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput" 
        Option "Accel Speed" "1"
EndSection 

Teda doplniť pod riadok Driver „libinput“ text

Option "Accel Speed" "1"

Uložiť. Po odhlásení a následnom prihlásení užívateľa to funguje, rovnako pri štarte operačného systému.

V podstate je možné podobne upraviť súbor 40-libinput.conf a použiť pre zmenu nastavení akúkoľvek položku
uvedenú vo výpise „xinput list-props 13“. Musím však upozorniť, že v mojom prípade nefungovala zmena
nastavení pre položky, ktoré majú vo výpise slovo default.
Je možné, že to závisí od použitého hardvéru a verzie ovládača.

Na záver

. . .

Mnoho užívateľov linuxu možno ani nevie, že keď sú nespokojní s ovládačom libinput, tak je možnosť inštalovať a vyskúšať
ovládač synaptics, ktorý je starší ale má viac než 70 možností nastavenia cez konfiguračný súbor.
Novší libinput prišiel s inou koncepciou a prístupom kde vývojárom sa zdalo, že také množstvo nastavení bolo veľkou
chybou, lebo nebolo možné dostatočne rýchlo reagovať a testovať také množstvo kombinácií.
Pomerne dobre vysvetlené je to v odkaze na blog:

http://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-lot-of-config.html

.

Štítky .Záložka pro permanentní odkaz.

9 reakcí na Ako zrýchliť extrémne pomalý touchpad

  1. Livan říká:

    Vieš aj zdôvodnenie, prečo práve hodnota 1? Testoval si aj iné hodnoty ako 1?

    • menom říká:

      Stačí mrknúť do manuálu a je tam rozsah od -1 do 1.
      Áno skúšal som 2 a 3 ale manuál mal pravdu vyššie ako 1 to nepustí.

      • Livan říká:

        Čo je čudné, keďže pôvodná hodnota bola 296. A čo to urobí, pokiaľ sa tam dá hodnota 0?

        • menom říká:

          Číslo 296 reprezentuje option accel speed pre xinput a 0 je stav kedy je touchpad nepoužiteľný, teda dá sa hýbať šípkou kurzora ale prakticky to neide používať je to strašne pomalé.
          Upravil som to v texte a hádam, že je to zrozumiteľnejšie.

  2. broukal říká:

    Zaujimavy clanok, aj ked neriesim touchpad, tak ma to zaujalo ako je to podrobne opisane… Nieco podobne by bolo dobre aj pre usb zariadenia, uz sa i neraz stalo ze mi prestala fungovat usb klavesnica a jedine co pomohlo bola vymena za inu, az casom som zistil ze sa jedna o chybu v nastaveniach usb, konkretne o uspavanie zariadenia, ktore sa ale uz potom nedalo prebrat, pomohol restart, alebo potom druha klavesnica ktora to nerobila…

    • menom říká:

      Pre usb asi treba hľadať konkrétne riešenie pre konkrétne zariadenie.

      • broukal říká:

        A preto by sa hodil nejaky postup ako na to v terminali.. Najskor zozonam usb zariadeni potom identfikovat konkretne zariadenie a nakoniec kde a co najst vo vypise, popripade ake mozu byt hodnoty, preto ma zaujal tento clanok, tu to bolo dobre rozpisane a preto by som nieco podobne bral aj pre usb zariadenia…

    • kamowski říká:

      hm, uspávanie > klávesnica > …
      áno, uspávam a externá usb klávesnica pripojená k laptopu nereaguje
      myšou kliknem na „menu“ a stlačím ľubovolnú klávesnicu,
      potom Esc aby som vypol „menu“ a je to 🙂
      nikdy som neriešil ako to upraviť :/

      • broukal říká:

        Ja mam desktop a moznost pripojit zariadenia je len cez USB. Skusal som to podobne ako ty popisujes, ale v mojom pripade ostala klavesnica uplne mimo, mozno je to tym ze je podvsietena a prave na podsvieteni som to zbadal ako prve, to totizto zacalo poblikavat ako ked sa odpaja a pripaja klavesnica, najskor som myslel ze je zlomeny kabel ale po restarte zas klavesnica fungovala, ale po par hodinach sa to zacalo nanovo. Postupnim hladanim na nete sa ukazalo ze je to vseobecne znamy neduh sposobovany prave usporou energie, teda uspavanim zariadeni pri ich necinnosti a tu niektore podsvietene klavesnice mali rovnaky problem… Skusal som rozne sposoby, ale nic nepomahalo a tak som mal po ruke nahradnu neposvietenu klavesnicu a tu som pripajal ked ta podsvietena prestala fungovat, az som ostal iba na tej nepodsvietenej. Teraz pred polrokom som podsvietenu vytiahol zo skrine a zapojil a funguje ako ma, takze to bol predsa len problem v systeme, medzi tym som urobil totizto upgrade na LM 19.1, na LM 17 som nemal problem, vyzera ze to bolo iba na LM 18….