Original Post
Ok, so I'm trying to attach DInput8 to an SDL window. I have the HWND already, no problems there. I run through all the normal steps. All the HRESULTS come back fine. Even GetDeviceState returns a good old S_OK. But, nothing happens when I press a key. The key array always comes back as straight 0s. I don't really understand what the problem is -- it's a bare minimum keyboard based DI app, with the code following the SDK tutorial pretty much to the letter. Debug runtime output: One line seems to suggest a problem: DINPUT8: DIHid_BuildHidListEntry: DIHid_GetDevInfo failed, ignoring device Don't know what that means, but ignoring device sounds bad. I'm not posting code, because my code literally follows the SDK tutorial completely. Create DI, create device, set format, set coop level, acquire. Loop on get device state. Unacquire, release device, release DI. Is SDL potentially interacting with DI in a bad way? (Is SDL attempting to use DI?) Anyway, I dunno. Never really spent too long with DI, since it usually 'just works'. Would really appreciate help.
DINPUT8: DIHid_BuildHidList(0)
DINPUT8: DIHid_CheckList(00000000)
DINPUT8: DIHid_CheckList(00000000) ->
DINPUT8: DIHid_BuildHidListEntry(00154190, 0012F5A0)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F5A0)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F5A0) -> 00000001 OK
DINPUT8: DIHid_GetDevInfo(00154190, 0012F5A0, 0012F4F4)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F5A0)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F5A0) -> 00000001 OK
DINPUT8: DIHid_CreateDeviceInstanceKeys(0012F4F4)
DINPUT8: DIHid_CreateDeviceInstanceKeys: RegQueryValueEx failed (2) to get state for instance 6&28A357F1&0&0000
DINPUT8: DIHid_CreateDeviceInstanceKeys(0012F4F4) -> 00000000
DINPUT8: DIHid_GetDevInfo: CreateFile(\\?\hid#vid_047d&pid_102d#6&28a357f1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}) failed? le=5
DINPUT8: DIHid_GetDevInfo(00154190, 0012F5A0, 0012F4F4) -> 00000000 le=[5]
DINPUT8: DIHid_BuildHidListEntry: DIHid_GetDevInfo failed, ignoring device
DINPUT8: DIHid_BuildHidListEntry(00154190, 0012F5A0) -> 00000000 le=[5]
DINPUT8: DIHid_BuildHidListEntry failed?
DINPUT8: DIHid_BuildHidList(0) ->
DINPUT8: DIHid_GetDevicePath(00154190, 0012F61C)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F61C) -> 00000001 OK
DINPUT8: DIHid_GetDevicePath(00154190, 0012F61C)
DINPUT8: DIHid_GetDevicePath(00154190, 0012F61C) -> 00000001 OK
DINPUT8: DIHid_BuildHidList(0)
DINPUT8: DIHid_BuildHidList(0) ->