Simple Directmedia Layer
Go to file
Sam Lantinga 56b7f4cf31 Fixed bug 4583 - PollAllValues appears to use an incorrect index for all axes above 0x18
Noam Preil

In src/joystick/linux/SDL_sysjoystick.c:

The ConfigJoystick function's axes detection starts with a for loop using an index i for Linux's axes names. When i gets to ABS_HAT0X, it's set to ABS_HAT3Y and a continue statement appears, to skip the hats. This makes sense, as SDL handles hats separately from axes.

However, in PollAllValues, *two* indices are used: a and b. Both start out the same, and remain so until the hats are reached. At that point, a becomes identical to the i from ConfigJoystick's loop, but b is equal to a - (ABS_HAT3Y - ABS_HAT0X), or a - 8.

While all the joystick->hwdata->abs_* structures in ConfigJoystick used i - which would here be a - as both the index and the ioctl argument, PollAllValues uses b for the structure index and a as the ioctl argument.

It would appear, however, that no joystick HAS such axes, and that the b index is entirely unnecessary.

I tested three separate joysticks, and while that was far from a complete listing, I was unable to find a joystick with an axis above 0x08.
2019-06-08 14:40:27 -07:00
VisualC Fixed Visual Studio build 2019-03-16 19:46:37 -07:00
VisualC-WinRT Added display event files to the Visual Studio projects 2018-08-23 02:48:47 -07:00
Xcode Added support for building SDL as a dynamic library on iOS 2019-03-19 07:53:33 -07:00
Xcode-iOS Fixed bug 4603 - The iOS Test Xcode project file needs to add the metal framework 2019-06-08 14:29:05 -07:00
acinclude Added missing PKG_CONFIG macros 2019-03-16 17:39:15 -07:00
android-project Fixed hiding the Android virtual keyboard when the return key is pressed 2019-05-23 11:05:43 -07:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts Updated minimum supported Android version to API 16, to match latest NDK toolchain 2019-01-12 12:11:06 -08:00
cmake mir: Removed mir client support. 2018-11-02 21:34:17 -04:00
debian Updated copyright for 2019 2019-01-04 22:01:14 -08:00
docs Android: add hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE 2019-04-05 09:16:30 +02:00
include test: unify all the command line usage logging. 2019-05-28 17:39:13 -04:00
src Fixed bug 4583 - PollAllValues appears to use an incorrect index for all axes above 0x18 2019-06-08 14:40:27 -07:00
test test: unify all the command line usage logging. 2019-05-28 17:39:13 -04:00
visualtest test: unify all the command line usage logging. 2019-05-28 17:39:13 -04:00
wayland-protocols wayland: ask xdg-decoration protocol extension to use server-side decorations if possible. 2018-11-04 21:08:40 +01:00
.hgignore First pass on the new SDL sensor API 2018-08-21 12:11:34 -07:00
Android.mk Initial Android OpenSL ES implementation, contributed by ANTA 2019-01-12 12:18:44 -08:00
BUGS.txt BUGS.txt: Changed mailing list link to discourse.libsdl.org. 2017-04-01 00:05:25 -04:00
CMakeLists.txt Fixed bug 4593 - Respect CMake's BUILD_SHARED_LIBS default behavior 2019-06-08 14:36:03 -07:00
COPYING.txt Updated copyright for 2019 2019-01-04 22:01:14 -08:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt More HTTPS doc tweaks. 2017-02-16 16:59:07 -05:00
Makefile.in Add a configure option allowing users to choose whether to install sdl2-config 2019-04-07 23:01:07 +10:00
Makefile.minimal Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.os2 minor update to Makefile.os2, added a test/Makefile.os2. 2018-11-20 10:55:00 +03:00
Makefile.pandora Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.psp Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.wiz Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.txt readme: correct webpage URL to use HTTPS. 2017-02-16 13:30:34 -05:00
SDL2.spec.in Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
SDL2Config.cmake Fixed bug 3651 - CMake build does not install CMake package configuration 2017-08-09 19:03:10 -07:00
TODO.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
VisualC.html Fixed two typos in documentation. 2016-01-12 22:23:53 +01:00
WhatsNew.txt Android: add hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE 2019-04-05 09:16:30 +02:00
autogen.sh Don't use pushd/popd in autogen.sh; Ubuntu's /bin/sh doesn't support it. 2016-12-26 22:58:58 -05:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
configure Fixed bug 4655 - evdev is available on FreeBSD, check in 'configure' limited to Linux 2019-06-05 12:03:45 -07:00
configure.ac Fixed bug 4655 - evdev is available on FreeBSD, check in 'configure' limited to Linux 2019-06-05 12:03:45 -07:00
sdl2-config.cmake.in Applied Ubuntu patch bug_822210_fix_sdl2-config.cmake_whitespace.patch 2016-10-07 15:08:37 -07:00
sdl2-config.in Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
sdl2.m4 Fixed bug 4544 - SDL2.m4 SDL2.framework patch made it impossible to fail detection 2019-03-16 18:45:10 -07:00
sdl2.pc.in Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00

README.txt

                         Simple DirectMedia Layer

                                  (SDL)

                                Version 2.0

---
https://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)