|
65096446
|
2019-11-20T16:42:50
|
|
Improved XInput VID/PID detection and added SDL_wcsstr() and SDL_wcsncmp()
|
|
ce8411c5
|
2019-11-20T08:43:24
|
|
Fixed Xbox One Elite Series 2 showing up as 2 devices in Bluetooth mode on Windows
|
|
972a70d8
|
2019-11-19T15:15:00
|
|
Added support for the Xbox One Elite Series 2 controller on Mac OSX
|
|
68d8fc5c
|
2019-11-18T15:46:13
|
|
Added support for the Xbox One Elite Series 2 controller in wired mode
|
|
2bfcf5cd
|
2019-11-18T14:08:05
|
|
Added Linux controller mapping for the Xbox One Elite Series 2 controller in Bluetooth mode
|
|
1e24a151
|
2019-11-18T11:51:39
|
|
Added names for some missing Xbox controllers
|
|
14495644
|
2019-11-18T11:44:51
|
|
Added identifiers for the Xbox One Elite Series 2 controller
|
|
a9ac9e38
|
2019-11-16T19:58:29
|
|
Don't try to use this driver with the Xbox One S in Bluetooth mode on Linux
|
|
9ca53730
|
2019-11-16T19:55:53
|
|
Added support for the Xbox One S controller in Bluetooth mode on Linux
|
|
cf33f1f0
|
2019-11-13T21:53:01
|
|
Added a utility function to simplify the hint handling logic
|
|
9a76bebf
|
2019-11-13T14:24:48
|
|
SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS defaults to true, to match Steam's default behavior
|
|
60d3965e
|
2019-10-30T15:36:17
|
|
Readability: remove redundant return, continue, enum declaration
|
|
0f871c03
|
2019-10-23T09:53:23
|
|
Fixed bug 4843 - Passing NULL to memset in SDL_PrivateLoadButtonMapping
(Thanks!)
|
|
b7ab3b39
|
2019-10-23T08:50:57
|
|
Fixed bug 4838 - Use after free in SDL_JoystickUpdate (Thanks!)
|
|
5025109f
|
2019-10-22T15:43:58
|
|
Fixed accidental whitespace
|
|
9da4bfc1
|
2019-10-22T10:57:07
|
|
Added support for the Power A Nintendo Switch Enhanced Wireless Controller
|
|
f96da11f
|
2019-10-22T10:28:51
|
|
Reordered Power A Switch controllers so they're grouped together
|
|
9e7894ef
|
2019-10-22T10:27:30
|
|
Added support for the PowerA - Super Mario Controller
|
|
cdc7181e
|
2019-10-19T01:54:02
|
|
Don't try to use the Xbox HID protocol with the NVIDIA Shield controllers
|
|
4f304fd8
|
2019-10-17T18:07:52
|
|
Added support for the BDA PS4 Fightpad
|
|
b3470f04
|
2019-10-17T17:32:47
|
|
Added the hint SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS to control whether Nintendo Switch controllers use their button labels or button positions for game controller button reporting.
|
|
e6ac16ef
|
2019-10-17T16:59:05
|
|
Added support for third party Nintendo Switch controllers that don't support the full protocol
|
|
43c5f62d
|
2019-10-17T16:14:17
|
|
Merged latest data from Steam
|
|
3b3dbb5a
|
2019-10-01T08:50:04
|
|
Removed unused volume check interval
|
|
cbde0ffa
|
2019-09-19T16:50:49
|
|
The PS4 is ignoring the volume values in the report, so we don't need to fill them in.
|
|
9c8e403f
|
2019-08-30T11:35:20
|
|
use 'U' suffix on constants instead of (unsigned int) cast.
|
|
70dc8d16
|
2019-08-30T08:55:20
|
|
Android: fix corresponding warnings
|
|
ce3b16fc
|
2019-08-26T10:08:25
|
|
Fixed bug 4475 - add Gasia Co. Ltd PS(R) Gamepad support
Frank
This gamepad/controller is sold in Germany https://www.amazon.de/gp/product/B01AQTPSA6/ref=ppx_yo_dt_b_asin_title_o03__o00_s00 but isn't supported right now. It identifies as "Gasia Co. Ltd PS(R) Gamepad"
|
|
d52ffcf9
|
2019-08-02T17:12:49
|
|
Added support for a few controllers on Android
|
|
c10a8742
|
2019-07-31T10:20:37
|
|
Make sure HIDAPI is initialized whenever we call HIDAPI_IsDevicePresent()
|
|
c172f36b
|
2019-07-31T11:14:48
|
|
joystick: Ensure HIDAPI is initialized before calling it
|
|
4953e050
|
2019-07-31T05:11:40
|
|
use SDL_zeroa at more places where the argument is an array.
|
|
7a47c292
|
2019-07-31T01:22:02
|
|
Fix bug 4746 - introduce SDL_zeroa macro.
|
|
dc714389
|
2019-07-25T15:21:44
|
|
Don't call hid_enumerate() if the HIDAPI drivers are all disabled
|
|
a06d8cd0
|
2019-07-17T16:47:17
|
|
Merged latest changes from Steam into controller_type.h
|
|
89de2512
|
2019-07-17T13:01:44
|
|
Added support for the Victrix Pro Fight Stick for PS4
|
|
064d1223
|
2019-07-14T16:59:39
|
|
Fixed bug 4723 - Generic Xbox pad controller bindings seem odd/broken
alexrice999
I have a knock off wired xbox 360 controller called afterglow for xbox 360 controller. Despite there being a few afterglow controllers in the controller mapping the guid of my controller seems to map to Generic Xbox pad. This binding is as follows:
```
"030000006f0e00001304000000010000,Generic X-Box pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:a0,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:a3,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,",
```
When running openmw I have a strange issue that the joysticks work for up and down movements but not for side to side. I managed to track this down to the side to side events being classified as joystick events instead of gamepad events.
I believe this is due to both "leftstick" and "leftx" being bound to "a0" which seems odd to me. If I change openmw's mappings to remove these the controller works as expected. I was hoping someone who knows a lot more than me (as I have only been exploring this today trying to fix my controller) would know what is happening
|
|
73536d93
|
2019-07-12T21:28:43
|
|
ios: Fixed MFi guide button not being detected (thanks, Caleb!).
Fixes Bugzilla #4721.
|
|
797d2c59
|
2019-06-30T22:48:13
|
|
Fixed bug 4436 - [OpenBSD] fix D-pad
daniel.c.sinclair
Hi, this patch breaks dpad/hat input on my PS4 controller. The attached patch restores functionality. Calling SDL_PrivateJoystickHat() at the end of BSD_JoystickUpdate was setting the hat state to zero on every kind of input, instead of just the HUG_DPAD events.
|
|
a4bfe2a4
|
2019-06-24T21:08:26
|
|
Allow hotplugging joysticks without udev
|
|
be6cda9f
|
2019-06-19T15:54:21
|
|
Rolling back GameCube HIDAPI support
It causes the HIDAPI devices to always be opened on enumeration, which causes crashes in the Windows drivers when multiple applications are reading and writing at the same time. We can revisit this after 2.0.10 release.
|
|
56e2b9a4
|
2019-06-19T06:43:54
|
|
Handle GameCube WaveBird controller differences
Make wireless GameCube controllers use unknown power level instead of
wired and don't allow rumble (it doesn't have hardware for it).
|
|
6f63c1c3
|
2019-06-19T06:43:36
|
|
Make GameCube controllers only rumble if both USB cables are connected
The Nintendo USB GameCube Adapter has two USB connectors. Black for data
and grey for additional power for rumble. The Wii U and other software
require both cables to use rumble. The rumble is weaker without the
second USB cable. Other than that I don't know if there is any negative
side affects from using rumble with only one cable.
|
|
b23cce28
|
2019-06-19T06:43:04
|
|
Fix GameCube controller power level being reset to unknown
HIDAPI_DriverGameCube_OpenJoystick() set power level to wired and then
it was set to unknown in SDL_JoystickOpen().
|
|
4eb3c0c3
|
2019-06-14T13:56:52
|
|
Added support for Xbox and PS4 wireless controllers on iOS and tvOS
Also implemented SDL_JoystickGetDevicePlayerIndex() on iOS and tvOS, and added support for reading the new menu button state available in iOS and tvOS 13.
|
|
747df96e
|
2019-06-12T10:38:49
|
|
Better patch to make it more clear what's going on
|
|
3fbaa5da
|
2019-06-12T10:35:47
|
|
The hat index passed to the application should be zero-based with no holes
|
|
a1a2f9b9
|
2019-06-12T10:32:36
|
|
Fixed bug 4486 - Segfault when pressing a trigger on the Steam Controller (Linux)
Matteo Beniamino
Pressing a trigger button on a Steam Controller causes a segmentation fault both with stable version and latest mercurial head on Linux. I'm using the recent hid_steam kernel module with lizard_mode disabled (that is no keyboard/mouse emulation). I suspect this is what's happening: the driver exposes two hats. The two hats have indices 0 and 2. Inside linux/SDL_sysjoystick.c two hats are allocated in allocate_hatdata for joystick->hwdata->hats. In HandleHat function the hat parameter (that can be 2) is directly used as the index of the array that only has two elements, causing an out of bounds access. SDL is not expecting to have "holes" between hats indices.
The index 2 is calculated in HandleInputEvents() as (ABS_HAT2X - ABS_HAT0X) / 2 where ABS_HAT2X is the value associated to the hat inside the hid_steam module.
|
|
a73dacbf
|
2019-06-08T14:58:49
|
|
Backed out Ben's chinese Xbox controller patch, as the generic catch-all for Xbox controllers should handle it.
|
|
56b7f4cf
|
2019-06-08T14:40:27
|
|
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.
|
|
d97387cc
|
2019-06-08T14:32:19
|
|
Fixed bug 4600 - Dualshock 4 touchpad press is not detectable with SDL_JoystickGetButton
Dexter Friedman
When using a Dualshock 4 controller (model numbers CUH-ZCT1U and CUH-ZCT2U), pressing anywhere on the center touchpad does not send an SDL_JOYBUTTONDOWN event. I have verified this with testjoystick:
Repro steps:
1. Plug in a DS4 over USB
2. Compile testjoystick and run: testjoystick.exe 0
3. Press and hold the touchpad. Observe that no lime green box appears
Expected behavior:
A lime green box appears while the touchpad is pressed.
Notes:
I've attached a patch here that works on my PC and produces the expected behavior in testjoystick, for both DS4 model numbers I listed earlier.
If I understand correctly, by exposing this as a joystick button, the gamecontroller API mapping can be modified with a change to gamecontrollerdb.txt in the future.
|
|
82af4276
|
2019-06-08T13:36:59
|
|
hidapi: Use GameCube adapter controller port for player index
The Nintendo USB GameCube adapter has four controller ports. Return
the port number as 0 to 3 from SDL_JoystickGetPlayerIndex() and
SDL_JoystickGetDevicePlayerIndex().
|
|
9261e473
|
2019-06-07T09:00:24
|
|
Potential fix for a crash we're seeing on Android that should in theory never happen.
|
|
20ec8664
|
2019-06-06T08:20:53
|
|
Added support for the Rotor Riot gamepad, and upcoming Xbox and PS4 controller support on iOS and tvOS
Patch contributed by Nat Brown
|
|
5f341620
|
2019-05-19T12:06:58
|
|
Fixed bug 4474 - Add support for an ASUS Gamepad variation
Trent Gamblin
This patch adds a variation of the ASUS Gamepad to the game controller DB. All the values are the same except the GUID.
|
|
c377de54
|
2019-05-19T11:56:26
|
|
Fixed bug 4436 - [OpenBSD] fix D-pad
Thomas Frohwein
Hi,
If a gamepad lists the Dpad as 4 buttons (Dpad Up,Down, Left, Right) like with the Xbox 360 gamepad / XInput report descriptor used by OpenBSD (https://github.com/openbsd/src/blob/master/sys/dev/usb/uhid_rdesc.h#L184), this is not recognized by the SDL BSD backend and no hat or any other listing for the D-pad exists, e.g. in sdl2-jstest (https://gitlab.com/sdl-jstest/sdl-jstest).
The attached diff fixes this and makes the D-pad on my Xbox 360 and Logitech F310 controllers usable. It adds a hat to nhats when usage HUG_DPAD_UP is found, reads the state of the D-pad buttons into array dpad[], and turns the value of dpad[] into an SDL hat direction (dpad_to_sdl()).
Tested and works with Xbox 360 controller and Logitech F310 in XInput mode. Software-side tested with sdl2-jstest and Owlboy where this worked without problems or regressions.
I don't know if this would be applicable to other *BSDs and don't have an install to test it with, therefore wrapped it in __OpenBSD__ ifdefs.
Thanks,
thfr
|
|
5cb14f44
|
2019-04-30T20:37:49
|
|
Ignore Xbox One S gamepads with older firmware in HIDAPI
This older firmware had a different HID report style that we don't support.
|
|
9a8d5215
|
2019-03-27T08:17:05
|
|
Handle potentially calling SDL_JoystickUpdate() and SDL_JoystickQuit() at the same time.
|
|
1e8d9e01
|
2019-03-17T23:47:12
|
|
Add mapping for Chinese-made Xbox Controller
This device is a copy of the Xbox Controller S and currently the one most sold
when shopping for a 'new' Xbox gamepad on eBay and AliExpress.
Except for the quirky USB ID id behaves just like a normal Xbox controller (when
ignoring the subpar build quality)
|
|
f3c6b1f5
|
2019-03-17T23:47:12
|
|
Add mapping for Chinese-made Xbox Controller
This device is a copy of the Xbox Controller S and currently the one most sold
when shopping for a 'new' Xbox gamepad on eBay and AliExpress.
Except for the quirky USB ID id behaves just like a normal Xbox controller (when
ignoring the subpar build quality)
|
|
f07c992b
|
2019-03-17T12:36:40
|
|
hidapi: Add GCN L/R buttons, just in case someone wants them...
|
|
faf97978
|
2019-03-16T19:03:13
|
|
Fixed bug 4511 - SDL_gamecontrollerdb Mapping for Sony Playstation USB controller
Renaud Lepage
Simply submitting a new mapping.
|
|
0f148eb6
|
2019-03-16T18:12:26
|
|
Fix polling left trigger reporting right trigger's values.
|
|
c5286156
|
2019-03-12T20:27:54
|
|
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.
|
|
b6a45f1a
|
2019-02-14T20:46:58
|
|
Fixed DualShock 3 mapping
|
|
65e07b38
|
2019-01-31T19:52:47
|
|
iOS/tvOS: fix support for SDL_GameControllerGetButton(controller, GUIDE) with MFi controllers (thanks Caleb!)
Fixes bug #4463.
|
|
aacb1091
|
2019-01-29T12:19:00
|
|
Emscripten: call emscripten_sample_gamepad_data
|
|
82b2c849
|
2019-01-21T23:41:43
|
|
Fixed bug 4024 - GameController error "Unexpected controller element"
If mapping string is terminated with a comma, there is no more values to parse.
|
|
adabfdc0
|
2019-01-21T20:49:08
|
|
Revert SDL_gamecontrollerdb.h and sort_controllers.py from bug 4024
|
|
7b354dda
|
2019-01-20T13:53:16
|
|
Fixed compiler warning
|
|
ede0fc4f
|
2019-01-16T14:03:35
|
|
Fixed bug 4024 - remove trailing comma of Controller mappings
because it reports an error "Unexpected controller element"
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
18296927
|
2018-12-15T09:57:05
|
|
emscripten: SDL_PrivateJoystickAdded() wants an instance id, not device index.
|
|
98829d37
|
2018-12-11T19:50:58
|
|
Handle both "Sony Interactive Intertainment" and "Sony Computer Entertainment" when ignoring motion sensors
|
|
70ce0f2e
|
2018-12-07T12:02:08
|
|
Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file to load at initialization containing SDL game controller mappings
|
|
7468d1e0
|
2018-12-06T15:46:40
|
|
Fix warnings detected on Android build
|
|
a7563bcd
|
2018-12-05T19:03:15
|
|
joystick: Removed unused variable.
|
|
6ed76ae1
|
2018-12-05T14:46:03
|
|
Fixed the ROCCAT Tyon mouse showing up as a joystick on Windows
|
|
fbead635
|
2018-12-05T16:55:59
|
|
joystick: Added controller config for IMS Passenger Control Unit Devices.
|
|
db320e46
|
2018-12-04T14:21:29
|
|
Fixed the PS4 motion controls showing up as a separate game controller on Linux
|
|
f205f3a8
|
2018-11-27T15:10:26
|
|
Added support for the Razer Raiju Mobile
|
|
b73703b9
|
2018-11-19T21:17:00
|
|
Fixed bug 4391 - hid_enumerate() sometimes causes game to freeze for a few seconds
Daniel Gibson
Even though my game (dhewm3) doesn't use SDL_INIT_JOYSTICK, SDL_PumpEvent() calls SDL_JoystickUpdate() which ends up calling hid_enumerate() every three seconds, and sometimes on my Win7 box hid_enumerate() takes about 5 seconds, which causes the whole game to freeze for that time.
|
|
2e348c1f
|
2018-11-14T13:37:22
|
|
Fixed bug 3193 - Dualshock 3's motion sensors overwrite analog stick
maxxus
The Dualshock 3's motion sensors don't seem to be reported by the call to EVIOCGBIT but they still send EV_ABS events. Because they're not reported by EVIOCGBIT they're not assigned a proper axis ids and the default of 0 is used, which is the valid id for the left analog sticks left/right axis.
|
|
d42728ec
|
2018-11-01T12:35:00
|
|
fix NetBSD C90 build failure
src/vendor/SDL2/src/joystick/bsd/SDL_sysjoystick.c:353:5: error:
ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
reported by 'bch' at https://discourse.libsdl.org/t/25231
|
|
62494a2e
|
2018-10-31T15:03:41
|
|
Merge SDL-ryan-batching-renderer branch to default.
|
|
91820998
|
2018-10-28T21:36:48
|
|
Add and update include guards
Include guards in most changed files were missing, I added them keeping
the same style as other SDL files. In some cases I moved the include
guards around to be the first thing the header has to take advantage of
any possible improvements compiler may have for inclusion guards.
|
|
14c55ac8
|
2018-10-26T20:20:28
|
|
This change looks okay in the general case.
If we run into problems where these events aren't dispatched (initialized on a different thread than the main thread?) we may need to create a separate thread to handle device notifications like we do with the windows joystick subsystem.
|
|
be8ef94f
|
2018-10-26T14:43:39
|
|
hidapi: Don't run a separate event loop for device notifications.
Fixes Bugzilla #4286.
|
|
14329256
|
2018-10-25T16:53:14
|
|
Generalized the XInput user index into a player index
|
|
545febcf
|
2018-10-25T13:22:34
|
|
Fixed initializing XInput user index
|
|
9987ca69
|
2018-10-25T12:54:42
|
|
Added SDL_JoystickGetXInputUserIndex()
|
|
4d4e18c4
|
2018-10-25T12:54:39
|
|
Added vi style for the Emscripten joystick code
|
|
b262b0eb
|
2018-10-22T20:50:32
|
|
Small stack allocations fall back to malloc if they're unexpectedly large.
|
|
ff3bb857
|
2018-10-22T10:55:18
|
|
joystick: Add Linux mappings for "Xbox One Wireless Controller (Model 1708)"
Adds controller bindings to support the "Xbox One Wireless Controller
(Model 1708)" on Linux. The Model 1708 was released in 2016 alongside the
Xbox One S. It is the current model being sold by Microsoft as of writing.
(October 22, 2018)
|
|
708ad1fd
|
2018-10-16T14:58:07
|
|
Fixed updating the rumble parameters on Linux
|
|
62f806ed
|
2018-10-08T19:46:01
|
|
This device gets Xinput driver loaded on windows.
|
|
f01cdced
|
2018-10-05T01:41:59
|
|
It turns out HIDAPI for Xbox controllers doesn't allow background input, so we won't enable it by default on Windows.
|
|
41ee51b9
|
2018-10-04T15:23:42
|
|
Fixed updating bindings for controllers using the wildcard mappings
|
|
19445561
|
2018-10-02T20:51:33
|
|
Make sure we don't read and write to HIDAPI at the same time, it's not thread-safe on Windows
|
|
48f7e7f3
|
2018-09-30T22:43:12
|
|
Corrected PS4 controller entry
|