3 способа отключить тачпад в Linux

Кто про что, а я снова про отключение тачпада. Ну нет на моём Asus N61 горячей клавиши под это дело, а с активным тачпадом печатать у меня тупо не получается. Да, он умеет отключаться во время набора текста, но это вообще никак мне не помогает. Короче, ещё раз, но теперь подробнее.

Тачпад в Linux:
Плюсы, минусы, подводные камни

Вот за что я уважаю Asus, так это за надёжность: ноуту на днях 15 лет стукнет, а он до сих пор работает и работает на вполне приемлемом для такого возраста уровне. Да, за это время он раза три успел помереть, но, если с ремонтом может справится даже такой чайник, это не считается.

А вот за что я всегда буду Asus ругать, так это за тотальную экономию во всём: в Asus A6 они умудрились засунуть HDD с IDE, в ASUS N61 – оперативу DDR2. Да, всё это прекрасно работает, но вы попробуйте сейчас обновить то, что успело сломаться. Про перевёрнутые вебки я вообще молчу!

Сэкономили в Asus N61 и на горячих клавишах: запустить проигрыватель, выключить монитор и даже открыть калькулятор тут можно, а вот отключить тачпад почему-то нельзя. Видимо, потому, что ноутбук этот поставлялся с новенькой Windows7 и фирменным драйвером, который автоматически отключал тачпад после подключения мышки. В Linux таких штук, ожидаемо, нет. Что делать?

Итак, у вас есть ноутбук и тачпад, которым вы не собираетесь пользоваться. Как его выключить?


Три способа отключить тачпад в Linux

Способ №1: Горячие клавиши

Начнём с того, что я наврал: способов будет не три, а пять. Просто первые два – это для совсем разумистов, но на всякий случай о них тоже стоит упомянуть.

И первый из них – горячие клавиши. Возможно, вам повезло гораздо больше, чем мне, и горячая клавиша на конкретно вашей модели всё-таки предусмотрена. Присмотритесь к клавиатуре, и ищите перечёркнутый значок тачпада. Нашли? Тогда зажмите клавишу Fn (обычно она расположена в левом нижнем углу) и, не отпуская нажмите кнопку, отвечающую за тачпад.

Готово! Чтобы включить его, зажмите кнопки ещё раз.


Способ №2: Системные настройки

Если горячих клавиш для отключения тачпада на вашем ноутбуке тоже нет, можете проверить системные настройки. Есть нехилый шанс, что где-то рядом с настройками мышки будут и настройки тачпада.

Но тут всё зависит от конкретного дистрибутива и конкретного рабочего окружения: где-то эти настройки есть, а где-то их нет и, скорее всего, уже никогда не будет. Например, их нет в LXQt и Trinity.


Способ №3: synaptic

Дальше всё чуть сложнее, и стоит отметить, что способы, о которых речь пойдёт чуть ниже, не универсальные и тоже зависят от конкретного дистрибутива: где-то сработает одно, где-то другое.

Если за управления тачпадом в вашем дистрибутиве используется драйвер xserver-xorg-input-synaptic (не путайте с одноимённым пакетным менеджером Synaptic) и вы категорически не хотите пользоваться ничем, кроме мышки, для вас это отличная новость: отключить тачпад можно раз и навсегда, причём всего одной командой.

Для отключения тачпада вводим в терминал следующий текст:

synclient TouchpadOff=1

Если тачпад вам всё-таки понадобился, просто поменяйте единицу на ноль:

synclient TouchpadOff=0

Конкретно в моём случае тачпад после этого отключился навсегда и не включался даже после перезагрузки системы.

Единственная проблема тут в том, что xserver-xorg-input-synaptic не обновляется со времён Debian 9 и считается давно устаревшим. Что там можно обновлять в драйверах для устройств, которые годами никак не меняются, лично я понятия не имею, но многие дистрибутивы постепенно отказываются от synaptic в пользу чего-то поновее.


Способ №4: xinput

Обычно, если разрабы дистрибутива решили перейти с synaptic на что-то посовременнее, они выбирают xinput. Теоретически, если бы всё работало как надо, вы бы не заметили вообще никакой разницы: она видна только, когда вы заходите в консоль.

Команды тут тоже используются схожие, но для отключения конкретного устройства сперва вам придётся узнать, какой ID был ему присвоен. Для этого тупо открываем терминал и запускаем xinput:

xinput

В появившемся на экране списке ищем что-то с отметкой touchpad и запоминаем его ID (обычно двузначный).

Для отключения конкретного устройства понадобится следующая команда:

xinput --disable ID

ID нужно заменить на указанные напротив тачпада цифры.

В отличие от настроек synaptic, которые сохраняются раз и навсегда, настройки xinput сбрасываются после каждой перезагрузки. Если же вам нужно снова включить тачпад, не перезагружая ПК, введите следующую команду:

xinput --enable ID

Но есть и хорошие новости: ID, судя по всему, не сбрасывается, так что вам достаточно выучить всего одну команду. Ну или использовать нубские стрелочки.


Способ №5: отключаем тачпад на уровне ядра

В большинстве случаев что-то из описанных выше способов точно сработает: либо synaptic, либо xinput. Но у меня как-то раз synaptic тупо отказывался принимать команды, а xinput даже установлен не был.

Но тут есть универсальное решение:

sudo modprobe -r psmouse

Насколько я понимаю, эта команда вырубит тачпад на уровне ядра, и для её выполнения понадобится пароль от вашей учётной записи.

После перезагрузки тачпад снова будет доступен, но, если нужно включить его, не выключая ноутбук, просто введите ту же команду и удалите из неё -r:

sudo modprobe psmouse

Ну а теперь то, ради чего всё это и затевалось…


Добавляем ярлыки для быстрого включения/отключения тачпада

Каждый раз лезть в терминал и вводить туда какие-то команды (пусть даже и с помощью стрелок) будет не особо удобно. Вроде бы мелочь, но раз за разом, снова и снова, одно и тоже. Бесит!

Бесит настолько, что в какой-то момент я начал экспериментировать с ярлыками. Тыкаться пришлось наугад (потому, что я жуткий лентяй и не хочу тратить время на то, что мне вряд ли пригодится), но в итоге всё заработало.

Для выключения тачпада ярлык должен выглядеть вот так:

[Desktop Entry]
Name=Touchpad OFF
Exec=xinput --disable 16
Terminal=true
Type=Application
Icon=/usr/share/icons/breeze/devices/64/input-touchpad-off.svg
Name[ru]=OFF
Name[ru_RU]=OFF

А для его повторного включения вот так:

[Desktop Entry]
Name=Touchpad ON
Exec=xinput --enable 16
Terminal=true
Type=Application
Icon=/usr/share/icons/breeze/devices/64/input-touchpad-on.svg
Name[ru]=ON
Name[ru_RU]=ON

Тупо копируете текст в блокнот, сохраняете в формате .desktop и переносите в директорию рабочего стола. Если вы всё сделали правильно, на экране появится два новых ярлыка, но пока они будут прозрачными.

Дело в том, что иконка тачпада в наборах обычно одна. Использовать иконки из разных наборов я не хотел, так что пришлось слегка перерисовать то, что было. То есть прозрачные эти ярлыки только из-за того, что у вас таких иконок тупо нет.

Если используете не xinput, а xserver-xorg-input-synaptic, просто подредактируйте ярлык и вставьте в него нужную команду.

Для выключения:

[Desktop Entry]
Name=Touchpad OFF
Exec=synclient TouchpadOff=1
Terminal=true
Type=Application
Icon=/usr/share/icons/breeze/devices/64/input-touchpad-off.svg
Name[ru]=OFF
Name[ru_RU]=OFF

Для включения:

[Desktop Entry]
Name=Touchpad ON
Exec=synclient TouchpadOff=0
Terminal=true
Type=Application
Icon=/usr/share/icons/breeze/devices/64/input-touchpad-on.svg
Name[ru]=ON
Name[ru_RU]=ON

А вот для psmouse такой ярлык будет почти бесполезен: вам ведь всё ещё нужно ввести пароль от своей учётной записи, без которого команда тупо не запустится.

Теоретически такие команды, наверное, можно было бы упаковать в какой-нибудь скрипт и уже его сунуть в автозапуск, но, во-первых, по-моему, это заметно сложнее, а во-вторых, вдруг тачпад вам всё-таки когда-нибудь понадобится?

Но если шарите, можете набросать скрипт в комменты. Кому-нибудь это наверняка будет полезно.

13 января 2025

Комментарии

Популярные сообщения