src/joystick


Log

Author Commit Date CI Message
Ryan C. Gordon 2a2fb611 2014-03-18T12:53:01 Fixed PS4 game controller config on Windows.
Ryan C. Gordon 978566a6 2014-03-18T12:52:51 Whitespace fix.
Ryan C. Gordon 7eaf8997 2014-03-17T19:11:18 Fixed SDL_HapticOpenFromJoystick() with DirectInput devices.
Sam Lantinga ed02f61d 2014-03-13T00:40:08 Fixed the copyright date on files contributed by David Ludwig
Sam Lantinga 641ba099 2014-03-12T07:26:07 Fixed compiling Windows RT code on Visual Studio 2013
Sam Lantinga 1367bf87 2014-03-09T11:36:47 Integrated David Ludwig's support for Windows RT
Sam Lantinga 05c23063 2014-03-09T11:06:11 Fixed line endings on WinRT source code
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.
Sam Lantinga 63106e47 2014-03-01T12:21:15 Changed SDL_HINT_ACCEL_AS_JOY to SDL_HINT_ACCELEROMETER_AS_JOYSTICK to be more clear.
Sam Lantinga ab9345a8 2014-02-28T16:24:41 Null termnate the pUserMappings variable to prevent memory corruption.
Gabriel Jacobo 2ed47d83 2014-02-24T10:00:10 Fixes #2417, memory leak in SDL_gamecontroller.c (thanks Leonardo!)
Ryan C. Gordon 96f09df7 2014-02-23T01:24:46 Free the correct variable.
Ryan C. Gordon f9f2bc5a 2014-02-22T21:21:33 Fixed Mac DualShock 4 gamecontroller db entry again.
Ryan C. Gordon b67b970d 2014-02-22T21:15:34 Mac joystick: ignore duplicate HID elements. The DualShock 4 has all elements listed twice: once in the top-level list of elements, and once in an "Application Collection" element at the top-level. Each element has a proper cookie with a unique value, so now we descend into each element collections, but before we add an element to the device's list, we make sure we don't already have one with that cookie, probably from another collection or a buggy device.
Ryan C. Gordon 0deb54c0 2014-02-22T00:55:28 Reworked Mac OS X joystick code to use the 10.5+ HID Manager API. Besides being a little more simple to use than the earlier IOKit HID API, and less likely to be deprecated, it also has the added benefit of working with the Sony DualShock 4 controller in Bluetooth mode out of the box, whereas the previous API has a bug that makes it report bad data for the controller. Cleaned up several other things in this code, having gone over every line of it. The remaining deprecated calls are also gone.
Sam Lantinga 441f7d8d 2014-02-14T11:38:59 Fixed Mac PS4 controller entry, added Linux OUYA controller entry
Ryan C. Gordon f38c1f05 2014-02-10T12:47:26 Fixed DualShock 4 controller config on Mac OS X.
Sam Lantinga 8cabd44f 2014-02-09T03:09:04 Fixed the OUYA controller mapping on Windows
Sam Lantinga c8c3911e 2014-02-09T02:42:59 Added Windows entry for the bluetooth OUYA controller
Ryan C. Gordon c2f6ab0c 2014-02-06T21:28:11 Added DualShock 4 game controller config for Windows, Mac, and Linux.
Ryan C. Gordon e42d46b4 2014-02-06T07:37:20 Wired up haptic hotplugging for Windows DirectInput/XInput code.
Ryan C. Gordon 7f942688 2014-02-05T01:02:09 Cleanup some vi footer comments, rename new PRIVATE_* funcs to MacHaptic_*.
Edward Rudd b352698d 2014-02-04T18:17:16 Implement new backend methods for haptic and hot plugging on OS X
Sam Lantinga 58edac3e 2014-02-02T00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
dbrady 109fe0e0 2014-01-28T15:28:20 fixed hat code validation.
Philipp Wiesemann 62b17e7e 2014-01-29T00:27:54 Fixed comments in joystick implementation files claiming to be headers. It seems comments were originally copied from SDL_sysjoystick.h.
Gabriel Jacobo 33479316 2014-01-27T17:59:19 [Android] Fixes Bug 2370, don't send accelerometer changes when Android_JNI_GetAccelerometerValues return SDL_FALSE (thanks to Jairo Luiz)
Gabriel Jacobo 50befa62 2014-01-23T08:44:25 Bug 2358 - [Android] Joystick Button Mappings are strange (fix by David Brady)
Gabriel Jacobo b131e74b 2014-01-21T18:20:12 Fixes 2356, [Android] SDL_JoystickGetAttached does not function Also fix a potential NULL pointer access in android/SDL_SYS_JoystickGetGUID
David Ludwig ca867fc9 2013-12-25T14:42:38 WinRT: prevented a potential race condition in the XInput backend The race condition could've been triggered on device removal.
Philipp Wiesemann 54a1f61a 2013-12-25T17:02:15 Changed return -1 after SDL_SetError() to return SDL_SetError().
David Ludwig 3f1e3c30 2013-12-24T21:28:31 WinRT: moved ill-performing XInput device-detection calls to a separate thread
Philipp Wiesemann b97e077e 2013-12-24T20:00:58 Fixed unused local variable warning in joystick source for Android.
Philipp Wiesemann 28309c1d 2013-12-24T19:59:35 Fixed implicit declaration of SDL_Log() warning in joystick source for Android.
Sam Lantinga 03aece54 2013-12-23T15:10:03 Generate SDL_CONTROLLERDEVICEADDED events for controllers connected at startup
Gabriel Jacobo 2159de66 2013-12-12T14:55:33 [Android] Poll joysticks every three seconds
Gabriel Jacobo bfcd28c1 2013-12-10T16:24:11 [Android] Hotplugging support for joysticks
Ryan C. Gordon 090327e7 2013-12-09T16:03:18 Implemented the Dynamic API magic.
Sam Lantinga 4ab350d4 2013-12-06T09:13:31 Fixed detecting the wired XBox 360 controller on Linux Also added some more debug output to detect issues
Sam Lantinga c78476da 2013-12-06T08:24:00 Fixed compiler warning on Visual Studio
Gabriel Jacobo 5ac18134 2013-12-03T12:01:28 Adds SDL_GameControllerAddMappingsFromRW, updates controllermap SDL_GameControllerAddMappingsFromFile is now a convenience macro. controllermap can now skip bindings by pressing space or clicking/touching the screen.
Gabriel Jacobo 95ec90aa 2013-12-02T19:35:04 Adds controllermap utility to test suite.
Gabriel Jacobo 45ae148a 2013-12-02T19:34:08 Adds SDL_GameControllerAddMappingsFromFile
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
David Ludwig 46740a5a 2013-11-28T22:09:21 WinRT: merged with latest SDL 2.x/HG code SDL 2.x recently accepted patches to enable OpenGL ES 2 support via Google's ANGLE library. The thought is to try to eventually merge SDL/WinRT's OpenGL code with SDL-official's.
Sam Lantinga dee48135 2013-11-27T10:29:43 Added alternative XBox 360 controller GUID on Linux Leszek Godlewski As described in the other thread (http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-November/091997.html), I've run into a case of SDL2 not recognizing a wireless Xbox 360 controller receiver properly on Debian Linux amd64 testing. Apparently, the generated GUID is slightly different. Device in question: Bus 001 Device 015: ID 045e:0291 Microsoft Corp. Xbox 360 Wireless Receiver for Windows
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.
Philipp Wiesemann 2aa4974b 2013-11-23T18:29:36 Removed include of no more needed header.
Gabriel Jacobo 7a18a674 2013-11-23T09:47:25 [Android] Fixes #2264, handle joystick open/closed state properly
Gabriel Jacobo fdfea4ad 2013-11-19T10:00:05 [Android] Try to improve handling of DPAD|GAMEPAD + KEYBOARD devices It seems some devices report themselves as DPAD or GAMEPAD and KEYBOARD as well, and we need to route different keycodes to different parts of SDL.
Philipp Wiesemann 3cba7997 2013-11-18T23:43:15 Fixed unreachable return statement warning in gamecontroller source.
Philipp Wiesemann b5c68111 2013-11-18T23:38:59 Fixed implicit function declaration warning in joystick source for Android.
Ryan C. Gordon 00003e8c 2013-11-14T11:51:24 Renamed things named after BeOS to be named after Haiku instead.
Gabriel Jacobo 45a88b6a 2013-11-11T10:15:35 [Android] Fixes bug 2217, better joystick axes handling on Android.
Sam Lantinga b30e396b 2013-11-10T17:56:07 Fixed bug 1965 - Mac: dead code for supporting OS 10.4 Alex Szpakowski The new patch removes all the truly obsolete code I could find. I tested on OS 10.8 and OS 10.5.
Gabriel Jacobo d21640e9 2013-11-10T20:13:27 Fixes bugs #2213 and #2214, improves the Android joystick code button handling
Philipp Wiesemann 0ab7624c 2013-11-10T14:47:05 Changed function to return -1 through SDL_Error() instead of plain -1.
Philipp Wiesemann 82b3e7d2 2013-11-10T14:44:50 Changed function to be static. The function keycode_to_SDL() is only used in this file.
Philipp Wiesemann 6e3558cf 2013-11-10T14:42:41 Removed unused local variable to fix warning.
Sam Lantinga 33cf925c 2013-11-09T01:08:21 Fixed signed/unsigned warning
Sam Lantinga 7c7a9b7f 2013-11-08T14:05:19 Added a Linux game controller mapping for the Valve Streaming Gamepad
Sam Lantinga e3e24bde 2013-11-08T14:04:59 Make sure the joystick count is correct when the added and removed events are dispatched, in case someone is watching for them with an event filter.
Gabriel Jacobo e27248c2 2013-11-06T09:48:45 Fixes Bug 1944 - Linux events, joysticks having only hat are not read
Gabriel Jacobo 0b7c69fe 2013-11-05T20:07:39 Adds Joystick support for Android This bumps the build SDK level to 12 (up from 10). Runtime requirements remain the same (at API level < 12 joystick support is disabled). Also enables building SDL for armv7 and x86.
David Ludwig 69c5d21d 2013-10-27T21:26:46 WinRT: merged with SDL 2.0.1 codebase
Sam Lantinga b8b9bfbe 2013-10-21T01:16:16 Fixed some warnings building for 64-bit Windows
Sam Lantinga 85c2e236 2013-10-20T22:23:09 Fixed Y axis inversion on iOS; positive is up, negative is down.
Sam Lantinga 08fa8da7 2013-10-20T21:56:15 Fixed bug 2129 - fix for bug 2121 breaks linking for mingw and throws multiple warnings Andreas Ertelt The problem in question is caused by changeset 7771 (http://hg.libsdl.org/SDL/rev/5486e579872e / https://bugzilla.libsdl.org/show_bug.cgi?id=2121) The redefinition of __inline__ (introduced by the addition of begin_code.h:128's "|| __STRICT_ANSI__") results in mingw's gcc throwing multiple warning: always_inline function might not be inlinable [-Wattributes] as well as a whole bunch of redefinitions of mingw internals which break linking of projects including the SDL2 headers.
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 15682c0c 2013-10-10T20:58:20 Report joystick added/removed events even if we don't have udev. T. Joseph Carter As discussed (possibly to death), the Linux joystick driver does not actually report events for added or removed joysticks when you haven't got udev support. We simply cannot know about removed joysticks without udev. But we can (and we should) report adding them. This brings the legacy case in line with pretty much the rest of SDL's joystick drivers.
Sam Lantinga cca09422 2013-10-06T20:39:23 Only allocate a joystick instance ID once we know it's a joystick. This fixes compatibility with code that assumes 0 based joystick instance IDs.
Sam Lantinga 8f46bcfd 2013-10-06T13:49:23 Check for NULL joystick in SDL_JoystickGetGUID()
Sam Lantinga 90a219a3 2013-10-05T21:15:55 Fixed bug where a Logitech wireless keyboard with built-in mouse touchpad didn't get recongized as both devices.
Gabriel Jacobo 57e09318 2013-10-01T08:47:06 Uses SDL_UDEV for Linux joystick hotplugging
Sam Lantinga dc9ddf1f 2013-09-06T20:54:14 Fixed bug 2090 - Some joystick inputs are delayed on FreeBSD kikuchan Some joysticks with high sampling rate need to be read() more fast, otherwise it delay user inputs due to internal queue. Especially, an app that issues SDL_PollEvent() not so frequent
J?rgen P. Tjern? f06eeb01 2013-09-05T15:49:57 Fix to buffer overrun in SDL_JoystickGetGUIDString().
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.
David Ludwig f860141a 2013-08-27T12:33:36 WinRT: renamed "windowsrt" directories to "winrt"
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 5f8de2b9 2013-08-21T10:27:39 Patched to compile on Darwin
Gabriel Jacobo 695344d1 2013-08-21T09:43:09 OCD fixes: Adds a space before */
Gabriel Jacobo 552b04c5 2013-08-20T20:34:40 More non C89 compliant comments
Gabriel Jacobo 63fe3a77 2013-08-20T19:49:24 Fixes a few non C89 compliant comments
David Ludwig d41fdc94 2013-08-13T20:09:52 WinRT: build fixes and additional WinRT-related integrations with SDL 2.0.0
David Ludwig f7049b93 2013-08-12T22:29:55 WinRT: merged with SDL 2.0.0 codebase (aka. SDL hg rev d4ce48ff30d1)
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.