Too many raw input device from GetRawInputDeviceList()

Viewed 4959

After a

UINT lSize; 
GetRawInputDeviceInfo(hDevice, RIDI_DEVICEINFO, NULL, &lSize);
RID_DEVICE_INFO* lInfo = (RID_DEVICE_INFO*) malloc(lSize); 
GetRawInputDeviceInfo(hDevice, RIDI_DEVICEINFO, lInfo, &lSize);

I get 9 devices: 3 mouse, 3 keyboards, 3 hid devices. I have one mouse, one touchpad, two keyboard and one joystick.

What are the leftovers?

Another thing, I'm not sure about the given informations are correct:

//keyboard #1
cbSize = 32
dwType = 1
keyboard.dwType = 81
keyboard.dwSubType = 0
keyboard.dwKeyboardMode = 1
keyboard.dwNumberOfFunctionKeys = 12
keyboard.dwNumberOfIndicators = 3
keyboard.dwNumberOfKeysTotal = 101

//keyboard #2 //keyboard 2
cbSize = 32
dwType = 1
keyboard.dwType = 81
keyboard.dwSubType = 0
keyboard.dwKeyboardMode = 1
keyboard.dwNumberOfFunctionKeys = 12 //~15
keyboard.dwNumberOfIndicators = 3
keyboard.dwNumberOfKeysTotal = 265 //~110

//keyboard #3 //keyboard 1
cbSize = 32
dwType = 7
keyboard.dwType = 81
keyboard.dwSubType = 0
keyboard.dwKeyboardMode = 1
keyboard.dwNumberOfFunctionKeys = 12
keyboard.dwNumberOfIndicators = 3
keyboard.dwNumberOfKeysTotal = 101 //~110


//mouse #1 //the touchpad
cbSize = 32
dwType = 0
mouse.dwId = 2
mouse.dwNumberOfButtons = 2
mouse.dwSampleRate = 60
mouse.fHasHorizontalWheel = 0 //1

//mouse #2 //the mouse
cbSize = 32
dwType = 0
mouse.dwId = 256
mouse.dwNumberOfButtons = 9 //5 buttons
mouse.dwSampleRate = 0 // the range is [-170,+170]
mouse.fHasHorizontalWheel = 0 //1

//mouse #3
cbSize = 32
dwType = 0
mouse.dwId = 32
mouse.dwNumberOfButtons = 3
mouse.dwSampleRate = 100
mouse.fHasHorizontalWheel = 0

//hid device #1 //the joystick
cbSize = 32 
dwType = 2
hid.dwVendorId = 1699 
hid.dwProductId = 1124
hid.dwVersionNumber = 275
hid.usUsagePage = 1
hid.usUsage = 4

//hid device #2
cbSize = 32
dwType = 2
hid.dwVendorId = 1452
hid.dwProductId = 545
hid.dwVersionNumber = 113
hid.usUsagePage = 12
hid.usUsage = 1

//hid device #3
cbSize = 32
dwType = 2
hid.dwVendorId = 1276
hid.dwProductId = 2049
hid.dwVersionNumber = 5649
hid.usUsagePage = 12
hid.usUsage = 1

So where I am wrong? If these infos are correct, then what are the meaning of them? Thanks ahead!

2 Answers
Related