Как отключить тачпад при запуске полноэкранных приложений/игр?

Как отключить тачпад при запуске полноэкранных приложений/игр?

Поддержка ноутбуков в 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).

Связанный контент