Linux에서 트랙포인트를 사용할 때 터치패드를 비활성화하는 방법은 무엇입니까?

Linux에서 트랙포인트를 사용할 때 터치패드를 비활성화하는 방법은 무엇입니까?

나는 최근 내 노트북에 Ubuntu(및 그 파생 제품인 Xubuntu 및 Kubuntu)를 설치했습니다.

내 컴퓨터에는 터치패드와 트랙포인트가 모두 있습니다. Windows에서는 트랙포인트를 사용할 때 터치패드가 비활성화됩니다.

Linux에서 이것을 다시 생성할 수 있는 방법이 있습니까?

답변1

나는 이 정확한 문제에 대한 해결책을 찾기 위해 구글링을 했고 이것이 내 시스템에 맞게 생각해낸 것입니다.

#!/bin/bash
#
#Change /dev/input/event13 to your trackstick event
    cat /dev/input/event13 > /tmp/mousemove &
#initialize counter to prevent garbage file from growing
    i="0";
    while true ; do 
        i=$[$i+1];
        #variables  
        oldchecksum=${newchecksum};
        newchecksum=`md5sum /tmp/mousemove | awk '{print $1}'`
        #see if trackpad is already disabled
        if [ "$trackpad" = "off" ]; then

            #compare previous checksum to current if they're same trackstick is not moving
            if [ "$oldchecksum" = "$newchecksum" ]; then
                #make sure trackpad is enabled
                xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1;
                trackpad="on";
            fi

        else

            #compare previous checksum to current if they're different trackstick is moving
            if [ "$oldchecksum" != "$newchecksum" ]; then
                #disable trackpad
                xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0;
                trackpad="off";
            fi

        fi

        #check for count to keep poll file smaller
        if [ "$i" = "300" ]; then
            echo '' > /tmp/mousemove;
            i="0";
            newchecksum=`md5sum /tmp/mousemove | awk '{print $1}'`
        fi
            #sleep for 1 second so we don't eat up resources
            #if the update speed is not fast enough for you a smaller number such as .75 may be better
            sleep 1;
    done

나는 아치에서 플럭스박스를 실행했기 때문에 내 파일에 스크립트 호출을 추가했습니다.~/.fluxbox/apps

내가 찾을 수 있는 유일한 주의 사항은 마우스 이벤트에 액세스하기 위해 이 스크립트를 실행해야 하는 루트로 cat을 pkill하는 경우 스크립트를 종료하고 동시에 스크립트를 종료하지 않으면 스크립트가 종료된다는 것입니다. cat 의 공간이 부족하거나 /tmppkill cat 또는 시스템을 재부팅할 때까지 계속 실행됩니다.

답변2

나는 간단한 트릭을 가지고 있습니다. (정말 해킹합니다):

xinput set-prop "DLL07B0:01 044E:120B" "Synaptics Finger" 100 1000 100

이는 잘못된 압력 매개변수(최소 > 최대)를 설정하고 터무니없는 손가락 크기를 설정하는 것입니다.

Synaptics Finger
    32 bit, 3 values, low, high, press. 

Option "FingerLow" "integer"
    When finger pressure drops below this value, the driver counts it as a release. Property: "Synaptics Finger"

Option "FingerHigh" "integer"
    When finger pressure goes above this value, the driver counts it as a touch. Property: "Synaptics Finger" 

따라서 논리적으로 불가능한 압력 > 1000 및 압력 < 100인 경우에도 운전자는 프레스로 계산됩니다.

관련 정보