2010-02-08 8 views
4

HID 장치의 구조는 어디에서 얻을 수 있습니까? 예를 들어GetRawInputData의 HID 장치 정보 구조

:

raw data from a device, using GetRawInputData: 
( 0 137 117 0 146 130 24 128 0 ) 
( 0 137 117 0 146 130 8 128 0 ) 
          /\ 
at this I can see that || there is being a button released 
that means, at the 6-th char at 4-th bit 

I 알아낼 수 원료 스트림을 분석하여 여기서 버튼, 스위치 및 아날로그 데이터이다. Windows에서이 정보를 묻는 방법이 있습니까?

내 주요 목표는 기본적으로 구조를 얻을 수 있습니다 :

Button - 6th char, 4th bit. 
Analog - 2nd char 
Switch - 6th char, 0-3th bit. 

내가 찾은 유일한 해결책은 HID Descriptors했다. 하지만 어떻게 사용하는지 모르겠습니다. documentation를 읽은 후 나는 벽돌 벽에 뛰어 드는 느낌을 받았습니다. 거기에 아마도 좋은 예제를 사용하는 방법이나 그들을 더 잘 설명하는 책. (전술 한 바와 같이) 나는 구조를 추출하는 방법을 HidP_GetButtonsHidP_GetUsages하지만 여전히 어떤 생각을 발견


(아니면 쉬운 방법은 설명없이 그 일을).

답변

0

아, GetRawInputData을 사용해야합니다. msdn에 somewhat crummy 예제가 있습니다.

+0

설명 일부 외부 정보의 소스 (또는 당신에 의해 생성)을해야합니다. 나는 자료를 얻지 만, 나는 그 자료의 구조가 무엇인지 알지 못한다. – Egon

0

문제는 각 장치마다 자체 구조가있는 것 같습니다. Win32 API를 통해 보편적 인 방법으로 구조 해석을 얻지는 못하는 것 같습니다.

당신에게 RID_DEVICE_INFO 구조체

  • GetRawInputBuffer
  • 당신이는 Win32에서 할 수있는 모든 정보를 얻을 것 같다

  • GetRawInputData
  • 을 제공

    • GetRawInputDeviceInfo의 조합.

      그 후, 당신은 아마 사실 나는 이미 그것을 사용하고 등 특정 분야

    +0

    예, 이미 사용 중입니다 ... 내가 놓친 부분은 숨겨진 장치 원시 출력 (getRawInputData에서 읽음)을 설명하는 부분입니다. 그리고 내가 말했듯이 - 나는 HID 기술자 (winapi의 일부)가 그 정보를 가지고 있지만 그 정보를 얻는 방법을 모른다는 것을 안다. – Egon