Отключить тачпад ноутбука на Wayland

Вопрос или проблема

Мне нужно отключить тачпад на моем ноутбуке. Я использую Gnome на Wayland.

  • libinput должен обеспечивать эту функциональность, но, похоже, не обеспечивает.
  • xinput не работает, потому что я на Wayland.
  • Я думаю, что Gnome предлагал какой-то переключатель для этого в настройках ввода, но его там больше нет (Gnome shell 3.34 — возможно, это исключительная функция Xorg?).

Разве это так много, если я хочу отключить устройство ввода?


Правка: xinput НЕ является решением!

В его справочной странице есть целый раздел о Wayland (выделение мое):

XWAYLAND

Xwayland — это X-сервер, который использует Wayland-композитор в качестве бэкенда. Xwayland действует как промежуточный слой между X-протоколом и Wayland-протоколом, но не имеет прямого доступа к аппаратному обеспечению. Устройства расширения ввода X, создаваемые Xwayland (“xwayland-pointer”, “xwayland-keyboard” и т. д.), отображаются на устройства Wayland-протокола, а не на физические устройства. Эти устройства расширения ввода X видны только другим X-клиентам, подключенным к тому же процессу Xwayland. Изменение свойств на устройствах Xwayland влияет только на поведение этих клиентов. Например, отключение устройства Xwayland с помощью xinput не отключит устройство в нативных приложениях Wayland. Другие изменения могут вообще не оказывать никакого эффекта. В большинстве случаев использование xinput с устройством Xwayland указывает на ошибку в оболочке скрипта, и xinput выведет предупреждение. Вместо этого используйте нативные методы конфигурации устройств композитора Wayland.

Кратко: : Если я отключу тачпад с помощью xinput, он все равно будет продолжать работать, как и прежде, но приложения XWayland больше не увидят движение курсора.

Первое, что нужно сделать, это попробовать, будет ли полезна эта настройка dconf:

gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing 'false'

Она была установлена в false, хотя название намекает на true.

Эта настройка должна быть для конфигураций Xserver:

gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled'

Ноутбук также может отключать тачпад с помощью Fn+F5;
вы можете попробовать это.

Если это не сработает,
пожалуйста, добавьте вывод libinput-list-devices к вашему вопросу.
Вам также может быть интересно взглянуть
на Touchpad Indicator – расширение GNOME Shell.

Другие методы не работали для меня на KDE Plasma, поэтому я попытался отключить тачпад наивным способом:

ydotool key 530:1 530:0

Эта команда, по сути, отправляет запрос KEY_TOUCHPAD_TOGGLE на включение или выключение тачпада.

Для того чтобы эта настройка работала, демон ydotoold должен работать в фоновом режиме (например, как сервис systemd):

cat ~/.config/systemd/user/ydotoold.service
[Unit]
Description=Starts ydotoold service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=3
ExecStart=/opt/ydotool/ydotoold
ExecReload=/usr/bin/kill -HUP $MAINPID
KillMode=process
TimeoutSec=180

[Install]
WantedBy=default.target

Теперь можно программно активировать/деактивировать тачпад, например, в скриптах или через KDE Connect.

Проверено на версии ydotool 1.0.4 из GitHub.

Это может сработать с xinput, даже если вы используете Wayland.

Установите пакет xinput, если это необходимо. Затем выясните, какое ваше устройство, набрав

xinput list | grep -i touch

Вы можете найти строку вроде “SynPS/2 Synaptics TouchPad”. Пропустите часть grep, если список пуст, чтобы увидеть, сможете ли вы найти что-то еще, что звучит как тачпад.

Используйте эту строку (измените следующую команду по мере необходимости) и введите

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

Вы можете снова включить тачпад, введя “1” вместо “0” в конце.

На KDE Plasma 6.2.2 вы можете создать ярлык. Настройки > Клавиатура > Ярлыки > Тачпад

Работает как часы.

Ответ или решение

Отключение сенсорной панели на ноутбуке под управлением Wayland

Если вам необходимо отключить сенсорную панель на ноутбуке с установленной средой Gnome на Wayland, вы столкнетесь с определёнными ограничениями, так как некоторые инструменты, такие как xinput, не совместимы с Wayland. Однако, есть несколько методов, которые вы можете попробовать:

1. Использование настроек Gnome

В Gnome, переменные среды позволяют управлять поведением сенсорной панели. Вы можете попробовать следующий подход:

  1. Откройте терминал и выполните команду:

    gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled'

    Эта команда пытается отключить события от сенсорной панели. Однако, обратите внимание, что данный метод может не сработать в версиях Gnome на Wayland.

  2. Вы можете также попробовать изменить настройки для отключения сенсорной панели при наборе текста:

    gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing false

2. Использование расширения для Gnome

Если стандартные настройки не решают вашу проблему, вы можете установить расширение Gnome “Touchpad Indicator”. Это расширение позволяет управлять сенсорной панелью через графический интерфейс и может иметь дополнительные настройки, которые позволят вам более гибко контролировать поведение устройства.

3. Использование ydotool

ydotool — это утилита, которая позволяет отправлять команды на уровне клавиатуры. Вы можете настроить ydotoold как системный сервис, который позволит вам привыкнуть к управлению сенсорной панелью через горячие клавиши или скрипты. Учтите, что для это необходимо установить ydotool:

  1. Создайте системный сервис для ydotoold. В файле ~/.config/systemd/user/ydotoold.service добавьте следующее:

    [Unit]
    Description=Starts ydotoold service
    StartLimitIntervalSec=0
    
    [Service]
    Type=simple
    Restart=always
    RestartSec=3
    ExecStart=/opt/ydotool/ydotoold
    ExecReload=/usr/bin/kill -HUP $MAINPID
    KillMode=process
    TimeoutSec=180
    
    [Install]
    WantedBy=default.target
  2. Запустите и активируйте сервис:

    systemctl --user daemon-reload
    systemctl --user start ydotoold
    systemctl --user enable ydotoold
  3. Теперь вы можете отключить сенсорную панель, отправляя команду:

    ydotool key 530:1 530:0

4. Другие рекомендации

Некоторые пользователи сообщают, что на некоторых ноутбуках можно отключить сенсорную панель с помощью сочетания клавиш. Обычно это комбинация Fn + F5 или аналогичные клавиши с иконкой сенсорной панели. Проверьте документацию вашего устройства.

Заключение

Отключение сенсорной панели на Gnome с использованием Wayland может вызвать трудности, но, используя приведенные выше методы, вы сможете найти подходящее решение. Метод с ydotool может показаться наиболее универсальным и позволяющим программно контролировать устройство. Если у вас имеются дополнительные вопросы, не стесняйтесь их задавать.

Оцените материал
Добавить комментарий

Капча загружается...