Вдохновлен ответом Стефана 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.
Прежде всего, попробуйте использовать этот параметр 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
к своему вопросу. Вы также можете взглянуть на это:
Это может работать с 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».