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

Вдохновлен ответом Стефана zsh и длиннее, чем ответ Исаака bash в целом, но короче в работе:

trap '[[ $_ =~ [[:digit:]] ]] && bc -l <<< "$_"' ERR

Это также имеет побочный эффект: каждый раз отображается ошибка «Нет такого файла или каталога»:

$ foozle
-bash: foozle: command not found
$ 1+2+3
-bash: 1+2+3: command not found
6
$ 6/3
-bash: 6/3: No such file or directory
2.00000000000000000000

Регулярное выражение может быть ужесточено в зависимости от ожидаемых операций.

Этот (ab )использует поведение bash для вызова ловушки ERR, когда данная команда не существует. Если последняя команда (в$_)содержит цифру, то выполняется bcдля этой «команды».


Благодаря подсказке Стефана , вот более чистый способ достижения результата (требуется bash 4.0 или более поздняя версия, в которой появилась функциональность):

if ! declare -F command_not_found_handle > /dev/null
then
  command_not_found_handle() { 
    if [[ "$@" =~ [[:digit:]] ]]; then 
      bc <<< "$@"; 
    else
      printf 'bash: %s: command not found\n' "$1" >&2
      return 127
    fi
  }
else
  echo Unable to set up the handler function, sorry
fi

Функция вызывается всякий раз, когда команда не найдена. Если эта команда содержит цифру, мы бросаем ее через bc; в противном случае мы выдаем сообщение, подобное стандартному сообщению bash, и возвращаем код выхода 127.

2
28.02.2020, 15:20
2 ответа

Прежде всего, попробуйте использовать этот параметр 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` (corrected)

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

Если это не так, добавьте результат libinput-list-devicesк своему вопросу. Вы также можете взглянуть на это:

Индикатор сенсорной панели

1
28.04.2021, 23:22

Это может работать с 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».

0
28.04.2021, 23:22

Теги

Похожие вопросы