|
49f846f1
|
2017-07-11T19:27:50
|
|
Added support for an XBox One wired controller for Leo L?nnenm?ki
|
|
22c221f3
|
2017-06-11T22:30:58
|
|
linux: Changed internal functions to be static.
|
|
871d43a8
|
2017-06-08T22:40:09
|
|
Removed unused hint includes.
|
|
4b47fa38
|
2017-06-04T23:15:47
|
|
Removed duplicate includes.
|
|
cc5b4f45
|
2017-05-12T23:01:17
|
|
emscripten: Changed internal functions to be static.
|
|
60f28484
|
2017-05-07T21:02:46
|
|
haiku: Fixed crash on quit if max number of joysticks was connected.
|
|
d7cd6537
|
2017-04-27T15:52:37
|
|
Added Steam Controller mappings for Linux and iOS
|
|
27023ed2
|
2017-04-07T03:39:43
|
|
Added support for the Cyborg V.3 Rumble Pad and the Mad Catz FightPad PRO
|
|
1eb92f63
|
2017-04-06T06:30:43
|
|
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
|
|
53f3786b
|
2017-04-04T08:43:44
|
|
Added support for a number of game controllers, including the Nintendo Switch Pro Controller
|
|
00da0824
|
2017-03-23T13:53:09
|
|
Updated axis/button mapping for Dualshock 3, for upcoming Sony driver changes
|
|
763e1389
|
2017-03-09T16:09:16
|
|
Added an API to get the joystick instance ID before opening the device: SDL_JoystickGetDeviceInstanceID()
|
|
ca0bf151
|
2017-03-03T16:38:17
|
|
Fix some more compiler warnings on armcc.
|
|
a9762551
|
2017-02-20T11:02:35
|
|
Added config for the Razer Wildcat on Mac OS X
|
|
9428ff19
|
2017-02-17T17:46:58
|
|
Added support for the Razer Wildcat on Linux
|
|
8eee82cd
|
2017-02-03T23:30:43
|
|
Windows: Fixed warning about unused variable.
Found by buildbot.
|
|
710ae62a
|
2017-02-02T17:33:40
|
|
Remember XInput controllers that we've already seen, so when the raw device list changes we don't assign the old device to the new XInput userid.
This isn't perfect, but at least we won't report the same device twice.
|
|
8f78f5bb
|
2017-02-02T16:56:02
|
|
Fixed build on Apple TV
|
|
be28d7c8
|
2017-01-31T12:30:55
|
|
Added support for the Saitek Pro Flight X-56 Rhino
|
|
6717a3d3
|
2017-01-31T12:23:29
|
|
Added support for the HOTAS Warthog throttle
|
|
a156b0d9
|
2017-01-31T10:20:09
|
|
Added the HOTAS Warthog as a flight stick
|
|
d0247368
|
2017-01-27T18:06:50
|
|
Sorted controller entries
|
|
95ab9dc7
|
2017-01-27T06:05:50
|
|
Added Thrustmaster Wheel FFB entry to the list of wheels
|
|
3c90a52a
|
2017-01-27T05:59:58
|
|
Added an API to get the type of a connected joystick
|
|
aa90b730
|
2017-01-26T21:25:05
|
|
Add a mapping for Xbox Wireless Controllers running old firmware
Also updates the naming of these Xbox Wireless Controllers connected via USB (and thus the third-party Xbox Controller Driver) to match.
The Xbox Wireless Controller entries are now listed, in order, via USB, bia Bluetooh (with older firmware) and via Bluetooth (with firmware 3.1.1221.0).
|
|
ae5e9a31
|
2017-01-25T22:24:54
|
|
Add gamecontrollerdb mapping for Xbox One S on Mac
This is valid for firmware version 3.1.1221.0; earlier versions of the
firmware need a different mapping (and have different GUIDs).
|
|
ca89d9b5
|
2017-01-25T22:22:05
|
|
Darwin: fix detection of Xbox One S controller
Firmware revision 3.1.1221.0 changes the mapping of the Xbox One S
controller in Bluetooth mode. Aside from changing the layout of
other buttons, this revision also changes the triggers to act as
Accelerator and Brake axes from the simulation controls page.
The Darwin sysjoystick code didn't previously map anything at these
axes, making it impossible to detect input on these two buttons.
|
|
8fa0b088
|
2017-01-20T08:13:23
|
|
Added support for the 8Bitdo Zero GamePad
|
|
f3540242
|
2017-01-18T12:19:57
|
|
Removed unused variable
|
|
b0c5ceef
|
2017-01-18T12:18:50
|
|
Fixed bug 3533 - Enumeration joystick devices omitted during directinput enumeration
white.magic
The logic which decides if a device enumerated via the direct input system in the function EnumJoysticksCallback in SDL_dinputjoystick.c is processed is discarding valid joystick devices due to the assumption that devices of the type DI8DEVTYPE_SUPPLEMENTAL are not valid devices.
This change was added with 2.0.4 with this commit http://hg.libsdl.org/SDL/rev/1b9d40126645 that is linked to this bug report https://bugzilla.libsdl.org/show_bug.cgi?id=2460 which indicates that in that case devices of the type DI8DEVTYPE_SUPPLEMENTAL were not desirable as they caused a singular device to emit multiple "device added" events.
Since then there appear to have been a few fixes to handle devices that fall into various other classes in the following two commits:
http://hg.libsdl.org/SDL/rev/10ffb4787d7a and http://hg.libsdl.org/SDL/rev/6a2bbac05728
Two devices I have reports of failing to be listed when the DI8DEVTYPE_SUPPLEMENTAL type is excluded are ECS Gametric Throttle and Thrustmaster MFD Cougar.
Sam Lantinga
I verified that the OUYA controller shows up as a single device with this change, so I've reverted the change to ignore supplemental devices, leaving framework in place to easily add devices that we want to ignore.
|
|
5cb1ca55
|
2017-01-18T11:57:27
|
|
Fixed building with mingw32
|
|
1e482095
|
2017-01-14T21:36:06
|
|
Fixed comments.
|
|
61a3ba30
|
2017-01-07T17:09:14
|
|
Replaced a few single-line "//" comments.
|
|
267c9509
|
2017-01-07T13:47:34
|
|
Added mappings for the 8Bitdo NES30 Pro and iBuffalo SNES Controller
Also swapped the Wii U Pro controller button mappings to position instead of label, as emulators expect from XBox controllers.
|
|
e6e6613c
|
2017-01-05T02:53:29
|
|
Fixed build warning on Haiku
|
|
4938c505
|
2017-01-04T10:28:07
|
|
Added SDL_JoystickGetAxisInitialState() to get a joystick axis' initial value.
This is useful for controller mapping programs to determine an axis' zero state
|
|
99e10ef5
|
2017-01-04T07:06:48
|
|
Assume D-pad or thumbstick style axes are centered at 0
|
|
26f84d74
|
2017-01-04T06:21:17
|
|
Added mappings for several GameCube and SNES controllers
|
|
d2a01b6e
|
2017-01-04T06:19:56
|
|
Added the NEXT SNES Controller to the list of zero-centered joysticks
|
|
c7780497
|
2017-01-04T05:56:47
|
|
Increased joystick jitter tolerance for PS3 controllers
|
|
082132a7
|
2017-01-03T23:39:28
|
|
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.
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
af263798
|
2016-12-28T20:10:48
|
|
Fixed crash if allocating memory for game controller failed.
|
|
cb8685c0
|
2016-12-27T02:04:38
|
|
Fixed comment style
|
|
6d7da088
|
2016-12-27T01:39:07
|
|
Split controller axes into positive and negative sides so each can be bound independently.
Using this a D-Pad can be mapped to a thumbstick and vice versa.
Also added support for inverted axes, improving trigger binding support
|
|
b4e069e7
|
2016-12-26T02:12:21
|
|
Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes
felix
Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like:
/usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes]
extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings();
^~~~~~
It seems there is a missing 'void' between the parentheses.
|
|
3e928451
|
2016-12-23T20:36:24
|
|
Windows: Fixed compile error.
|
|
4fc0fe1f
|
2016-12-23T02:23:44
|
|
Removed debug print statements
|
|
ad26769c
|
2016-12-22T18:43:00
|
|
Fixed compile errors on various platforms
|
|
ca019dad
|
2016-12-22T17:33:45
|
|
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.
|
|
b4ea63ec
|
2016-12-14T06:25:09
|
|
Fixed crash if there are multiple joysticks closed during the joystick update loop
|
|
d6bcec8f
|
2016-12-10T15:23:17
|
|
WinRT: build fixes
These fixes are lumped into two categories:
1. add new file, SDL_dataqueue.c, to UWP/WinRT build-inputs (via MSVC project
files)
2. implement a temporary, hack-fix for a build error in SDL_xinputjoystick.c.
Win32's Raw Input APIs are, unfortunately, not available for use in UWP/WinRT
APIs. There does appear to be a replacement API, available in the
Windows.Devices.HumanInterfaceDevice namespace.
This fix should be sufficient to get SDL compiling again, without affecting
Win32 builds, however using the UWP/WinRT API (in UWP/WinRT builds) would
almost certainly be better (for UWP/WinRT builds).
TODO: research Windows.Devices.HumanInterfaceDevice, and use that if and as
appropriate.
|
|
b936a4c3
|
2016-12-09T04:57:54
|
|
Added support for the XiaoMi Game Controller
|
|
3b18c796
|
2016-12-09T01:29:52
|
|
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?
|
|
a5250171
|
2016-12-08T10:13:45
|
|
Protect the game controller API the same way the joystick API is protected from multi-threaded access
|
|
1b08f0c1
|
2016-12-07T11:41:20
|
|
Added the guide button for the NVIDIA Shield Controller
|
|
acabb5d5
|
2016-12-06T14:22:28
|
|
Added support for XBox One controllers on Mac OS X, using the driver at: https://github.com/360Controller/360Controller/releases
|
|
264138cc
|
2016-12-03T08:39:21
|
|
Added support for the Hori Fighting Commander 4
|
|
e7efcfba
|
2016-12-03T00:40:13
|
|
Added Linux mapping for the DragonRise Inc. Generic USB Joystick
|
|
26f05ecb
|
2016-12-02T02:25:12
|
|
Fixed missing prototypes on Android, patch from Sylvain
|
|
a738a6fb
|
2016-12-01T07:31:08
|
|
Added Linux controller mapping for the Nostromo n45 Dual Analog Gamepad
|
|
a7655d77
|
2016-11-30T23:31:23
|
|
Fixed warning about storing an unused value.
Found by buildbot.
|
|
cb8748b7
|
2016-11-30T12:58:03
|
|
Fixed the controller mappings for the OUYA controller
|
|
5fcf2577
|
2016-11-30T12:34:50
|
|
Added PS4 controller entries for the new Sony HID driver
https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/log/?h=for-4.10/sony
|
|
663afa91
|
2016-11-30T12:25:19
|
|
Added support for the DS4 USB Wireless Adaptor
|
|
d834c08a
|
2016-11-29T22:02:37
|
|
Add the controller mappings to the linked list in order
|
|
dd5d85a4
|
2016-11-29T06:36:57
|
|
Added an API to iterate over game controller mappings
|
|
5220759f
|
2016-11-29T05:04:42
|
|
Made it safe to update joysticks from multiple threads, fixes crash in Steam
|
|
2f6ba615
|
2016-11-24T12:24:22
|
|
Guess the USB VID/PID of XInput devices
|
|
e9983c7b
|
2016-11-24T11:53:23
|
|
We are comparing 16-bit values
|
|
5232b8e9
|
2016-11-23T06:54:19
|
|
Fixed XBox One S controller mapping for firmware revision 3.1.1221.0, including back and guide buttons
|
|
aa03b9d7
|
2016-11-22T22:14:28
|
|
The XBox One S controller sends keys outside the standard joystick button range
|
|
6558ecdb
|
2016-11-22T04:42:07
|
|
Added mapping for XBox One S controller firmware version 3.1.1221.0
|
|
36156335
|
2016-11-20T21:34:54
|
|
Renaming of guard header names to quiet -Wreserved-id-macro
Patch contributed by Sylvain
|
|
eb9cc030
|
2016-11-19T23:27:37
|
|
Fixed two memory leaks if added game controller mapping has lower priority.
Found by buildbot.
|
|
97aa5775
|
2016-11-16T22:08:51
|
|
Fixed empty parameter list in signatures of internal functions.
|
|
57d01d7d
|
2016-11-13T22:57:41
|
|
Patch from Sylvain to fix clang warnings
|
|
23c01c18
|
2016-11-11T13:29:23
|
|
Fixed bug 3079 - Allow non destructive SDL_GameControllerAddMappingsFromFile
x414e54
It is a bit of a pain to update the library or rely on whatever version the user has on their computer for default mappings.
So providing an easily updatable text file via SDL_GameControllerAddMappingsFromFile is still currently the most viable way. However using this replaces all mappings provided by the SDL_HINT_GAMECONTROLLERCONFIG environment variable which may have come from the user's custom Steam mapping.
There should be an easy way for games to supply extra game controller mappings to fill in the differences between SDL versions without it clobbering the SDL_HINT_GAMECONTROLLERCONFIG environment variable.
Internally the mappings could use a priority system and if the priority is lower then it will not overwrite the mappings.
For now it just assumes SDL_HINT_GAMECONTROLLERCONFIG is the highest priority, the default hardcoded are the lowest and anything set via the API is medium.
|
|
160e7194
|
2016-11-11T04:35:06
|
|
Fixed whitespace and added code to support older game controller GUIDs
|
|
b6542ab2
|
2016-11-11T04:30:09
|
|
Fixed whitespace
|
|
47418f2d
|
2016-11-11T03:35:37
|
|
Updated Windows game controller support
|
|
801a9eaf
|
2016-11-11T04:06:00
|
|
Updated Mac OS X game controller support
|
|
0cc6207c
|
2016-11-10T18:53:29
|
|
Added Linux entries for the Logitech Dual Action game controller
|
|
ac74e16c
|
2016-11-10T17:19:34
|
|
Standardized the format of the SDL joystick GUID and added functions to retrieve the USB VID/PID from a joystick and game controller.
|
|
acae3ebf
|
2016-11-02T02:50:27
|
|
Added mapping for the PS3 controller in Bluetooth mode
|
|
ae8ca7c5
|
2016-10-17T22:09:22
|
|
Fixed bug 3444 - Android-TV: no more handling of back button on remote
ny00
Unfortunately, simply checking the return codes of "onNativePadDown/Up" as previously done has its own issue:
If an SDL joystick is connected *and* opened, then a proper KeyEvent, say with keycode KEYCODE_BUTTON_1, should lead to an SDL joystick button event as expected.
If, however, the joystick was *not* opened, then "onNativePadDown/Up" will return a negative value, so before the commit from bug 3426, you could unexpectedly get a keyboard event. (In practice, you'll just get a log message, since KEYCODE_BUTTON_1 has no mapping to a proper SDL_ScanCode value, but it's still an problem).
What should still be done, though, is checking the key code itself. We do have the KeyEvent.isGamepadButton method, but according my test, it returns "true" exactly (and only) for the KEYCODE_BUTTON* values, and not for KEYCODE_DPAD* or any other key code.
Here is a possible solution:
- Do check the return codes of "onNativePadDown/Up" as previously done.
- In addition, in "Android_OnPadDown/Up" from src/joystick/android/SDL_sysjoystick.c, 0 should *always* be returned in case the key code can be translated to an SDL_joystick button; Even if no matching joystick can be found.
|
|
c0578f92
|
2016-10-16T22:46:56
|
|
Linux: Removed not needed platform info from entry in controller database.
|
|
3f167a5a
|
2016-10-13T02:19:23
|
|
Added support for the PS4 Slim controller, model CUH-ZCT2U
|
|
27d4f099
|
2016-10-07T23:40:44
|
|
Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
|
|
89abbbfe
|
2016-10-07T18:24:34
|
|
Fixed bug 3438 - SDL_GameControllerEventWatcher: Log on event with value >= k_nMaxReverseEntries
|
|
24df68ea
|
2016-10-07T16:32:58
|
|
Fixed bug 2833 - Access Violation on SDL_PollEvent after init, delay and quit of joystick subsystem
Jan Klass
Not sure if this is limited to the joystick subsystem,
but I created a minimal program for reproducibility,
which is attached.
The issue occurs with my gamepad Razer Onza (an xbox-style gamepad) plugged in.
On initialization, the gamepad is being recognized.
After quitting the subsystem, the poll will receive the joystick added event,
which it instantly handles itself, calling SDL_SYS_JoystickDetect again,
which this time calls IDirectInput8_EnumDevices with dinput = NULL (after it was released on quit).
This seems to lead to an access violation within said function, which I have no source for.
|
|
8bc5c57d
|
2016-10-07T16:13:37
|
|
Fixed recentering triggers when the application doesn't have focus
|
|
72164985
|
2016-10-07T16:04:15
|
|
Fixed bug 2823 - Release events for triggers receive wrong centered value
Ryochan7
I have been using SDL 2 for a little project that I have been developing for a while. My project is called antimicro and it takes gamepad input and then translates gamepad events into keyboard and mouse events. SDL is used to read the input from an XInput gamepad and it works great for the most part. However, there is one glaring problem that I have encountered.
When a device is unplugged and SDL sends the centered value release events for all axes, buttons, and hats, SDL does not use the proper centered value for the triggers. It pushes an SDL_JOYAXISMOTION event onto the queue with a value of 0 for all axes. That value is converted to around 16,000 for a Game Controller. That value is incorrect for triggers and, in my program, that causes any bindings that are assigned to the triggers to get activated. With most profiles, that will typically mean that a mouse right click and left click will be activated before the device is finally seen as removed and then those bindings are released by antimicro.
|
|
3c8a2698
|
2016-10-01T18:10:50
|
|
WinRT: build fix in joystick code
|
|
7b34f47e
|
2016-10-01T14:50:22
|
|
Fixed windows build
|
|
fa0f4176
|
2016-10-01T14:48:18
|
|
Fixed build warnings and errors
|
|
64180d22
|
2016-10-01T14:05:35
|
|
Fixed bug 3138 - c_dfDIJoystick2 already defined in dinput8.lib
Machiel van Hooren
In SDL_dxjoystick.c line 349 there is a constant c_dfDIJoystick2.
However, this constant is aparently also defined in dinput8.lib.
I encountered a linking error when statically linking to SDL:
SDL2_static.lib(SDL_dxjoystick.obj) : error LNK2005: _c_dfDIJoystick2 already defined in dinput8.lib
My application is also linking to dinput8.lib because we rolled our own joystick input and are not using the joystick functionality from SDL.
|
|
c2e25651
|
2016-10-01T13:02:20
|
|
Fixed bug 3424 - SDL_GameController: Increase k_nMaxReverseEntries
ny00
On Android, the keycodes KEYCODE_BUTTON_1..16 (actual values 188-203) are translated to SDL_Joystick buttons no. 20-35. These are currently ignored in SDL_gamecontroller.c.
The attached patch fixes this, by increasing k_nMaxReverseEntries from 20 to another arbitrary bound of 48.
Side-note: Maybe some log should be emitted in case of going over any such bound?
|
|
a96b6f21
|
2016-09-17T01:31:07
|
|
Added a new hint SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION.
When set to "1", the orientation of the Apple TV remote affects the axes of the corresponding SDL joystick. It is "0" (disabled) by default.
|
|
925859aa
|
2016-09-13T18:43:55
|
|
Fixed accidental call to SDL_PrivateJoystickHat()
|