Ethan Lee
cc665e2a57
hidapi: Add support for Wii U/Switch USB GameCube controller adapter.
...
Note that a single USB device is responsible for all 4 joysticks, so a large
rewrite of the DeviceDriver functions was necessary to allow a single device to
produce multiple joysticks.
2019-03-12 20:27:54 -04:00
Sam Lantinga
af32a2f4cd
Updated copyright for 2019
2019-01-04 22:01:14 -08:00
Sam Lantinga
678ba78382
Generalized the XInput user index into a player index
2018-10-25 16:53:14 -07:00
Sam Lantinga
0485c938d7
Added SDL_JoystickGetXInputUserIndex()
2018-10-25 12:54:42 -07:00
Ryan C. Gordon
20e362b11e
haiku: Patched to compile with new joystick interfaces.
2018-08-10 15:04:08 -04:00
Ryan C. Gordon
cf7dd1d52c
bsd: Update joystick code for new interfaces.
...
(this is an untested push to see if buildbot likes it.)
2018-08-10 14:42:40 -04:00
Ryan C. Gordon
0cd3f11834
emscripten: Patched to compile with new joystick interfaces.
2018-08-10 14:32:30 -04:00
Sam Lantinga
29023f51e8
Worked around bug with Sony PS Now PS3 controller where DirectInput polling will continue to return success after the controller is unplugged.
...
The code is now reliant on SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved() being called correctly when devices are added or removed on Windows
2018-08-09 16:03:50 -07:00
Sam Lantinga
db39b4811f
Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms.
...
Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
2018-08-09 16:00:17 -07:00
Sam Lantinga
1182588bae
Generalized the handling of instantaneous guide button presses so there's a minimum of 100 ms between guide button press and release.
...
This happens with at least the following controllers: All Apple MFI controllers, ASUS Gamepad, XiaoMi Bluetooth Controller
2018-03-19 14:42:51 -07:00
Sam Lantinga
b81da78518
Added SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it's opened
2018-03-07 13:30:40 -08:00
Sam Lantinga
f0be85b8b3
Try to dynamically create a default Android game controller mapping based on the buttons and axes on the controller.
...
Include the controller USB VID/PID in the GUID where possible, as we do on other platforms.
2018-03-06 14:51:50 -08:00
Sam Lantinga
346af016a5
Updated copyright for 2018
2018-01-03 10:03:25 -08:00
Sam Lantinga
7565396bf0
Added controller mapping for Android TV remotes
...
Also fixed the back button on the remote exiting the application
2017-11-01 10:06:58 -07:00
Sam Lantinga
3b03af8b7e
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
83061d091e
Added an API to get the type of a connected joystick
2017-01-27 05:59:58 -08:00
Sam Lantinga
724ff3b29e
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
40924be014
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
1b24bfad38
Updated copyright for 2017
2017-01-01 18:33:28 -08:00
Sam Lantinga
5ea622c38f
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
91e0a1d094
Renaming of guard header names to quiet -Wreserved-id-macro
...
Patch contributed by Sylvain
2016-11-20 21:34:54 -08:00
Sam Lantinga
dae32409e9
Patch from Sylvain to fix clang warnings
2016-11-13 22:57:41 -08:00
Sam Lantinga
c680df8746
Fixed recentering triggers when the application doesn't have focus
2016-10-07 16:13:37 -07:00
Sam Lantinga
7ee8dda270
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
Sam Lantinga
bf785c766b
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
Sam Lantinga
56b58afdbe
Updated the copyright year to 2015
2015-05-26 06:27:46 -07:00
Ryan C. Gordon
3ff618a9c7
Cleanups in the joystick code.
...
Removed some redundant state and other confusions.
Fixes Bugzilla #2738 .
--HG--
extra : rebase_source : 35dd561553379e00eb8d169ce12ecc99393b2f84
2015-03-24 13:52:01 -04:00
Philipp Wiesemann
bde0ce0969
Updated internal documentation comments.
2015-03-11 21:14:21 +01:00
Sam Lantinga
22f2713245
SDL_SYS_IsXInputGamepad_DeviceIndex() is only available if SDL_JOYSTICK_XINPUT is true.
2014-07-07 11:44:14 -07:00
Sam Lantinga
9cdeec59f3
Split the XInput and DirectInput code so Windows RT can use the existing XInput support.
...
--HG--
rename : src/audio/directsound/directx.h => src/core/windows/SDL_directx.h
rename : src/haptic/windows/SDL_syshaptic.c => src/haptic/windows/SDL_windowshaptic.c
rename : src/haptic/windows/SDL_syshaptic_c.h => src/haptic/windows/SDL_windowshaptic_c.h
rename : src/joystick/windows/SDL_dxjoystick.c => src/joystick/windows/SDL_dinputjoystick.c
rename : src/joystick/windows/SDL_dxjoystick_c.h => src/joystick/windows/SDL_dinputjoystick_c.h
rename : src/joystick/windows/SDL_dxjoystick_c.h => src/joystick/windows/SDL_windowsjoystick_c.h
2014-07-03 15:39:55 -07:00
Sam Lantinga
dc434901da
Fixed bug 2553 - Add support to all XInput devices
...
This adds support for all XInput devices, exposed through the SDL joystick API.
The button and axis reporting for XInput devices has been changed to match DirectInput and other platforms.
The game controller xinput mapping has been updated so this change is seamless.
There is a new hint, SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING, for any applications that have hardcoded the old xinput button and axis set. This hint will be removed in SDL 2.1.
2014-06-24 13:31:25 -07:00
Ryan C. Gordon
fbdde501ba
Removed SDL_SYS_JoystickNeedsPolling().
...
It was simpler to just have the polling (actually: hotplug detection)
functions return immediately if it's not an appropriate time to poll.
Note that previously, if any joystick/controller was opened, we would poll
every time anyhow, skipping this function.
2014-06-14 23:31:23 -04:00
Sam Lantinga
a7d2ebb8d6
Integrated David Ludwig's support for Windows RT
2014-03-09 11:36:47 -07:00
Sam Lantinga
d7940a513e
Fixed bug 2374 - Update copyright for 2014...
...
Is it that time already??
2014-02-02 00:53:27 -08:00
Ryan C. Gordon
82edee6971
Make internal SDL sources include SDL_internal.h instead of SDL_config.h
...
The new header will include SDL_config.h, but allows for other global stuff.
--HG--
extra : rebase_source : ddf4a4c0dc2c554b98c82700798f343cd91b16e3
2013-11-24 23:56:17 -05:00
David Ludwig
59df93166d
WinRT: merged with SDL 2.0.1 codebase
2013-10-27 21:26:46 -04:00
Sam Lantinga
54d87dfc28
SDL
...
- detect that you tried to open a gamecontroller in xinput mode and failed, then re-get the mapping for the dinput variant you did open (and most likely now just fail the open)
CR: SamL
2013-08-21 10:32:04 -07:00
David Ludwig
b919f57c12
WinRT: added preliminary joystick / game controller support (minus hotplugging)
2013-05-19 23:30:34 -04:00
Sam Lantinga
c02018f852
Fixed the joystick id usage in the joystick and game controller events.
2013-03-02 17:51:32 -08:00
Sam Lantinga
95dcfa4c28
Happy New Year!
2013-02-15 08:47:44 -08:00
Sam Lantinga
89ef9e3168
Changes from Alfred:
...
- rename JoystickGUID -> SDL_JoystickGUID
- change SDL_JoystickGetGUIDString to take the string as an arg, rather than doing a malloc
2012-12-11 11:54:32 -08:00
Sam Lantinga
03e08a6a79
Organized joystick hotplug code a bit.
...
Cleaned up names, return types, etc.
2012-11-27 00:58:12 -08:00
Sam Lantinga
86e0e26475
The XInput code is only available in the DirectInput joystick driver.
2012-11-26 23:50:12 -08:00
Sam Lantinga
968ccf93b1
Fixed iOS joystick support for new API
2012-11-26 21:11:28 -08:00
Sam Lantinga
34b88dfaae
Added hotplug joystick support and simplified game controller API, courtesy of Alfred Reynolds
2012-11-26 16:37:54 -08:00
Sam Lantinga
f380ecb137
Removed executable bit from source files
2012-09-27 14:35:28 -07:00
Sam Lantinga
028e5dcdbd
Happy New Year!
2011-12-31 09:28:07 -05:00
Sam Lantinga
b0660ba5ff
SDL 1.3 is now under the zlib license.
2011-04-08 13:03:26 -07:00
Sam Lantinga
e5803d148c
Happy 2011! :)
2011-02-11 22:37:15 -08:00
Sam Lantinga
4d3df8b3e3
Fixed bug #926
...
Updated copyright to LGPL version 2.1 and year 2010
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404453
2010-01-24 21:10:53 +00:00