전체 화면 애플리케이션/게임을 실행하는 동안 터치패드를 비활성화하는 방법은 무엇입니까?

전체 화면 애플리케이션/게임을 실행하는 동안 터치패드를 비활성화하는 방법은 무엇입니까?

Ubuntu의 노트북 지원은 다소 실망스럽습니다. 우분투와 쿠분투는 서로 다른 두 세계인 것 같습니다. 전체 화면 응용 프로그램을 실행하는 동안 터치패드를 비활성화하는 스크립트가 있습니까? 나는 그것을 직접 작성하려고 시도했지만 결국 성공하지 못했습니다. 내 추측은 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;;

EG는 이전에 Ubuntu의 기본 비디오 플레이어를 Videos예외 추가에 추가하므로 다음과 같습니다.|*videos*
) WNN=1;;

desktop|*vlc*|*smplayer*|*mozilla*firefox*|*videos*) WNN=1;;

애플리케이션 이름은 대소문자를 구분하므로 소문자만 사용해야 합니다( smplayer단, 소문자는 사용할 수 없음 SMPlayer).

관련 정보