Module: wine Branch: master Commit: e3b783174d144036cb97fbb5c902898185ee78aa URL: http://source.winehq.org/git/wine.git/?a=commit;h=e3b783174d144036cb97fbb5c9... Author: Bruno Jesus <00cpxxx(a)gmail.com> Date: Sun Aug 14 13:30:53 2016 -0300 dinput: Add DirectInput8 device type names to debug. Signed-off-by: Bruno Jesus <00cpxxx(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dinput/dinput_main.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c index 2ff6fd9..98ab273 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c @@ -181,15 +181,26 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectInputCreateW(HINSTANCE hinst, DWORD dwVer return DirectInputCreateEx(hinst, dwVersion, &IID_IDirectInput7W, (LPVOID *)ppDI, punkOuter); } -static const char *_dump_DIDEVTYPE_value(DWORD dwDevType) -{ - switch (dwDevType) { - case 0: return "All devices"; - case DIDEVTYPE_MOUSE: return "DIDEVTYPE_MOUSE"; - case DIDEVTYPE_KEYBOARD: return "DIDEVTYPE_KEYBOARD"; - case DIDEVTYPE_JOYSTICK: return "DIDEVTYPE_JOYSTICK"; - case DIDEVTYPE_DEVICE: return "DIDEVTYPE_DEVICE"; - default: return "Unknown"; +static const char *_dump_DIDEVTYPE_value(DWORD dwDevType, DWORD dwVersion) +{ + if (dwVersion < 0x0800) { + switch (dwDevType) { + case 0: return "All devices"; + case DIDEVTYPE_MOUSE: return "DIDEVTYPE_MOUSE"; + case DIDEVTYPE_KEYBOARD: return "DIDEVTYPE_KEYBOARD"; + case DIDEVTYPE_JOYSTICK: return "DIDEVTYPE_JOYSTICK"; + case DIDEVTYPE_DEVICE: return "DIDEVTYPE_DEVICE"; + default: return "Unknown"; + } + } else { + switch (dwDevType) { + case DI8DEVCLASS_ALL: return "All devices"; + case DI8DEVCLASS_POINTER : return "DI8DEVCLASS_POINTER "; + case DI8DEVCLASS_KEYBOARD: return "DI8DEVCLASS_KEYBOARD"; + case DI8DEVCLASS_DEVICE: return "DI8DEVCLASS_DEVICE"; + case DI8DEVCLASS_GAMECTRL: return "DI8DEVCLASS_GAMECTRL"; + default: return "Unknown"; + } } } @@ -384,8 +395,8 @@ static HRESULT WINAPI IDirectInputAImpl_EnumDevices( unsigned int i; int j, r; - TRACE("(this=%p,0x%04x '%s',%p,%p,%04x)\n", - This, dwDevType, _dump_DIDEVTYPE_value(dwDevType), + TRACE("(this=%p,0x%04x '%s',%p,%p,0x%04x)\n", + This, dwDevType, _dump_DIDEVTYPE_value(dwDevType, This->dwVersion), lpCallback, pvRef, dwFlags); _dump_EnumDevices_dwFlags(dwFlags); @@ -424,8 +435,8 @@ static HRESULT WINAPI IDirectInputWImpl_EnumDevices( int j; HRESULT r; - TRACE("(this=%p,0x%04x '%s',%p,%p,%04x)\n", - This, dwDevType, _dump_DIDEVTYPE_value(dwDevType), + TRACE("(this=%p,0x%04x '%s',%p,%p,0x%04x)\n", + This, dwDevType, _dump_DIDEVTYPE_value(dwDevType, This->dwVersion), lpCallback, pvRef, dwFlags); _dump_EnumDevices_dwFlags(dwFlags);