Stój, kiedy piszę

Temat niewdzięcznego touchpada powraca jak starta płyta wyrzucona przez okno. Mianowicie ma on (touchpad) niezdrowe tendencje to działania w najmniej oczekiwanym momencie, np. kiedy nocną porą po omacku próbujemy wypisywać wzniosłe hasła na klawiaturze. Lekkie maźnięcie dłonią i wypociny ulatują, bądź w najlepszym wypadku musimy je odnajdywać pod stosem okienek.

Niewdzięczne jest również to, że od paru wydań Ubuntu, konfigurator urządzenia wskazującego nie dorobił się normalnej opcji działania w tle i pilnowania wyłączania touchpada podczas pisania. Więc puszczamy zdartą płytę na nowo. Musimy włączyć sobie SHMConfig oraz odpalić ‘coś’, co będzie doglądało stanu klawiatury.

Sprawy dawniej były prostsze, bo żeby włączyć SHMConfig, wystarczyła opcja w /etc/X11/xorg.conf. Obecnie trzeba nakarmić odpowiednimi informacjami daemon’a HAL’a. A teraz tworzymy plik /etc/hal/fdi/policy/shmconfig.fdi i umieszczamy w nim:


<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">on</merge>
</match>
</device>
</deviceinfo>

Trzeba też upewnić się, że mamy zainstalowane paczki: xserver-xorg-input-synaptics, gsynaptics, touchfreeze.

xserver-xorg-input-synaptics zawiera między innymi narzędzia synclient oraz syndaemon, przydadzą się,
gsynaptics to na późniejsze poprawienie humoru – graficzny konfigurator ustawień touchpada,
touchfreeze to przydatna pchełka siedząca w systray’u i dająca dostęp do szybkich ustawień, jak ma się zachować touchpad podczas pisania

W zasadzie, bezapelacyjnie potrzebna jest tylko pierwsza paczka, ale i pozostałe nie zaszkodzą. Dzięki nim mamy też teraz możliwość wyboru. Dodajemy do autostartu (system -> preferencje -> programy startowe):

– albo polecenie syndaemon -t -d -i 4,
– albo programik touchfreeze

Powyższe przy starcie systemu włączy blokowanie touchpada w odpowiednich momentach.

Cóż, wszystko mamy dopisane, dodane, zatwierdzone. Pozostaje zresetować HAL’a i X’y. Bądź, zresetować komputer.
 

7 komentarzy

  1. Pewnie, że się „dorobił” odpowiedniej opcji (patrz komentarz mmm), a pod Windows jest TouchFreeze, który pomaga w przypadku braku ustawień w sterownikach producenta.

  2. @Grzegorz

    To wybornie widzieć galopujący postęp w tej materii. Jakoś tak przez te wszystkie lata nauczyłem się kombinować jak koń pod górę, zamiast szukać najprostszych rozwiązań.

    Tyle, że nadal używam 9.04, a tu się inaczej nie da.

  3. pawel@laptop:~$ syndaemon -t -d -i 4,
    Unable to find a synaptics device.
    a tu zonk

    laptop to Compal FL90 z Ubu 9.10 po wielokrotnych upgrade (może po drodze się zatraciła)
    dodam, że touchpad działa

  4. Niestety mam podobnie.

    Poinstalowałem pakiety, ustawiłem konfigurację w HALu (plik fdi) i niestety nadal nie pozwala mi otworzyć gsynaptic tool. Co więcej, w ogóle nie wykrywa mi urządzenia.

    Kiedy próbuję:
    ~$ syndaemon -t -d -i 4
    Unable to find a synaptics device.

    A to spis moich urządzeń:
    ~$ cat /proc/bus/input/devices | grep Name*
    N: Name=”Power Button”
    N: Name=”Power Button”
    N: Name=”Sleep Button”
    N: Name=”Lid Switch”
    N: Name=”Macintosh mouse button emulation”
    N: Name=”AT Translated Set 2 keyboard”
    N: Name=”Video Bus”
    N: Name=”Logitech USB Gaming Mouse”
    N: Name=”Asus Laptop extra buttons”
    N: Name=”CNF7129″
    N: Name=”ImPS/2 Logitech Wheel Mouse”
    N: Name=”HDA Digital PCBeep”

    Dodam, że TouchPad działa. Tylko, że chciałbym go wyłączyć albo skonfigurować gdyż nie da się pisać przez niego 😛

    Czy masz może pomysł co to może być?

  5. Znalazłem odpowiedź na moje pytanie.

    Możesz sprawdzić swoje urządzenia przez:
    xinput list

    później jedyne co możesz zrobić to wyłączyć to urządzenie przez komende:
    xinput set-int-prop

    a w całości w moim przypadku:
    xinput set-int-prop “ImPS/2 Logitech Wheel Mouse” 93 8 0

    Dla wygody można napisać shellowy skrypt, który wywołujemy:
    sh touchpad_switcher (zależnie jak go nazwiesz)

    #!/bin/sh
    echo ‘INFO: 0 – disable, 1 – enable’
    xinput set-int-prop “ImPS/2 Logitech Wheel Mouse” 93 8 $1
    if [ $1 -eq 1 ] ; then
    echo ‘# Touchpad Enabled’
    else
    echo ‘# Touchpad Disabled’
    fi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.