- How do I disable touchpad when using a mouse
- 5 Answers 5
- Автоматическое отключение тачпада при подключении мышки в Linux
- Как сделать чтобы тачпад отключается автоматически при подключённой мышке в Linux
- Как настроить отключение тачпада в Cinnamon
- Связанные статьи:
- Как отключить тачпад в ноутбуке при подключении мыши (Linux, Ubuntu)
How do I disable touchpad when using a mouse
I can disable my touchpad but if I’m away from my bluetooth mouse or forget my wireless dongle for my backup mouse, I’m SOL. Linux Mint had a nice setting that allowed the touchpad to be disabled when using a mouse. I’m now on Ubuntu MATE 16.04 and do not have that setting. How can I get that functionality? The turn off touchpad while typing option is not enough to prevent light touches of my palm to FU something I’m working on. I’ve read other similar questions on here and was unable to find an answer for this exact issue.
@JacobVlijm How to change the touchpad settings will depend on the used desktop. For example, the answer with 75 upvotes will work on Gnome, and likely it works the same on Mate, but it will not work on KDE desktop and I am not sure about xfce, except perhaps since they moved to GTK3..
@vanadium sure, but making it specifically Mate-related suggests it is a Mate thing, which it isn’t. No Gnome based distro has this in its GUI Settings, while it can be set in gsettings.
@JacobVlijm gsettings is a GTK3 thing, and a setting as org.gnome.desktop will only be applicable for desktops that use underlying Gnome 3 parts. Mate was forked since Gnome 2, so not sure if such a gsetting may also apply to Mate.
5 Answers 5
On Gnome-based distros, you should be able to disable the touchpad, if an external mouse is connected, by the command:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled-on-external-mouse
To get the current situation:
gsettings get org.gnome.desktop.peripherals.touchpad send-events
enabled disabled disabled-on-external-mouse
The above command to disable did not work. It now shows disabled-on-external-mouse but the touchpad still works with either my bluetooth mouse or wireless mouse connected.
I can confirm that this is working for me on Ubuntu 16.04 with Bluetooth mouse. As soon as my mouse gets connected, the touchpad gets disabled. This is simply beautiful! 🙂
disabled-on-external does not work on 18.04, whereas disabled works 🙂 which is certainly not desired.
There is also a program which introduces some GUI to edit some such settings.
sudo add-apt-repository ppa:atareao/atareao sudo apt update sudo apt install touchpad-indicator
The other solutions seemed long or didn’t work. Installed touchpad-indicator started it, set the setting, worked.
Thank you for this, finally! I thought I was going crazy, all those dialogs «mysteriously» closing, cursor jumping around the doc, I was banging my head (and my laptop) constantly in frustration! Disabled my touchpad, the buttons, the track mouse — all of it, and seems to reliably enable them when external mouse is disconnected. + with the status notification on the top bar — I always know where I stand.
If you are afraid of the terminal you can use the dconf-editor : dconf-enable-touchpad-image
I’m sorry but your screenshot shows gnome while the question is about MATE — maybe you can update the screenshot ?
@RobertRiedl, you are right (although it shows Budgie), didn’t see that. But except for the theme it works the same (and even the theme could be used with mate).
Both the gsettings command and the touchpad-indicator methods didn’t work for me, but dconf worked perfectly.
I realise that I’m a bit late to the party (and also that my answer is not specific to ubuntu-mate), but here goes.
I have very similar requirements to you but I run xfce on debian 9 (stretch) so I have no gnome/gsettings installed. To disable/re-enable the synaptics touchpad whenever I plug-in/unplug a usb-mouse, I use udev rules to trigger a (posix) shell script that unbinds/rebinds the synaptics touchpad driver:
- As root, create /usr/local/sbin/touchpadctl.sh with the following contents:
#!/bin/sh set -o errexit #(equivalent -e) set -o nounset #(equivalent -u) usage() < echo "Usage: $<-enable|-e|-disable|-d>" > if [ $# -ne 1 ]; then usage exit 1 fi base_dir=/sys/bus/serio/drivers/psmouse device_id=serio1 if [ $ = "-disable" -o $ = "-d" ]; then logger "$ is disabling the touchpad" echo -n manual > $base_dir/bind_mode echo -n $device_id > $base_dir/unbind 2>/dev/null || true elif [ $ = "-enable" -o $ = "-e" ]; then logger "$ is enabling the touchpad" echo -n auto > $base_dir/bind_mode else usage exit 1 fi
sudo chmod +x /usr/local/sbin/touchpadctl.sh
sudo /usr/local/sbin/touchpadctl.sh -d
sudo /usr/local/sbin/touchpadctl.sh -e
Because this uses «driver unbinding», there is no dependency whatsoever on X/xorg/wayland/gnome. As a result, you can use it in udev rules that will function correctly during boot-up:
- As root, create /etc/udev/rules.d/01-touchpad.rules with the following contents:
KERNEL=="mouse*", ATTRS=="usb*", ACTION=="add", \ RUN+="/usr/local/sbin/touchpadctl.sh -disable" KERNEL=="mouse*", ATTRS=="usb*", ACTION=="remove", \ RUN+="/usr/local/sbin/touchpadctl.sh -enable"
As with all things linux, your mileage may vary — you might need to «tweak» it, but I’ve tried my best to make it easy to understand. For more information re driver binding/unbinding, read Greg Kroah-Hartman’s 2005 article in Linux Weekly News and there’s also some good info in the kernel source. For more information re writing udev rules, have a look at Daniel Drake’s excellent tutorial.
Автоматическое отключение тачпада при подключении мышки в Linux
Современные тачпады — это довольно удобные устройства: хорошая чувствительность, распознают жесты и несколько одновременных нажатий. При определённой сноровке можно с большим комфортом скролить и масштабировать страницы или изображения. Особенно начинаешь ценить тачпад в «полевых» условиях.
Но в условиях «офиса», когда под рукой любимая компьютерная мышь (возможно, с десятком кнопок к которым привязаны самые частые действия), потребность в тачпаде отпадает. Причём если вы много печатаете, то тачпад особенно мешает, так как регулярно случайные касания перемещают курсор в самые неожиданные места на экране. Кстати, в Linux есть настройка отключения тачпада во время печатания, но у меня она не работает:
Тачпад можно отключить насовсем как в «Настройках мыши и тачпада» или даже в настройках БИОСа — чтобы он не работал ни в одной операционной системе.
Конечно, его затем можно снова включить в любой момент, но мне отключённый таким образом тачпад доставил несколько неприятных минут: однажды в аэропорту меня попросили включить ноутбук — просто чтобы загорелся экран. Я это сделал и меня пропустили. Я захотел выключить компьютер — но мышь оказалась запрятана где-то далеко в сумке, а тачпад был отключён через биос…
Тем не менее с помощью клавиш WIN, TAB стрелок и ENTER я сумел выключить ноутбук. Но я задумался — а хорошо бы было, чтобы при отключённой мышке тачпад автоматически включался…
Так вот, в Linux есть эта настройка! В зависимости от дистрибутива, она может быть вынесена в настройки тачпада, присутствовать в дополнительной программе или вовсе отсутствовать в графическом интерфейсе. Поэтому я рассмотрю самый универсальный вариант: настройку с помощью консоли. Эта настройка должна работать в любом дистрибутиве, у которых в качестве окружения рабочего стола используется Cinnamon, Mate или GNOME.
Как сделать чтобы тачпад отключается автоматически при подключённой мышке в Linux
Эта настройка должна работать в любом дистрибутиве, у которых в качестве окружения рабочего стола используется Mate или GNOME, то есть это Ubuntu, Kali Linux, Linux Mint Mate и их производные.
Чтобы тачпад не работал если подключена внешняя мышь, достаточно выполнить команду:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled-on-external-mouse
Чтобы узнать, какая настройка активна в данный момент:
gsettings get org.gnome.desktop.peripherals.touchpad send-events
Если вы хотите, чтобы тачпад вновь работал постоянно, выполните:
gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled
Или чтобы отключить его насовсем:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
Как настроить отключение тачпада в Cinnamon
В Cinnamon указанные выше настройка не имеет эффекта по той причине, что в данном рабочем окружении не реализована эта функция.
Как правило, если мы не используем постоянно тачпад, то потребность в нём возникает очень редко. По этой причине вам может подойти следующий вариант — настройте отключение тачпада по горячей клавише, например, F2. Это очень быстро и очень интуитивно!
Кстати, в вашем ноутбуке может быть предусмотрена функциональная клавиша для включения/отключения тачпада — проверьте, вполне возможно, что вам этого окажется достаточно (у меня это FN+F10). Если клавиша не срабатывает или она просто не предусмотрена, то вы можете настроить её сами. Для этого перейдите в Настройки системы > Клавиатуры > Shortcuts > System > Hardware > Toggle Touchpad State > (дважды кликните в секции Keyboard bindings) unassigned > F2
Связанные статьи:
Как отключить тачпад в ноутбуке при подключении мыши (Linux, Ubuntu)
Как я уже писал ранее, отключение тачпада при подключении мыши — самая простая и естественная вещь, которая только может происходить. Я удивлён, что такой функционал не предусмотрен по умолчанию в каждой операционной системе, но куда ж деваться :-(.
Итак, если вы пользуетесь всевозможными системами на основе Линукс (включая Ubuntu), для автоматического отключения тачпада есть огромное количество способов. Например, можно написать два правила для udev (/home/user надо будет заменить на ваш домашний каталог):
SUBSYSTEM=="input", KERNEL=="mouse6*", ACTION=="add", ENV=":0", ENV="/home/user/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1" SUBSYSTEM=="input", KERNEL=="mouse3*", ACTION=="remove", ENV=":0", ENV="/home/user/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0"
Этот вариант идеально подойдёт для простых случаев. Но например, если вы пользуетесь Gnome (или менеджером GDM), то, скорее всего, ничего не выйдет.
В Ubuntu (практически любой версии, будь то Oneric Ocelot, Precise Pangolin, Raring Ringtail, Saucy Salamander, Trusty Tahr или ещё что) можно поставить пакет touchpad-indicator:
sudo add-apt-repository ppa:atareao/atareao sudo apt-get update sudo apt-get install touchpad-indicator
sudo add-apt-repository ppa:atareao/atareao && sudo apt-get update && sudo apt-get install touchpad-indicator
Тот же пакет, например, можно установить и в ArchLinux:
Самые продвинутые создатели, похоже, у KDE: в любом дистрибутиве в KDE (или в KUbuntu) можно просто войти в настройки тачпада и приказать ему отключаться при подключении мышки.
Для самостоятельного включения/выключения можно использовать следующий скрипт (найдено в сети, оригинальный автор неизвестен):
#!/bin/bash tpid=`xinput list | grep SynPS | sed 's/.*id\=\(5\+\).*/\1/g'` declare -i status status=`xinput list-props $ | grep Device\ Enabled | sed -e 's/.*\:[ \t]\+//g'` if [ 0 -eq $ ] ; then xinput enable $ else xinput disable $ fi
Основная идея состоит в том, что любое устройство ввода можно отключить при помощи xinput, надо лишь найти его идентификатор и сохранить в переменную tpid. В любом случае, если вы будете запускать эту команду самостоятельно, она будет работать. А вот в udev загнать её так просто не получится: надо будет подсунуть ей правильный .Xauthority файл.