Home › Fora › Forum wsparcia › Inne › Włączanie/wyłączanie panelu dotykowego w Maboxie.
- This topic has 31 odpowiedzi, 5 uczestników, and was last updated 7 years, 3 months temu by azja.
- AutorPosty
- 26 czerwca 2017 o 01:05 #4857napcokAdministrator
/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.Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
1 sierpnia 2017 o 21:06 #5495ZanonimizowanyForumowiczZapisać to jako plik tekstowy, np.
touchpad
?
A później jak powinny wyglądać wiersze w plikurc.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.2 sierpnia 2017 o 12:37 #5516azjaModerator… 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
2 sierpnia 2017 o 13:05 #5517DeletedMemberSł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 "TouchpadOff.*?(\d)" | grep -Eo "[01]"</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
2 sierpnia 2017 o 13:36 #5522azjaModerator… @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
2 sierpnia 2017 o 13:55 #5525DeletedMemberAzja, 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=0function check4mouse {
lsusb -v |grep „Mouse” &> /dev/nullif [ „$?” -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
done2 sierpnia 2017 o 14:04 #5528azjaModerator… 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
2 sierpnia 2017 o 22:16 #5540ZanonimizowanyForumowiczRadę 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ć plikrc.xml
.
A wygląda on w środku takJak 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.3 sierpnia 2017 o 11:57 #5542azjaModerator… 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
3 sierpnia 2017 o 16:15 #5544napcokAdministratorWstaw 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.Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
3 sierpnia 2017 o 20:04 #5546ZanonimizowanyForumowiczLepsze 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!
3 sierpnia 2017 o 20:37 #5547azjaModerator… @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
3 sierpnia 2017 o 20:55 #5548ZanonimizowanyForumowicz@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ąć.3 sierpnia 2017 o 22:28 #5549azjaModerator… 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
3 sierpnia 2017 o 22:42 #5550ZanonimizowanyForumowicz@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ł.
- AutorPosty
- Musisz być zalogowany aby odpowiedzieć w tym wątku.