Як відключити тачпад при використанні миші


41

Я можу відключити сенсорну панель, але якщо я далеко від Bluetooth-миші або забуду бездротовий ключ для своєї резервної миші, я SOL. Linux Mint мав приємне налаштування, яке дозволяло відключити тачпад під час використання миші. Зараз я перебуваю на Ubuntu MATE 16.04 і не маю цього налаштування. Як я можу отримати цю функціональність? Вимкнення тачпада під час набору тексту недостатньо, щоб запобігти легким дотикам моєї долоні до FU, над чим я працюю.

Я читав інші подібні запитання тут і не зміг знайти відповідь на цю точну проблему.

Відповіді:


64

Ви повинні мати можливість відключити тачпад, якщо підключена зовнішня миша за допомогою команди:

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

Щоб отримати поточну ситуацію:

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

Варіанти:

enabled
disabled
disabled-on-external-mouse

4
Наведена вище команда для відключення не працювала. Тепер він показує миша з відключеною зовнішньою функцією, але тачпад все ще працює з підключеною мишею Bluetooth або бездротовою мишкою.

10
Для мене працює на Ubuntu 16.10. Єдине жаль, що я маю лише одну нагороду дати.
Єремія Пешка

1
Мені не вистачає помилок мишей для перевірки, але, здається, миша з обмеженими можливостями працює для дротяних мишей, але не для бездротових мишей.
Brent

2
Я можу підтвердити, що це працює для мене на Ubuntu 16.04 з допомогою миші Bluetooth. Як тільки моя миша підключається, тачпад вимикається. Це просто красиво! :)
Мухаммад бен Юсрат

2
Не працював на моєму ubuntu 16.04
Пол Прает

4

Існує також програма, яка вводить графічний інтерфейс для редагування деяких таких налаштувань.

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

Прочитайте детальнішу інструкцію на веб- сайті https://itsfoss.com/disable-touchpad-when-mouse-used/


Інші рішення здавалися довгими або не спрацьовували ... Встановлений тачпад-індикатор запустив його, встановив налаштування, працював.
Фабіян Н.

Також подобається можливість відключити тачпад під час набору тексту!
Наш

Дякую за це, нарешті! Я думав, що я божеволію, усі ці діалоги "таємничо" закриваються, курсор стрибає навколо документа, я постійно розчаровував голову (і свій ноутбук)! Вимкнено мій сенсорний панель, кнопки, доріжку миші - все це, і, здається, надійно вмикає їх, коли зовнішня миша відключена. + з повідомленням про стан на верхній панелі - я завжди знаю, де стою.
Моше Ешель

2

Якщо ви боїтесь терміналу, ви можете використовувати dconf-editor: dconf-enable-touchpad-image


Вибачте, але на екрані екрана відображається gnome, а питання про MATE - можливо, ви можете оновити скріншот?
Роберт Рідл

@RobertRiedl, ти маєш рацію (хоча це показує Budgie), цього не бачив. Але за винятком теми, вона працює однаково (і навіть тему можна було б використовувати разом з парі).
Zeromatiker

1

На Kubuntu 16.04 ви можете просто перейти до SystemSettings-> Input Devices-> Touchpad-> Enable / Disable Touchpad

Тепер виберіть відключити, коли миша підключена.


Коли я відключаю тачпад, виходжу з налаштувань і пізніше повертаюсь, немає можливості повернути сенсорну панель!
Брайан Борчерс

У версії налаштувань Unity є можливість увімкнути тачпад, тоді як версія налаштувань gnome не дозволяє мені знову вмикати тачпад. Мені вдалося повернути тачпад у Unity.
Брайан Борчерс

1

Я розумію, що я трохи спізнююся на вечірку (а також, що моя відповідь не характерна для ubuntu-mate), але тут іде ...

У мене дуже подібні вимоги до вас, але я запускаю xfce на debian 9 (stretch), тому у мене не встановлено gnome / gsettings. Щоб відключити / повторно включити сенсорну панель synaptics кожного разу, коли я підключаю / відключаю USB-мишку, я використовую правила udev, щоб запустити скрипт оболонки (posix), який розв’язує / відновлює драйвер сенсорної панелі синаптики:

  1. Як корінь, створіть /usr/local/sbin/touchpadctl.sh із таким вмістом:

    #!/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. Зробіть сценарій управління сенсорною панелю виконуваним:

    sudo chmod +x /usr/local/sbin/touchpadctl.sh
    
  3. Тепер протестуйте свій сценарій. Щоб вимкнути тачпад:

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

    і ввімкнути тачпад:

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

Оскільки для цього використовується "від'єднання драйверів", взагалі немає залежності від X / xorg / wayland / gnome. Як результат, ви можете використовувати його в правилах udev, які будуть правильно працювати під час завантаження:

  1. Як корінь, створіть /etc/udev/rules.d/01-touchpad.rules із таким вмістом:

    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"
    

Як і у всіх речах Linux, і ваш пробіг може відрізнятися - можливо, вам доведеться його "налаштувати", але я постарався зробити все, щоб зрозуміти його легко. Для отримання додаткової інформації про прив'язку / розв’язування драйверів читайте статтю Грега Круа-Хартмана 2005 року в Linux Weekly News, а також у джерелі ядра є якась добра інформація . Для отримання додаткової інформації про написання правил udev ознайомтеся з чудовим підручником Деніела Дрейка .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.