터치 스크린을 사용할 때 마우스 커서를 동적으로 숨기기


21

터치 스크린 랩톱이 있는데 화면을 터치 할 때마다 포인터를 숨기고 싶습니다. unclutter 와 같은 솔루션을 알고 startx -nocursor있지만 포인터를 동적으로 숨기거나 표시하여 터치 스크린을 사용하면 숨기고 하드웨어 마우스를 사용할 때 표시하기를 원합니다.

두 개의 개별 포인터 를 만들고 위의 두 가지 솔루션 중 하나를 터치 스크린 포인터에 적용하는 것에 대해 생각 했지만 이러한 솔루션 중 어느 것도 단일 포인터를 대상으로 지정하는 방법에 대해 언급하지 않았으며 여러 포인터를 사용하면 이상한 일이 생겨 하드웨어가 숨겨지지 않습니다. 마우스 커서.

내가 가장 합리적 같은이 일을 뭔가 할 수있는 그림 현재의 입력 메커니즘을 추적하고 실행, xinput -cursor [transparent cursor]터치 스크린을 사용하는 때마다 xinput -cursor [normal cursor]일반 마우스를 할 때마다 사용됩니다.

xinput을 보았지만 하드웨어 마우스와 터치 스크린이 모두 동일한 포인터에 종속되어 있기 때문에 둘 다 xev에 동일한 이벤트를 등록하므로 터치를 구별하는 데 필요한 정보를 어디서 얻을 수 있는지 확실하지 않습니다. 마우스 클릭에서. 가능합니까?

답변:


5

당신은 사용할 수 있습니다

사용하려면 설치하십시오

sudo apt-get install unclutter

그런 다음 실행

unclutter -idle 0.01 -root

유휴 후의 숫자는 숨기기 전의 시간을 의미합니다. 이 경우 1/100 초로 설정됩니다. 항상 숨겨져있는 값으로 변경할 수 있습니다.

움직이지 않으면 커서가 숨겨집니다. 완전히 숨길 수있는 옵션이 있다고 확신합니다.


언 클러 터를 사용하는 솔루션을 보았지만 터치 스크린과 마우스를 사용하는 것을 구별하지는 않습니다.
erp

2

마우스가 없을 때 터치 스크린을 사용하고 사용하려는 경우 시스템에 터치 스크린을 연결한다고 가정합니다. 이 경우 udev규칙을 사용하여 그에 따라 포인터를 관리 할 수 있습니다 .

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/xinput -cursor [transparent cursor]", RUN+="/usr/bin/xinput -cursor [normal cursor]"

마우스를 구별하는 데 사용되는 조건은 이 답변 에서 차용됩니다 .

개별 응용 프로그램은 커서를 동적으로 재정의 할 수 있으므로 창을 가리킬 때 커서가 다시 표시 될 수 있습니다. unclutter모든 커서를 모든 곳에 숨기려면 대신 시작 / 중지 할 수 있습니다.

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c unclutter&", RUN+="/usr/bin/killall unclutter"

개인적으로 마우스가 연결되어있을 때 터치 스크린을 완전히 비활성화하여 실수로 터치 스크린이 마우스를 따라갈 때 커서를 방해하지 않도록합니다.


이것은 플러그 인 마우스뿐만 아니라 내 트랙 패드 에서이 동작을 원한다는 것을 제외하고는 좋은 옵션입니다. udev가 동적으로 추가 / 제거 된 장치에만 영향을 준다고 생각합니까?
erp

트랙 패드가 "하드웨어 마우스"입니까? 나는 그것이 작동하는지 시도해야한다고 말하고 싶습니다. udevFn 버튼을 사용하여 터치 패드 를 사용하지 않도록 설정하면 터치 패드가 실제로 제거 된 것으로 표시 될 수 있습니다 (있는 경우).
Dmitry Grigoryev

1

여기 nowrep 가능으로 정리합니다-수정 도구의 포크 . 이 버전에는 -touch터치 입력이 감지 될 때마다 커서를 자동으로 숨기는 옵션 이 추가 되었습니다. (원래 unclutter-xfixes 저장소는 여기에 있습니다 )

알아야 할 한 가지는 지정된 시간이 지난 후에도 커서를 숨기는 동작을 포함한다는 것입니다. 이 --timeout문제를 해결하기 위해 옵션을 매우 높은 값으로 설정할 수 있습니다 .

이것은 당신에게 완벽하게 작동합니다. 필자의 경우 외부에 연결된 터치 스크린이 있었고 일반 모니터로 다시 이동할 때 커서가 터치 스크린에 있으므로 터치 한 위치에서 다시 모니터로 이동해야합니다. 좋은 점은 마우스를 움직이기 시작하면 커서가 나타나서 어디에 있는지 알 수 있다는 것입니다.

이 옵션의 장점은 터치 스크린에서 마우스를 평소처럼 사용할 수 있지만 원하지 않을 때는 숨길 수 있다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.