2010-03-20 4 views
11

터치 패드를 클릭하면 감지하고 싶습니다!.NET에서 어떤 마우스 (여러 마우스 장치)를 클릭했는지 확인하십시오.

나는 보통 USB 마우스를 사용하므로 터치 패드를 사용하지 않습니다. 대신 터치 패드를 클릭하면 .NET에서 작업을 수행 할 수있게하려고합니다. 이렇게하면 바로 가기로 사용할 수 있습니다. 한 번의 탭과 멋진 일이 발생합니다.

가능한가요, 그렇다면 어떤 단서가 있습니까? VB.NET 또는 C#에서 작업 할 수 있다면 좋을 것 같습니다.

나의 이론은 내가 mousehook을 만들어야한다는 것이고, 그 다음 어떻게 든 클릭이 어떤 장치로부터 왔는지를 결정합니다. 클릭이 터치 패드에서 발생한 것으로 판단되면 클릭을 취소하고 doWhatever()를 클릭하십시오.

감사합니다.

*이 EDIT * 음, 일종의 "해결"이야 :) 이상한 우연의 일치에서, Synaptics의 몇 가지 새로운 기능을 몇 일 전에 자신의 터치 패드에 대한 최신 드라이버와 소프트웨어를 발표했다. 내 노트북에는 synaptics 터치 패드가 있기 때문에 소프트웨어를 사용해 보았습니다. 흥미롭게도 작업을 수행하기 위해 트랙 패드에서 클릭을 지정하는 기능이 내장되어있었습니다.

원하는 기능이 코드 라인없이 이루어졌습니다 (내 코드 : 어쨌든 :).

답변은 RawInputSharp 라이브러리에 대한 링크가 있지만 Adrian에게갑니다. 나는 어제 그걸로 어지럽 쳤고, 나는 랩탑에 시냅스 트랙 패드가없는 경우에이 목적으로 사용하는 것이 가능할 것이라는 확신이 90 %이다.

+0

+1 : 정말 멋진 아이디어입니다. –

답변

5

this 페이지에서 RawInputSharp 라이브러리를 살펴보십시오. 입력 장치 정보를 얻기 위해 pInvokes를 User32.dll에 사용합니다. 그것을 사용하여 어떤 장치 (예 : 마우스) 입력이 왔는지 탐지 할 수 있습니다.

조금 놀아 보았을 때 장치 ID 만 표시하는 코드를 추출했습니다. USB 마우스 또는 내부 터치 패드 사용 여부에 따라 값이 다릅니다. 까다로운 점은 터치 장치의 ID가 자동으로 어떤 장치 ID인지 식별하는 것이지만 응용 프로그램에서 수동으로 구성 할 수 있습니다.

+0

애드리안에 감사드립니다. 나는이 페이지를 들여다 보았지만 이것이 내 수준보다 높다고 생각한다. 나는 약간의 도움을 얻는 것을 시도 할 것이고, 잘만되면 그것이 도움이되게한다. 우리가 알아 내면 알려 주실 겁니다. –

+1

오, 이런, 지금 이걸 가지고 재미있게 할거야. 15 가지 주요 키패드를 가지고있어 여러 가지 물건을 서비스와 연결시키는 것이 좋습니다. – msarchet

+0

안녕 msarchet, 그 키패드의 이름은 무엇입니까? 흥미로운 소리! –

관련 문제