
Поддержка ноутбуков в Ubuntu довольно разочаровывает. Как будто Ubuntu и Kubuntu — это два разных мира. Есть ли скрипт для отключения тачпада при запуске полноэкранных приложений? Я пытался написать его сам, но в итоге ничего не вышло. Думаю, нужно объединить xdotool
с xinput
.
Любые иные подходы, а также предложения похожих сценариев приветствуются.
И нет, мне не интересно настраивать сочетания клавиш! Скрипт должен автоматически отключать тачпад, когда активно полноэкранное приложение.
решение1
После некоторых исследований мне удалось написать функциональный скрипт. Он автоматически отключает тачпад, пока активно полноэкранное приложение.и мышь подключена. Поэтому он подходит для полноэкранных игр.
Вам нужно скопировать текст в Gedit и сохранить файл, например: .auto_disable_touchpad.sh
(Поскольку он находится .
перед именем, это скрытый файл, но вы можете назвать его как хотите.). Затем: щелкните правой кнопкой мыши/свойства/разрешения/разрешить выполнение файла как программы. Чтобы добавить его в автозагрузку, откройте Startup applications
и добавьте следующую команду your/script/folder/.auto_disable_touchpad.sh
.
#!/bin/bash
SC1=$(xdpyinfo | grep dimensions)
SC2="${SC1#*dimensions: }"
SC3="${SC2%% pixels*}"
while :
do
TP=$(xinput list --name-only | grep -i Touchpad)
TPS1=$(xinput --list-props "$TP" | grep -i "device enabled")
TPS2="${TPS1#*:}"
MO=$(xinput list --name-only | grep -i mouse)
if [ ! -z "$MO" ];then
WN1=$(xdotool getactivewindow getwindowgeometry)
WN2="${WN1#*Geometry: }"
WNN=$(xdotool getactivewindow getwindowname)
case ${WNN,,} in
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
*) WNN=0;;
esac
if [ $SC3 == $WN2 ] && [ $WNN == 0 ]; then
xinput -disable "$TP"
elif [ $TPS2 == 0 ]; then
xinput -enable "$TP"
fi
else sleep 2
fi
sleep 1
done
Если вы смотрите фильмы или полноэкранное видео на YouTube, это также отключит тачпад, пока присутствует мышь. Поэтому вы можете захотетьдобавить исключения. Я уже добавил несколько для: рабочего стола, Firefox (плагин-контейнер), VLC и SMPlayer.
Если вы хотите, чтобы тачпад был активен при работе полноэкранного приложения, добавьте название приложения в эту строку:
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
Например, чтобы добавить видеоплеер Ubuntu по умолчанию Videos
в исключения, добавьте его |*videos*
перед этим
) WNN=1;;
, чтобы это выглядело так:
desktop|*vlc*|*smplayer*|*mozilla*firefox*|*videos*) WNN=1;;
Обратите внимание, что имя приложения чувствительно к регистру, поэтому следует использовать только строчные буквы ( smplayer
но не SMPlayer
).