| Summary: | OUYA Controller mini-touch screen registered as separate device | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Justin <envirobear2010> |
| Component: | joystick | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | icculus |
| Version: | 2.0.3 | Keywords: | target-2.0.4, triage-2.0.4 |
| Hardware: | x86_64 | ||
| OS: | Windows 7 | ||
Marking a large number of bugs with the "triage-2.0.4" keyword at once. Sorry if you got a lot of email from this. This is to help me sort through some bugs in regards to a 2.0.4 release. We may or may not fix this bug for 2.0.4, though! (sorry if you get a lot of copies of this email, I'm marking several bugs at once) Marking bugs for the (mostly) final 2.0.4 TODO list. This means we're hoping to resolve this bug before 2.0.4 ships if possible. In a perfect world, the open bug count with the target-2.0.4 keyword is zero when we ship. (Note that closing a bug report as WONTFIX, INVALID or WORKSFORME might still happen.) --ryan. Fixed in https://hg.libsdl.org/SDL/rev/d5adc0c06a03, thanks! --ryan. |
SDL_CONTROLLERDEVICEADDED is being sent twice: once for the controller and once for the touch pad. this is my patch, in SDL_dxjoystick.c: static BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE * pdidInstance, VOID * pContext) { JoyStick_DeviceData *pNewJoystick; JoyStick_DeviceData *pPrevJoystick = NULL; int t = pdidInstance->dwDevType & 0xFF; if(t != DI8DEVTYPE_JOYSTICK && t != DI8DEVTYPE_GAMEPAD) { return DIENUM_CONTINUE; } // the touch pad would be DI8DEVTYPE_SUPPLEMENTAL ...