Testowane i działa na Ubuntu 14.04, 16.04 i 18.04.
Podoba mi się odpowiedź @Almas Dusal , która podoba się w odpowiedzi @ negusp , z wyjątkiem użycia mojego zmodyfikowanego skryptu, ponieważ ma on 3 dodatkowe korzyści ( AKTUALIZACJA: korzyści 1 i 3 poniżej zostały dodane 12 września 2019 r. ):
- Przeszukuje dane wyjściowe
xinput
zarówno dla Touchpad
AND TouchPad
, ponieważ niektóre systemy mają litery P pisane wielkimi literami, podczas gdy inne nie. To sprawia, że mój skrypt jest kompatybilny z większą liczbą systemów (mam nadzieję WSZYSTKIE systemy).
- Dodaje 2-sekundowe, automatycznie zamykane okna wyskakujące
zenity
, aby pokazać, czy touchpad jest teraz WŁĄCZONY, czy WYŁĄCZONY. Zobacz zrzuty ekranowe tych okien wyskakujących poniżej.
- Prawidłowo naprawia prędkość kółka przewijania, włączając
imwheel
(co rozwiązuje problem powolnego kółka przewijania w systemie Ubuntu / Linux podczas korzystania z kółka myszy) podczas korzystania z myszy, a wyłączając imwheel
przy użyciu touchpada, ponieważ w imwheel
przeciwnym razie przewijanie touchpada jest naprawdę glitchy po włączeniu. Pamiętaj, aby odkomentować odpowiednie linie, aby to zadziałało. Np .: # imwheel -b "4 5"
i # killall imwheel
.
#!/bin/bash
# GS_toggle_touchpad.sh
# - toggle the touchpad on and off
# Gabriel Staples
# Written: 2 Apr. 2018
# Updated: 12 Sept. 2019
# References:
# - /ubuntu//a/874865/327339
# - /ubuntu/844151/enable-disable-touchpad/1109515#1109515 <-- my own ans!
# Search for id number of "TouchPad" OR "Touchpad" in `xinput` list; manually type `xinput` to see all your devices
read TouchPadDeviceId <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TouchPadDeviceId" | grep "Device Enabled" | grep -o "[01]$" )
echo "TouchPadDeviceId = $TouchPadDeviceId"
echo "state = $state"
if [ "$state" -eq '1' ];then
xinput --disable "$TouchPadDeviceId"
zenity --info --text "Touchpad DISABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# imwheel -b "4 5"
else
xinput --enable "$TouchPadDeviceId"
zenity --info --text "Touchpad ENABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# killall imwheel
fi
Pamiętaj, że kółko zębate jest wymagane tylko wtedy, gdy postępujesz zgodnie z tą odpowiedzią, aby również zmienić prędkość kółka przewijania: Napraw na stałe prędkość przewijania Chrome .
Teraz przypisz mu klawisz skrótu Ctrl+ Alt+ P(lub cokolwiek wybierzesz [w moim przypadku „P” oznacza touch'P ”). Mój dodatek do powyższego skryptu to zenity
samozamykająca część okna podręcznego, którą opisuję więcej w mojej odpowiedzi tutaj ( /superuser//a/1310142/425838 ).
Teraz, gdy używam powyższego skrótu, widzę to okienko wyskakujące, które zamyka się automatycznie po 2 sekundach:
Po ponownym naciśnięciu tego okna pojawia się wyskakujące okienko, które zamyka się automatycznie po 2 sekundach:
Doskonały!
Jako dodatkowy bonus, jeśli jesteś ciężkim użytkownikiem myszy, po prostu dodaj polecenie, które wywołuje powyższy skrypt do programów startowych w Ubuntu, aby uruchamiał i wyłączał panel dotykowy przy każdym uruchomieniu komputera! Mam ten zestaw, dzięki czemu mogę rzucić się na uderzanie w podkładkę dłonią dłonią i przez cały czas usuwając rzeczy przypadkowo! Teraz, gdy moja ręka uderza w gładzik, nic się nie dzieje, ponieważ jest wyłączone. :)
Uwaga: to wszystko działa świetnie w Ubuntu 18.04, a także w starszych wersjach. Przetestowałem to w Ubuntu 18.04 i Ubuntu 14.04. Oto zrzut ekranu z okna ustawień skrótów w 18.04:
Związane z:
- UDPATE: Pobierz najnowszą wersję tego skryptu tutaj! https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/toggle_touchpad.sh
- Napraw na stałe szybkość przewijania Chrome
grep
ised
. Możesz łatwo skonsolidować dwa dosed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p'
.