No description
Find a file
Sam Lantinga 66d920a28a Fixed bug 3012 - Android accelerometer joystick axis values overflow when values from Android are larger than gravity
Magnus Bjerke Vik

This causes issues when for instance using the joystick API to make an Android phone rotate an object by rotating the phone. When the absolute value of an axis reported by android is larger than earth gravity, SDL will overflow the Sint16 value used for joystick axes, causing sporadic movements when close to the gravity. Just holding the phone so that e.g. Y points directly upwards will make it unstable, and even more if you just tap the phone gently from below (increasing the acceleration).

More detailed: SDLActivity gets the accelerometer values in onSensorChanged and divides each axis by earth gravity. SDL_SYS_JoystickUpdate takes each of the axis values, multiplies them by 32767.0 (largest Sint16), and the casts them to Sint16. From this you can see that any value from Android that exceeds earth gravity will overflow the joystick axis.

A fix is to clamp the values so that they won't overflow the Sint16.
2015-06-14 19:25:12 -07:00
acinclude Fix a libtool issue with some mingw-w64 cross compilers (thanks, Ozkan!). 2015-05-26 19:54:06 -04:00
android-project Android: Added deactivated intent filter for testing drop file support. 2015-06-05 19:40:50 +02:00
build-scripts WinRT: made sure build script generates Release-built binaries, by default 2015-06-14 20:15:36 -04:00
cmake configure/cmake/x11: Removed SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 test. 2015-06-08 01:13:51 -04:00
debian Updated the copyright year to 2015 2015-05-26 06:27:46 -07:00
docs Normalized endlines. 2015-06-08 03:07:24 -04:00
include Fixed bug 3009 - Cannot compile SDL2 on Windows 2015-06-13 10:47:55 -07:00
premake X11: Add Xdbe support to message boxes (thanks, Melker!). 2015-05-28 00:30:21 -04:00
src Fixed bug 3012 - Android accelerometer joystick axis values overflow when values from Android are larger than gravity 2015-06-14 19:25:12 -07:00
test Fixed not needed calculation in test program. 2015-06-04 17:52:27 +02:00
VisualC Only use explicit inlining - otherwise Visual Studio 2010 will inline SDL_zero(info) in SDL_vsnprintf() into a memset() call when compiling the Release x64 configuration. 2015-06-14 18:57:05 -07:00
VisualC-WinRT WinRT: enabled OpenGL ES 2 support on Windows Phone 2014-11-02 10:32:25 -05:00
visualtest Updated the copyright year to 2015 2015-05-26 06:27:46 -07:00
Xcode Updated the copyright year to 2015 2015-05-26 06:27:46 -07:00
Xcode-iOS Fixed building test programs on the iOS simulator 2015-05-28 18:57:57 -07:00
.hgignore Ignore some more test binaries. 2015-04-10 22:31:52 -05:00
.hgtags Added tag release-2.0.3 for changeset 704a0bfecf75 2014-03-15 19:31:20 -07:00
Android.mk Android: Replaced spaces with tab in Android.mk file. 2015-05-06 21:11:06 +02:00
autogen.sh Need to generate aclocal.m4 when rebuilding configure, but we don't need to check it in. 2013-05-26 16:01:40 -07:00
BUGS.txt Credits were truncated in a previous commit. 2013-05-27 21:44:16 -07:00
cmake_uninstall.cmake.in Add suport for "make uninstall" to cmake. 2014-06-16 10:58:09 -03:00
CMakeLists.txt Fixed bug 3009 - Cannot compile SDL2 on Windows 2015-06-13 10:47:55 -07:00
configure Updated configure script. 2015-06-08 01:17:58 -04:00
configure.in configure/cmake/x11: Removed SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 test. 2015-06-08 01:13:51 -04:00
COPYING.txt Updated the copyright year to 2015 2015-05-26 06:27:46 -07:00
CREDITS.txt Added Julian Winter to the credits for the SDL 2.0 website. 2013-08-12 08:45:37 -07:00
INSTALL.txt Moved documentation to docs, recreated a simple README.txt, fixed build 2014-07-29 08:04:15 -07:00
Makefile.in Make autoconf-based build quiet by default. 2014-06-19 00:40:09 -04:00
Makefile.minimal Added SDL_GetBasePath() and SDL_GetPrefPath() in new filesystem module. 2013-08-20 19:57:11 -04:00
Makefile.pandora Added SDL_GetBasePath() and SDL_GetPrefPath() in new filesystem module. 2013-08-20 19:57:11 -04:00
Makefile.psp Added SDL_GetBasePath() and SDL_GetPrefPath() in new filesystem module. 2013-08-20 19:57:11 -04:00
Makefile.wiz
README-SDL.txt Moved documentation to docs, recreated a simple README.txt, fixed build 2014-07-29 08:04:15 -07:00
README.txt Moved documentation to docs, recreated a simple README.txt, fixed build 2014-07-29 08:04:15 -07:00
sdl2-config.in Revert fix for bug 1392 because it breaks linking with mingw32 2013-10-21 10:28:57 -07:00
sdl2.m4 Fixed bug 1976 - SDL2.m4 shares same variables as SDL.m4 so they cache values 2013-07-21 11:52:16 -07:00
sdl2.pc.in Revert fix for bug 1392 because it breaks linking with mingw32 2013-10-21 10:28:57 -07:00
SDL2.spec.in Fixed docs path in RPM .spec file. 2015-06-04 19:05:01 -04:00
TODO.txt Added __WINDOWS__ to reflect both 32 and 64-bit windows platforms 2013-10-20 20:41:30 -07:00
VisualC.html Fixed nesting of HTML elements in documentation. 2014-06-09 17:37:59 +02:00
WhatsNew.txt Updated WhatsNew.txt for 2.0.4 2015-06-13 13:19:31 -07:00

                         Simple DirectMedia Layer

                                  (SDL)

                                Version 2.0

---
http://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed
to provide low level access to audio, keyboard, mouse, joystick, and graphics
hardware via OpenGL and Direct3D. It is used by video playback software,
emulators, and popular games including Valve's award winning catalog
and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting
with README.md

Enjoy!
	Sam Lantinga				(slouken@libsdl.org)