src/joystick/windows


Log

Author Commit Date CI Message
Sam Lantinga 1ee96bb9 2014-07-07T10:26:28 Fixed mingw64 build and warnings
Sam Lantinga b79e7f32 2014-07-03T15:39:55 Split the XInput and DirectInput code so Windows RT can use the existing XInput support.
Sam Lantinga 52ec151f 2014-06-24T13:31:25 Fixed bug 2553 - Add support to all XInput devices This adds support for all XInput devices, exposed through the SDL joystick API. The button and axis reporting for XInput devices has been changed to match DirectInput and other platforms. The game controller xinput mapping has been updated so this change is seamless. There is a new hint, SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING, for any applications that have hardcoded the old xinput button and axis set. This hint will be removed in SDL 2.1.
Ryan C. Gordon 446d19c4 2014-06-14T23:31:23 Removed SDL_SYS_JoystickNeedsPolling(). It was simpler to just have the polling (actually: hotplug detection) functions return immediately if it's not an appropriate time to poll. Note that previously, if any joystick/controller was opened, we would poll every time anyhow, skipping this function.
Sam Lantinga da6d9a9f 2014-06-04T10:56:56 Added annotations to help code analysis tools CR: Bruce Dawson
David Ludwig 3dcb451f 2014-04-09T21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
Sam Lantinga c3c24a33 2014-03-31T10:38:26 Fixed the joystick side of XInput haptic detection on Windows 8
Ryan C. Gordon 7eaf8997 2014-03-17T19:11:18 Fixed SDL_HapticOpenFromJoystick() with DirectInput devices.
Ryan C. Gordon 754067db 2014-03-01T22:27:21 Added a FIXME.
Ryan C. Gordon 7fa4eece 2014-03-01T22:27:13 Fixed a typo in a comment.
Ryan C. Gordon 73936208 2014-03-01T20:59:43 Added some FIXMEs.
Ryan C. Gordon e42d46b4 2014-02-06T07:37:20 Wired up haptic hotplugging for Windows DirectInput/XInput code.
Sam Lantinga 58edac3e 2014-02-02T00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
Ryan C. Gordon 090327e7 2013-12-09T16:03:18 Implemented the Dynamic API magic.
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
Ryan C. Gordon 7e1289af 2013-11-24T23:56:17 Make internal SDL sources include SDL_internal.h instead of SDL_config.h The new header will include SDL_config.h, but allows for other global stuff.
Ryan C. Gordon 5e74299a 2013-10-20T15:40:20 Fix adding of XInput devices (thanks, Mitchell!) Partially fixes Bugzilla #2126.
Sam Lantinga 7ad441a3 2013-10-17T23:40:13 Fixed bug 2069 - Device addition/removal queries all USB devices rather than only HID devices. Andreas Ertelt SDL_dxjoystick.c is setting the classguid for device (dis)connect events to USB Devices in general: dbh.dbcc_classguid = GUID_DEVINTERFACE_USB_DEVICE; Wouldn't it make more sense to have it just subscribe to Hid device events? This would mean less meaningless events reaching the application.
Sam Lantinga 12ca3ce3 2013-10-17T23:02:29 Fixed building using MinGW Our SDL_windows.h needed to be included before anything else so UNICODE is defined.
Sam Lantinga f79fc33a 2013-08-29T08:29:21 Christoph Mallon: Remove pointless if (x) before SDL_free(x)
Ryan C. Gordon 257cef30 2013-08-28T22:09:17 Change order we enumerate Windows joysticks. Make it so XInput devices are listed before DirectInput devices, and that the XInput devices are sorted by userid in ascending numeric order (so device 0 comes first).
Ryan C. Gordon ea4350d8 2013-08-28T22:07:54 Don't corrupt XInput device state during SDL_SYS_JoystickClose().
Ryan C. Gordon aa652114 2013-08-28T17:17:21 Make XInput joystick names match the numbers on the device. (And how the Haptic code already names them.)
Ryan C. Gordon 4b255c63 2013-08-28T16:43:47 Reworked XInput and DirectInput joystick code. Now multiple XInput controllers map correctly to device indexes instead of grabbing the first available userid, and are completely separated out from DirectInput. Also, the hardcoded limitation on number of DirectInput devices is gone. I don't expect there to really ever be more than eight joysticks plugged into a machine, but it was a leftover limitation for a static array we didn't actually use anymore. Fixes Bugzilla #1984. (etc?)
Ryan C. Gordon c89e0469 2013-08-28T16:35:32 Better XInput detection code for DirectInput device enumeration. This code is way faster than the Wbem code, and less ugly.
Sam Lantinga cd27a1ef 2013-08-21T12:12:04 Fixed compiling on old versions of the DirectX SDK
Sam Lantinga 9faefccd 2013-08-21T10:32:04 SDL - detect that you tried to open a gamecontroller in xinput mode and failed, then re-get the mapping for the dinput variant you did open (and most likely now just fail the open) CR: SamL
Sam Lantinga 05d8c2dc 2013-08-21T10:31:44 Fix SDL xinput code to work at all when xinput has devices at high indexes but no device connected at lower index, for instance 0->disconnected, 1->wireles, 2->wired. Previously the SDL code assumed the indexes were always used up in order which is not true at all and lead to a bunch of failure cases where controllers would go unrecognized. This entire function is kind of a mess and more complicated than needed, but I don't want to refactor it too heavily tonight. May look at improving how the indexes are assigned more significanly later. The way it handles not finding a valid "gamepad" type device is also super broken, it leaves in place the xinput bindings but opens the controller with dinput and ends up with completely wrong mappings, not solving that now, but fixing the bug where we'd very frequently not find a controller due to gaps in assigned player numbers should mostly avoid it.
Gabriel Jacobo 552b04c5 2013-08-20T20:34:40 More non C89 compliant comments
Gabriel Jacobo dad42067 2013-08-12T11:13:50 Fixes #2022, do not resume on Android when surfaceChanged If the app is in landscape mode and the user presses the power button, a pause is followed immediately by a surfaceChanged event because the lock screen is shown in portrait mode. This triggers a "false" resume. So, we just pause and resume following the onWindowFocusChanged events. Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before blocking the event pump.
Sam Lantinga 1ad936eb 2013-08-11T19:56:43 Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow() Rainer Deyke I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.