DirectInput: ignore everything but joysticks and gamepads (thanks, Justin!).

Fixes Bugzilla #2460.
main
Ryan C. Gordon 2015-04-08 02:14:59 -04:00
parent 6e53bc9b10
commit 785618afec
1 changed files with 5 additions and 0 deletions

View File

@ -345,6 +345,11 @@ EnumJoysticksCallback(const DIDEVICEINSTANCE * pdidInstance, VOID * pContext)
return DIENUM_CONTINUE; /* ignore XInput devices here, keep going. */
}
const DWORD devtype = (pdidInstance->dwDevType & 0xFF);
if ((devtype != DI8DEVTYPE_JOYSTICK) && (devtype != DI8DEVTYPE_GAMEPAD)) {
return DIENUM_CONTINUE; /* Ignore touchpads, etc. */
}
pNewJoystick = *(JoyStick_DeviceData **)pContext;
while (pNewJoystick) {
if (!SDL_memcmp(&pNewJoystick->dxdevice.guidInstance, &pdidInstance->guidInstance, sizeof(pNewJoystick->dxdevice.guidInstance))) {