Commit graph

21 commits

Author SHA1 Message Date
Ryan C. Gordon 162ef5eae9 Cleanups in the joystick code.
Removed some redundant state and other confusions.

Fixes Bugzilla #2738.
2015-03-24 13:52:01 -04:00
Ryan C. Gordon 4a071b311b Mac: patched to compile with haptic subsystem disabled (thanks, Rodrigo!).
Fixes Bugzilla #2717.
2015-03-24 03:24:57 -04:00
Ryan C. Gordon 54f4725a12 Ran hardcoded game controller database through sort_controllers.py. 2015-03-24 02:48:16 -04:00
Ryan C. Gordon a300a73501 Added Logitect RumblePad 2 controller mapping for Linux (thanks, Nicholas!).
Fixes Bugzilla #2091.
2015-03-24 02:47:25 -04:00
Philipp Wiesemann da843f6a8d Updated internal documentation comments. 2015-03-11 21:14:21 +01:00
Alfred Reynolds d34d608e59 SDL
- fix crash on OSX when removing a device. If the remove happened due to the CFRunLoopRunInMode call in SDL_SYS_JoystickDetect then we would delete the device right away, before SDL_SYS_JoystickUpdate could clean it up. So move the CFRunLoopRunInMode to after the cleanup logic, preventing this case. This does mean that adds and removes of joysticks now take 1 extra frame to show up.
2015-03-02 11:43:24 -08:00
Philipp Wiesemann 8321efba33 Emscripten: Fixed out of range joystick device index after joystick disconnect.
After disconnecting a joystick the remaining kept their original device index.
This was not correct because the device index must be a number between 0 and
SDL_NumJoysticks(). It was fixed with ideas from SDL's joystick implementation
for Android. Some range checks were removed as the caller already checks them.
2015-02-22 23:21:32 +01:00
Philipp Wiesemann 5c43207fad Emscripten: Fixed sending button and motion events for not opened joysticks.
SDL_SYS_JoystickUpdate() was implemented incorrectly. For every call to it all
attached joysticks were checked. But actually only the given SDL_Joystick should
be checked then. This allowed sending broken events for attached but not opened
joysticks. It also checked the opened joysticks more often than actually needed.
2015-02-22 21:00:35 +01:00
Ryan C. Gordon 201868156e Mac OS X: Better way to stop duplicate joystick reports (thanks, Kyungdahm!).
Fixes Bugzilla #2822.
2015-02-19 23:52:10 -05:00
Philipp Wiesemann 6dda14c0d8 Emscripten: Fixed receiving joystick events after failed init or subsystem quit.
The callbacks used to receive the HTML events were not removed if the joystick
subsystem initialization failed or if the joystick subsystem was quit. Also, the
already connected joysticks were not deleted if the initialization failed later.
2015-02-18 21:34:07 +01:00
Philipp Wiesemann 052720f7d5 Emscripten: Removed unused internal function. 2015-02-15 21:47:10 +01:00
Philipp Wiesemann bd2d014645 Emscripten: Changed return type of callback implementations from int to EM_BOOL.
The prototypes are declared with EM_BOOL (which is currently an int) in html5.h.
2015-02-15 21:44:36 +01:00
Philipp Wiesemann 2ef8b1a76f Emscripten: Fixed sending SDL_JOYDEVICEADDED events with an index out of range.
SDL_JOYDEVICEADDED events must contain the device index which is a value between
0 and the number of connected joysticks. The old implementation included a value
based on the instance id instead. It worked in some cases because the values are
similar initially. But after disconnecting joysticks this is no more the case
and the always increasing instance id becomes larger than number of joysticks.
2015-02-14 15:22:04 +01:00
Philipp Wiesemann 3941848838 Emscripten: Deactivated and corrected debug log messages on joystick events. 2015-02-14 15:16:41 +01:00
Philipp Wiesemann c5179c6acf Emscripten: Fixed not including SDL_internal.h. 2015-02-14 00:13:00 +01:00
Philipp Wiesemann 86f87bf755 Added missing guards in implementation for PSP.
Thanks to Martin Gerhardy for pointing this out.
2015-01-31 22:45:54 +01:00
Philipp Wiesemann d036ad84ae Added missing include statements in implementation for PSP.
SDL_internal.h should be included to support dynamic API and fix warnings.
2015-01-31 22:43:05 +01:00
Philipp Wiesemann f4b7cf6e81 Fixed including SDL_config.h in implementation for Android.
SDL_internal.h should be included to support dynamic API.
2015-01-31 21:02:56 +01:00
Sam Lantinga a725806662 Fixed game controller hotplug support for some embedded Linux devices
When guessing the device class, it ends up being 0 for devices that have been removed (because the device node no longer exists)
2015-01-29 13:33:53 -08:00
Sam Lantinga 0874eb9713 Add binding layout for Xbone pad. 2015-01-29 13:33:20 -08:00
Philipp Wiesemann b48e54aafe Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla

The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c.

I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
2015-01-26 22:00:29 +01:00