Jak wyłączyć touchpad podczas korzystania z myszy?

41

Mogę wyłączyć touchpad, ale jeśli jestem z dala od myszy Bluetooth lub zapomnisz klucza bezprzewodowego dla mojej myszy zapasowej, jestem SOL. Linux Mint miał fajne ustawienie, które pozwalało na wyłączenie touchpada podczas używania myszy. Jestem teraz na Ubuntu MATE 16.04 i nie mam tego ustawienia. Jak mogę uzyskać tę funkcjonalność? Wyłączenie touchpada podczas pisania nie jest wystarczające, aby zapobiec delikatnym dotknięciom dłoni w FU, nad czym pracuję.

Przeczytałem tutaj inne podobne pytania i nie mogłem znaleźć odpowiedzi na ten konkretny problem.


źródło

Odpowiedzi:

64

Powinieneś być w stanie wyłączyć touchpad, jeśli podłączona jest zewnętrzna mysz, za pomocą polecenia:

gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled-on-external-mouse

Aby uzyskać bieżącą sytuację:

gsettings get org.gnome.desktop.peripherals.touchpad send-events

Dostępne opcje to:

enabled
disabled
disabled-on-external-mouse
Jacob Vlijm
źródło
4
Powyższe polecenie wyłączenia nie działało. Teraz pokazuje wyłączoną mysz zewnętrzną, ale touchpad nadal działa z podłączoną myszą Bluetooth lub myszą bezprzewodową.
10
Działa dla mnie na Ubuntu 16.10. Żałuję tylko, że mam tylko jeden głos, który mogę udzielić.
Jeremiah Peschka
1
Brakuje psotom myszy, na których można by testować, ale wygląda na to, że wyłączona mysz zewnętrzna działa na myszy przewodowe, ale nie myszy bezprzewodowe.
Brent
2
Mogę potwierdzić, że działa dla mnie na Ubuntu 16.04 za pomocą myszy Bluetooth. Gdy tylko moja mysz zostanie podłączona, touchpad zostaje wyłączony. To jest po prostu piękne! :)
Muhammad bin Yusrat
2
Nie działał na moim Ubuntu 16.04
Paul Praet
4

Istnieje również program, który wprowadza GUI do edycji niektórych takich ustawień.

sudo add-apt-repository ppa:atareao/atareao
sudo apt update
sudo apt install touchpad-indicator

Przeczytaj bardziej szczegółowy zestaw instrukcji na https://itsfoss.com/disable-touchpad-when-mouse-used/

Angelorf
źródło
Inne rozwiązania wydawały się długie lub nie działały ... Zainstalowany wskaźnik touchpada uruchomił go, ustawił ustawienie, działał.
Fabian N.
Podoba mi się również opcja wyłączenia touchpada podczas pisania!
Nash
W końcu dziękuję za to! Myślałem, że wariuję, wszystkie dialogi „tajemniczo” zamykają się, kursor przeskakuje wokół doktora, ciągle frustrując macham głową (i laptopem)! Wyłączono mój touchpad, przyciski i mysz śledzącą - wszystko to i wydaje się niezawodnie włączać je po odłączeniu myszy zewnętrznej. + z powiadomieniem o stanie na górnym pasku - zawsze wiem, gdzie stoję.
Moshe Eshel
2

Jeśli boisz się terminala, możesz użyć dconf-editor: dconf-enable-touchpad-image

Zeromatiker
źródło
Przykro mi, ale twój zrzut ekranu pokazuje gnoma, podczas gdy pytanie dotyczy MATE - może możesz zaktualizować zrzut ekranu?
Robert Riedl
@RobertRiedl, masz rację (choć pokazuje Budgie), nie widziałeś tego. Ale oprócz motywu działa tak samo (i nawet motyw może być używany z kolega).
Zeromatiker
1

W Kubuntu 16.04 możesz po prostu przejść do SystemSettings-> Input Devices-> Touchpad-> Enable / Disable Touchpad

Teraz wybierz wyłącz, gdy mysz jest podłączona.

użytkownik1751017
źródło
Kiedy wyłączam touchpad, wychodzę z ustawień, a później wracam, nie ma możliwości ponownego włączenia touchpada!
Brian Borchers
Wersja ustawień Unity ma opcję ponownego włączenia touchpada, natomiast wersja ustawień gnome nie pozwala mi ponownie włączyć touchpada. Mogłem ponownie włączyć touchpad w Unity.
Brian Borchers
0

Zdaję sobie sprawę, że jestem trochę spóźniony na imprezę (a także, że moja odpowiedź nie jest specyficzna dla ubuntu-mate), ale tutaj idzie ...

Mam bardzo podobne wymagania do ciebie, ale uruchamiam xfce na debian 9 (stretch), więc nie mam zainstalowanego gnome / gsettings. Aby wyłączyć / ponownie włączyć touchpad synaptics za każdym razem, gdy podłączam / odłączam mysz USB, używam reguł udev do uruchomienia skryptu powłoki (posix), który rozpina / ponownie wiąże sterownik touchpad synaptics:

  1. Jako root utwórz /usr/local/sbin/touchpadctl.sh z następującą zawartością:

    #!/bin/sh
    set -o errexit #(equivalent -e)
    set -o nounset #(equivalent -u)
    
    usage(){
      echo "Usage: ${0} {-enable|-e|-disable|-d}"
    }
    
    if [ $# -ne 1 ]; then
      usage
      exit 1
    fi
    
    base_dir=/sys/bus/serio/drivers/psmouse
    device_id=serio1
    
    if [ ${1} = "-disable" -o ${1} = "-d" ]; then
      logger "${0} is disabling the touchpad"
      echo -n manual > $base_dir/bind_mode
      echo -n $device_id > $base_dir/unbind 2>/dev/null || true
    elif [ ${1} = "-enable" -o ${1} = "-e" ]; then
      logger "${0} is enabling the touchpad"
      echo -n auto > $base_dir/bind_mode
    else
      usage
      exit 1
    fi
    
  2. Udostępnij skrypt sterujący touchpada:

    sudo chmod +x /usr/local/sbin/touchpadctl.sh
    
  3. Teraz przetestuj swój skrypt. Aby wyłączyć touchpad:

    sudo /usr/local/sbin/touchpadctl.sh -d
    

    i aby włączyć touchpad:

    sudo /usr/local/sbin/touchpadctl.sh -e
    

Ponieważ wykorzystuje to funkcję „niezwiązania sterownika”, nie ma żadnej zależności od X / xorg / wayland / gnome. W rezultacie możesz używać go w regułach udev, które będą działały poprawnie podczas uruchamiania:

  1. Jako root utwórz /etc/udev/rules.d/01-touchpad.rules z następującą zawartością:

    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="add", \
      RUN+="/usr/local/sbin/touchpadctl.sh -disable"
    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="remove", \
      RUN+="/usr/local/sbin/touchpadctl.sh -enable"
    

Podobnie jak w przypadku wszystkich rzeczy z linuksem, twój przebieg może się różnić - być może będziesz musiał go „ulepszyć”, ale starałem się, aby było to łatwe do zrozumienia. Aby uzyskać więcej informacji na temat wiązania / rozpinania sterownika, przeczytaj artykuł Grega Kroah-Hartmana z 2005 r. W Linux Weekly News, a także kilka dobrych informacji w źródle jądra . Aby uzyskać więcej informacji na temat pisania reguł udev, zapoznaj się z doskonałym samouczkiem Daniela Drake'a .

jaimet
źródło