Sam Lantinga
c49fa37c5b
Added SDL hints to filter the set of game controllers reported by SDL
2017-08-09 11:59:29 -07:00
Sam Lantinga
1eb92f6342
Implemented Linux joystick blacklist
...
Based on https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/generate_rules.py
This fixes a few devices that are not actually joysticks showing up as such in SDL
2017-04-06 06:30:43 -07:00
Sam Lantinga
763e138903
Added an API to get the joystick instance ID before opening the device: SDL_JoystickGetDeviceInstanceID()
2017-03-09 16:09:16 -08:00
Sam Lantinga
be28d7c88c
Added support for the Saitek Pro Flight X-56 Rhino
2017-01-31 12:30:55 -08:00
Sam Lantinga
6717a3d38d
Added support for the HOTAS Warthog throttle
2017-01-31 12:23:29 -08:00
Sam Lantinga
a156b0d994
Added the HOTAS Warthog as a flight stick
2017-01-31 10:20:09 -08:00
Sam Lantinga
95ab9dc73c
Added Thrustmaster Wheel FFB entry to the list of wheels
2017-01-27 06:05:50 -08:00
Sam Lantinga
3c90a52aa7
Added an API to get the type of a connected joystick
2017-01-27 05:59:58 -08:00
Sam Lantinga
8fa0b0889d
Added support for the 8Bitdo Zero GamePad
2017-01-20 08:13:23 -08:00
Sam Lantinga
4938c5054e
Added SDL_JoystickGetAxisInitialState() to get a joystick axis' initial value.
...
This is useful for controller mapping programs to determine an axis' zero state
2017-01-04 10:28:07 -08:00
Sam Lantinga
99e10ef506
Assume D-pad or thumbstick style axes are centered at 0
2017-01-04 07:06:48 -08:00
Sam Lantinga
d2a01b6e53
Added the NEXT SNES Controller to the list of zero-centered joysticks
2017-01-04 06:19:56 -08:00
Sam Lantinga
c7780497dc
Increased joystick jitter tolerance for PS3 controllers
2017-01-04 05:56:47 -08:00
Sam Lantinga
082132a70c
Fixed binding the D-pad on some Super NES style controllers
...
Fixed a case where partial trigger pull could be bound to another button
There is a fundamental problem not resolved by this commit:
Some controllers have axes (triggers, pedals, etc.) that don't start at zero, but we're guaranteed that if we get a value that it's correct. For these controllers, the current code works, where we take the first value we get and use that as the zero point and generate axis motion starting from that point on.
Other controllers have digital axes (D-pad) that assume a zero starting point, and the first value we get is the min or max axis value when the D-pad is moved. For these controllers, the current code thinks that the zero point is the axis value after the D-pad motion and this doesn't work.
My hypothesis is that the first class of devices is more common and that we should solve for that, and add an exception to SDL_JoystickAxesCenteredAtZero() as needed for the second class of devices.
2017-01-03 23:39:28 -08:00
Sam Lantinga
45b774e3f7
Updated copyright for 2017
2017-01-01 18:33:28 -08:00
Sam Lantinga
ca019dada5
Fixed issue where the throttle and other axes on racing wheels don't start at zero and show up as immediate input when the wheel is turned for the first time. Wait until they are actually moved before generating input from them.
2016-12-22 17:33:45 -08:00
Sam Lantinga
b4ea63ec2c
Fixed crash if there are multiple joysticks closed during the joystick update loop
2016-12-14 06:25:09 -08:00
Sam Lantinga
3b18c796ed
Fixed bug 3512 - Memory leak of SDL_Joystick axes_zero array
...
Benjamin Harris
Found with valgrind and confirmed in the 2.0.5 source code.
One-line fix in SDL_JoystickClose?
2016-12-09 01:29:52 -08:00
Sam Lantinga
a525017139
Protect the game controller API the same way the joystick API is protected from multi-threaded access
2016-12-08 10:13:45 -08:00
Philipp Wiesemann
a7655d77d1
Fixed warning about storing an unused value.
...
Found by buildbot.
2016-11-30 23:31:23 +01:00
Sam Lantinga
5220759f03
Made it safe to update joysticks from multiple threads, fixes crash in Steam
2016-11-29 05:04:42 -08:00
Sam Lantinga
e9983c7b0f
We are comparing 16-bit values
2016-11-24 11:53:23 -08:00
Sam Lantinga
b6542ab237
Fixed whitespace
2016-11-11 04:30:09 -08:00
Sam Lantinga
ac74e16cde
Standardized the format of the SDL joystick GUID and added functions to retrieve the USB VID/PID from a joystick and game controller.
2016-11-10 17:19:34 -08:00
Sam Lantinga
8bc5c57d2e
Fixed recentering triggers when the application doesn't have focus
2016-10-07 16:13:37 -07:00
Sam Lantinga
ad1bfea5a0
Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
...
Updated the removal code to iterate over all joystick add messages instead of just the first one.
2016-08-26 12:18:08 -07:00
Sam Lantinga
42065e785d
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
Ryan C. Gordon
e6ad29aec8
Added SDL_JoystickFromInstanceID() and SDL_GameControllerFromInstanceID().
2015-11-14 12:35:45 -05:00
Sam Lantinga
a0c4b56ff9
SDL - added new SDL_JoystickCurrentPowerLevel() API that returns the battery level of the selected joystick. Currently only implemented for XInput devices, other platforms are a TODO.
...
CR: Sam
2015-09-30 15:39:30 -07:00
Alex Szpakowski
2bf6f1bcb7
Added initial support for MFi game controllers on iOS.
2015-09-20 23:08:36 -03:00
Philipp Wiesemann
0e45984fa0
Fixed crash if initialization of EGL failed but was tried again later.
...
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02:00