Commit graph

71 commits

Author SHA1 Message Date
Alex Szpakowski df98b11c47 Merged default into iOS-improvements 2015-04-06 15:26:37 -03:00
Sam Lantinga c5d9d1646f Added a game controller entry for the NVIDIA Controller 2015-04-01 18:22:42 -07:00
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
Alex Szpakowski 66867e654c Merged default into iOS-improvements 2015-01-24 23:58:07 -04:00
Philipp Wiesemann 2b53ffc77c Fixed wrong documentation in joystick implementation source. 2015-01-16 23:07:10 +01:00
Alex Szpakowski ea5d1a8a3f Merged default into iOS-improvements 2015-01-15 01:15:24 -04: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
Philipp Wiesemann f5fa9a59d0 Removed unused enumeration and constant from internal header file. 2014-12-31 21:00:32 +01:00
Ryan C. Gordon 16f3cbfc02 Cleaned up some compiler warnings. 2014-12-26 23:16:54 -05:00
Philipp Wiesemann f4dcc24698 Changed Emscripten entry in gamecontroller database to allow sorting by script. 2014-12-25 22:43:17 +01:00
Philipp Wiesemann 79b3221b0e Fixed compile warnings about unused variables.
Found by buildbot.
2014-12-25 22:03:07 +01:00
Ryan C. Gordon fe40a17224 Initial merge of Emscripten port!
With this commit, you can compile SDL2 with Emscripten
( http://emscripten.org/ ), and make your SDL-based C/C++ program
into a web app.

This port was due to the efforts of several people, including: Charlie Birks,
Sathyanarayanan Gunasekaran, Jukka Jyl?nki, Alon Zakai, Edward Rudd,
Bruce Mitchener, and Martin Gerhardy. (Thanks, everyone!)
2014-12-18 00:19:52 -05:00
David Ludwig 70438be272 WinRT: fixed bug whereby SDL would override an app's default orientation
WinRT apps can set a default, preferred orientation via a .appxmanifest file.
SDL was overriding this on app startup, and making the app use all possible
orientations (landscape and portrait).

Thanks to Eric Wing for the heads up on this!
2014-12-03 10:55:23 -05:00
Alex Szpakowski 0b02de757d Merged default into iOS-improvements 2014-11-15 22:59:16 -04:00
Philipp Wiesemann 37720dd5f2 Fixed gamecontroller database sorting script not sorting the whole database.
The script was originally written for an SDL_gamecontrollerdb.h which had groups
of mappings separated by single lines starting with a "#". This was changed some
time ago to #endif/#if pairs. Because the script assumed only a single #endif in
the whole file it no longer worked correctly and only processed the first group.
2014-10-29 22:44:35 +01:00
Philipp Wiesemann 2bdc5c9d7a Updated gamecontroller database sorting script to work with Python 3. 2014-10-29 20:35:21 +01:00
Alex Szpakowski fb6d185a8a Merged default into iOS-improvements 2014-10-28 18:36:29 -03:00
Philipp Wiesemann 7268eabb9b Added handling of NULL as input for SDL_GameControllerAddMapping(). 2014-10-26 23:28:45 +01:00
Philipp Wiesemann 33a2b58ca4 Fixed SDL_GameControllerMappingForGUID() crashing if no more memory available.
The return value of SDL_malloc() was not checked and NULL therefore not handled.
NULL returned by SDL_GameControllerMapping()/SDL_GameControllerMappingForGUID()
now either means "no mapping" (as before) or "no memory" (just crashed before).
2014-10-26 23:22:53 +01:00
Philipp Wiesemann 30d6cec1bb Added handling of NULL as input for SDL_GameControllerMapping().
For consistency with the similar functions getting SDL_GameController as input.
Also NULL is no SDL_GameController and therefore can not have a mapping anyway.
2014-10-26 17:53:16 +01:00
Philipp Wiesemann 90387dafb4 Removed two wrong documentation comments from gamecontroller source.
No replacement because correct documentation is already in SDL_gamecontroller.h.
2014-10-26 17:46:11 +01:00
Philipp Wiesemann 0a053ed66a Fixed wording in SDL_GameControllerAddMappingsFromRW() error message. 2014-10-26 17:44:00 +01:00
David Ludwig 1b341f5875 WinRT build fix 2014-10-15 15:50:35 -04:00
Alex Szpakowski 3071128deb Merged default into iOS-improvements 2014-09-10 18:10:37 -03:00
Pierre-Loup A. Griffais 24c86b5501 [X11] Reconcile logical keyboard state with physical state on FocusIn
since the window system doesn't do it for us like other platforms.

This prevents sticky keys and missed keys when going in and out
of focus, for example Alt would appear to stick if switching away
from an SDL app with Alt-Tab and had to be pressed again.

CR: Sam
2014-09-11 19:24:42 -07:00
Ryan C. Gordon 724d24d990 Mac: Don't add the same joystick twice if IOKit reports a duplicate device.
Fixes Bugzilla #2704.
2014-08-31 11:21:10 -04:00
Alex Szpakowski b1a0bd10a2 Merged default into iOS-improvements 2014-08-20 17:20:22 -03:00
Sam Lantinga 4fe43f408b Added an entry for the new Steam controller XInput emulation mode 2014-08-11 17:24:54 -07:00
Alex Szpakowski f5543f93b3 Updated the iOS backend code to use Objective-C's automatic reference counting (ARC). 2014-08-06 03:24:16 -03:00
Alex Szpakowski caad673f06 Added missing autorelease pool blocks in UIKit backend code. Fixes memory leak issues, especially in SDL_video. 2014-07-29 00:36:12 -03:00
Alex Szpakowski c81ce5a0a8 Minor fix for if SDL_JoystickInit is called more than once without a matching SDL_JoystickQuit. 2014-07-15 02:04:08 -03:00