Włączanie/wyłączanie panelu dotykowego w Maboxie.

Jesteś nowy na forum? Przeczytaj ...

Home Fora Forum wsparcia Inne Włączanie/wyłączanie panelu dotykowego w Maboxie.

Oglądasz 15 posty - 16 do 30 (z 32 ogółem)
  • Autor
    Posty
  • #4857
    Avatar photonapcok
    Administrator
    /usr/local/bin/touchpad_toggle.sh
    
    #!/bin/bash
    
    declare -i ID
    ID=<code>xinput list | grep -Eio '(touchpad|glidepoint)\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'</code>
    declare -i STATE
    STATE=<code>xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'</code>
    if [ $STATE -eq 1 ]
    then
        xinput disable $ID
        # echo "Touchpad disabled."
        # notify-send 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    else
        xinput enable $ID
        # echo "Touchpad enabled."
        # notify-send 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    fi<code>Wklejam do konsoli – wyłączam panel. Wklejam ponownie – wyłączam. Jednak wygodniej by było korzystać z</code>Fn+F8

    . Dziękuję za dotychczasową pomoc.

    to sobie zapisz to gdzieś w /usr/bin i zmapuj pod jakiś klawisz…
    Preferencje -> Openbox -> Openbox RC
    Przykładów masz tam sporo… poszukaj keybind.

    #5495
    Zanonimizowany
    Forumowicz

    Zapisać to jako plik tekstowy, np. touchpad?
    A później jak powinny wyglądać wiersze w pliku rc.xml, żebym miał np. zmapowane jako T+F8 ?

    EDIT
    Udało mi się touchpad.sh w /usr/bin uczynić „wykonywalnym”. Nie wiem co dalej, tzn. nie wiem jak zbindować w `rc.xml’.

    Teraz wklepuję w konsoli /*/touchpad.sh by włączać/wyłączać. Jakiś postęp.

    #5516
    Avatar photoazja
    Moderator

    … jeżeli dodajesz do systemu swoje skrypty, to wygodniej i zdrowiej jest:
    – utworzyć folder w swoim profilu, np. ~/bin (nazwa może być inna, ale po co być na siłę oryginalnym);
    – do niego wrzucać swoje skrypty;
    – tworzyć link’i do tych skryptów w /usr/bin (o dowolnych nazwach, choćby kilku).

    … masz dzięki temu 'swoje’ rzeczy skupione w jednym miejscu i odizolowane od głównego systemu. Poza tym, możesz modyfikować je, w razie potrzeby, bez odwoływania się do root’a. Przydaje się również w razie migracji systemu, czy konieczności reinstalacji.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5517
    Deleted
    Member

    Słusznie prawisz Azja.
    To bardzo mądre podejście z tym /home/user/bin.
    Ponieważ przeszkadzał mi panel dotykowy przy pisaniu, bo „przeganiał” kursor w zupełnie przypadkowe miejsca i okazywało się po spojrzeniu w ekran, że mam galimatias w treści, to sobie dodałem pliczek toggle_touchpad.sh w ~/bin o poniższej treści i podpiąłem pod FN+F9. Od tej pory mam pełną wygodę przy pisaniu, bo nie smyram przypadkowo po taczpadzie. Źródło poniższego udogodnienia znalazłem pod adresem https://askubuntu.com/questions/65951/how-to-disable-the-touchpad

    #!/bin/bash
    # toggle_touchpad.sh
    
    is_off=<code>synclient | grep -Pio &quot;TouchpadOff.*?(\d)&quot; | grep -Eo &quot;[01]&quot;</code>
    
    if [ -z "$1" ]; then
        echo "Inverting touchpad state"
    
        if [ "$is_off" -eq '0' ];then
            synclient TouchpadOff=1
            notify-send -i dialog-error "Touchpad disabled!"
        else
            synclient TouchpadOff=0
            notify-send "Touchpad Enabled" -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    
        fi
    
    else
    
        if [ "$1" == "on" ]; then
            echo "Turning on touchpad"
            synclient TouchpadOff=0
            notify-send "Touchpad Enabled" -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    
        elif [ "$1" == "off" ]; then
            echo "Turning off touchpad"
            synclient TouchpadOff=1
            notify-send -i dialog-error "Touchpad disabled!"
        else
            echo "Unknown arg! Pass no args or on/off !"
        fi
    
    fi
    #5522
    Avatar photoazja
    Moderator

    @diatryba -> zawsze można wejść w konfigurację i tam włączać/wyłączać, ale po co, skoro można to zrobić jednym skrótem klawiszowym lub kliknięciem myszy. Się przyda. Problemy z touchpad’ami rozpoczęły się wiele lat temu, gdy ktoś wpadł na pomysł, aby te proste urządzenia zaczęły robić wszystko. No i pojawiły się opóźnienia, zawieszki, samoistne ruchy inspirowane życiem wewnętrznym.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5525
    Deleted
    Member

    Azja, przypomniałeś mi o innym skrypcie, który bardzo ładnie działa. Wiem, bo go jakiś czas używałem. Po wykryciu podłączenia myszki automatycznie wyłącza Touchpad, a źródło tego skryptu znalazłem na Forum PcLinuxOS:

    #! /bin/bash

    # written by Paul Arnote
    # parnote@……
    #
    # Checks to see if mouse is attached, and if it is,
    # to disable the touchpad. If the mouse is NOT attached,
    # the laptop’s touchpad is enabled. Basically, we’re
    # automatically disabling/enabling the touchpad
    # dependent on whether or not a mouse is attached.

    PATH=${PATH}:/usr/sbin:/sbin

    lsusb |grep „Mouse” &
    T=$?
    M=0

    function check4mouse {
    lsusb -v |grep „Mouse” &> /dev/null

    if [ „$?” -ne „$M” ]; then
    synclient TouchpadOff=0
    if [ „$T” -eq „1” ]; then
    notify-send –icon=input-tablet 'Touchpad-Toggle-Auto’ 'Mouse not detected. Touchpad on.’
    T=0
    fi
    else
    synclient TouchpadOff=1
    if [ „$T” -eq „0” ]; then
    notify-send –icon=input-mouse 'Touchpad-Toggle-Auto’ 'Mouse detected. Touchpad off.’
    T=1
    fi
    fi
    }

    while true; do
    # change the seconds to whatever timeframe you want.
    sleep 5s
    check4mouse
    done

    #5528
    Avatar photoazja
    Moderator

    … również może być przydatne, bo nie w każdym sprzęcie można, to zrobić w BIOS’ie. Zapisane, dzięki.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5540
    Zanonimizowany
    Forumowicz

    Radę z katalogiem bin biorę sobie do serca, dzięki.

    Azja, przypomniałeś mi o innym skrypcie, który bardzo ładnie działa. Wiem, bo go jakiś czas używałem. Po wykryciu podłączenia myszki automatycznie wyłącza Touchpad, a źródło tego skryptu znalazłem na Forum PcLinuxOS:

    U mnie nie działa prawidłowo, to znaczy wyłącza całkowicie touchpad i po odłączeniu myszki touchpada nadal nie działa.
    Pierwsza litania również nie działa – wyskakuje tylko okienko w prawym górnym rogu o treści „touchpad enable”.
    Myślę, że powinienem, za radą napcoka, zmodyfikować plik rc.xml.
    A wygląda on w środku tak

    Jak go zmodyfikować, by za włączanie/wyłaczanie touchpada odpowiadał np. Ctrl i F8?
    Mój plik z dobrym skryptem nazywa się touchpad.sh .
    Przerasta mnie to intelektualnie.

    #5542
    Avatar photoazja
    Moderator

    … albo sam przeanalizujesz i dojdziesz do tego (metodą prób i błędów lub przy pomocy literatury), albo znajdziesz kogoś kto Ci powie co i jak lub naprowadzi na ślad, kogoś kto zna Openbox’a. Zagadaj do napcok’a :-)

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5544
    Avatar photonapcok
    Administrator

    Wstaw mniej więcej coś takiego, najlepiej bezpośrednio za linią Keybindings for running applications.
    Edycja rc.xml Menu-> Preferencje -> Openbox -> Openbox RC

    <keybind key="C-F8">
          <action name="Execute">
            <startupnotify>
              <enabled>true</enabled>
              <name>touchpad.sh</name>
            </startupnotify>
            <command>touchpad.sh</command>
          </action>
        </keybind>

    Skopiuj touchpad.sh gdzieś do katalogu znajdującego się w PATH.
    przykładowo:
    sudo cp /home/user/touchpad.sh /usr/bin/touchpad.sh
    gdzie /home/user/touchpad.sh zmień na ścieżkę do twojego pliku.

    #5546
    Zanonimizowany
    Forumowicz

    Lepsze jest wrogiem dobrego. Teraz po wklepaniu do terminala:

    #!/bin/bash
    
    declare -i ID
    ID=<code>xinput list | grep -Eio '(touchpad|glidepoint)\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'</code>
    declare -i STATE
    STATE=<code>xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'</code>
    if [ $STATE -eq 1 ]
    then
        xinput disable $ID
        # echo "Touchpad disabled."
        # notify-send 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    else
        xinput enable $ID
        # echo "Touchpad enabled."
        # notify-send 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    fi

    Touchpad nie włącza/wyłącza się jak wcześniej, a terminal wygląda tak:

    [me@me ~]$ #!/bin/bash
    [me@me ~]$
    [me@me ~]$ declare -i ID
    [me@me ~]$ ID=xinput list | grep -Eio '(touchpad|glidepoint)\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'
    bash: błąd składni przy nieoczekiwanym znaczniku `

    newline’
    [me@me ~]$ declare -i STATE
    [me@me ~]$ STATE=xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'
    bash: błąd składni przy nieoczekiwanym znaczniku `newline’
    [me@me ~]$ if [ $STATE -eq 1 ]
    > then
    > xinput disable $ID
    > # echo „Touchpad disabled.”
    > # notify-send 'Touchpad’ 'Disabled’ -i /usr/share/icons/Adwaita/48×48/devices/input-touchpad.png
    > else
    > xinput enable $ID
    > # echo „Touchpad enabled.”
    > # notify-send 'Touchpad’ 'Enabled’ -i /usr/share/icons/Adwaita/48×48/devices/input-touchpad.png
    > fi
    bash: [: -eq: oczekiwano operatora jednoargumentowego
    Usage: xinput enable <device>
    [me@me ~]$

    Nie wiem, co mogłem namieszać. Autostart czysty. rc.mxl też. Z /usr/bin/ też chyba wszystko pousuwałem, co nie potrzebne.

    EDIT:

    NIE ODPISUJCIE, BO CHYBA JUŻ MAM LEKARSTWO!

    #5547
    Avatar photoazja
    Moderator

    @piespawlowa -> czy ja dobrze rozumiem, że text zaczynający się od:
    #!/bin/bash
    próbowałeś wykonać w terminalu? Skopiowałeś do (wklepałeś) terminala? Jeżeli nie, to przepraszam za tą niestosowną sugestię, a jeżeli tak, to pojechałeś po bandzie, po ostrzu starej, dobrej brzytwie.
    Text zaczynający się od:
    #!/bin/bash
    jest skryptem (napisanym w bash’u). Coś jak .bat w Windows. Musi znajdować się w pliku (text’owym) i uruchamiasz go:
    [me@me ~]$ /sciezka/do/moj-plik.sh
    jeżeli ma ustawiony atrybut 'wykonywalny’. Albo:
    [me@me ~]$ sh /sciezka/do/moj-plik.sh
    gdzie /sciezka/do/ to ścieżka do miejsca, w którym plik znajduje się (można jeszcze inaczej, ale nie komplikujmy).

    … zrestartuj system, sprawdź czy działa i odezwij się :-)

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5548
    Zanonimizowany
    Forumowicz

    @azja, ja to już rozgryzłem. Czy wklejam do terminala skrypt, czy też plik *.sh uruchamiam w inny sposób, to jeden rydzyk ;-)

    Dzięki Panowie zawsze wszystkie rady, zwłaszcza Tobie @napcok.

    Ostatecznie użyłem jeszcze innego skryptu i po modyfikacji rc.mxl działa :-)
    Jak kiedy spotkam to piwo kupię ;-)
    Można zamknąć.

    #5549
    Avatar photoazja
    Moderator

    … brawo Ty! Jeżeli znalazłeś jakiś inny pomysł, nie opisywany w wątku, to przedstaw go (wrzuć na forum w całości lub w postaci link’a), tak aby ktoś, kto tutaj trafi, w poszukiwaniu leku na całe zło (a może i Ty sam, za jakiś czas) znalazł pełną informację nt. rozwiązania problemu.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #5550
    Zanonimizowany
    Forumowicz

    @azja , ten skrypt, którym chwaliłem się stronę wcześniej, z nieznanych mi przyczyn przestał działać. Znalazłem inny, na jakimś forum Ubuntu. Takich skryptów w internecie jest pełno i są różne.

    Głównym problemem dla mnie było zbindowanie klawiszy. Pewnie w jakimś Mate, albo KDE można inaczej, pewnie też łatwiej, ale w Openboxie trzeba było zmodyfikować plik rc.xml w taki sposób, jaki podał @napcok, czyli dodać:

    <keybind key="C-F8">
          <action name="Execute">
            <startupnotify>
              <enabled>true</enabled>
              <name>touchpad.sh</name>
            </startupnotify>
            <command>touchpad.sh</command>
          </action>
        </keybind>

    Ja bym w życiu nie wiedział jak tego dokonać, choć ktoś bardziej światły, analizując plik rc.xml coś by wymodził.

Oglądasz 15 posty - 16 do 30 (z 32 ogółem)
  • Musisz być zalogowany aby odpowiedzieć w tym wątku.