2010-08-03 3 views
0

any1은 마우스 이벤트를 제거하는 방법을 알고 있지만 터치 이벤트는 허용하지 않습니다.Silver/WPF는 마우스 이벤트를 제거하지만 터치 이벤트 허용

요약하면 2 개의 모니터가 있습니다. 1은 기본 디스플레이이고 다른 하나는 터치 스크린입니다.

마우스 커서가 두 번째 디스플레이로 이동하는 것을 원하지 않습니다. 디스플레이의 경우 터치 이벤트 만 허용하므로 잘하면 두 번째 화면을 터치하면 마우스가 움직이지 않고 기본 화면에 머물러 있어야합니다.

어떻게 할 수 있습니까?

답변

0

모든 마우스와 같은 장치 입력이 하나의 가상 장치에 결합되기 때문에 Windows에는 없습니다. 따라서 터치 스크린이 일반 마우스처럼 등록되어 작동하는 경우, 입력 신호의 출처를 알 수있는 방법이 없습니다. 여기서 유일한 해결책은 드라이버 수준에서 입력 데이터를 얻는 것입니다. (c# multiple mice에 대한 몇 가지 결과를 참조하십시오.)
이 때문에 마우스 커서가 터치 스크린이 "클릭 된"위치로 항상 (곧) 이동합니다.

마우스 커서가 두 번째 화면으로 들어가는 것을 방지하는 것은 Windows 수준에서 발생하기 때문에 매우 어려울 것입니다.

사용자의 터치 스크린에 따라 다르긴하지만 해결 방법을 제안합니다.
일반적으로 터치 스크린 입력 (스타일러스 입력이 아님)은 클릭하기 전에 매우 짧은/빠른 마우스 이동을합니다. 그래서 한 가지 가능한 해결책은 마우스 이동 이벤트를 듣고 해당 정보를 사용하여 입력의 원점을 분리하는 것입니다.

+0

나는 실제로 후자의 방법을 사용하여, onMouseMove 이벤트 트리거 때 위치를 캡처 lastPosition 변수를 선언 할 생각. 따라서 위치가 두 번째 화면에있을 경우 터치 스크린을 클릭 할 때 클릭 이벤트 후 다시 이동합니다. U가 실현 가능하다고 생각하십니까? 어쨌든 설명 해 주셔서 감사합니다. –