フルスクリーンアプリケーション/ゲームの実行中にタッチパッドを無効にする方法は?

フルスクリーンアプリケーション/ゲームの実行中にタッチパッドを無効にする方法は?

Ubuntu のラップトップ サポートは、かなり残念です。Ubuntu と Kubuntu は 2 つの異なる世界のようです。フル スクリーン アプリケーションの実行中にタッチパッドを無効にするスクリプトはありますか? 自分で書いてみましたが、結局成功しませんでした。私の推測では、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)。

関連情報