|
3a3aaac2
|
2020-11-06T11:30:52
|
|
Added 4 auxiliary buttons to the game controller API
Xbox Elite controllers use AUX1-AUX4 to represent the paddle buttons when using the HIDAPI driver
PS4 and PS5 controllers use AUX1 to represent the touchpad button
Nintendo Switch Pro controllers use AUX1 to represent the capture button
|
|
bd2dd3f6
|
2020-11-05T15:36:15
|
|
Added Android mapping for the Sony PS5 Controller
|
|
4d79f966
|
2020-11-05T15:02:54
|
|
Added initial support for the Sony PS5 Controller
|
|
3755f692
|
2020-10-16T12:40:10
|
|
Added mapping for Xbox One S controller and PS4 controller on Android 11, including guide button
|
|
2d7b33cb
|
2020-10-13T21:08:11
|
|
Added support for the controller home button on iOS 14
|
|
45c644cc
|
2020-09-28T21:19:45
|
|
Added support for the MOGA XP5-X Plus
|
|
aefe19ff
|
2020-06-09T11:31:39
|
|
Added support for the NACON Revolution Pro Controller 3 and the GameStop PS4 Fun Controller
|
|
1e5dd06f
|
2020-05-06T12:19:58
|
|
Added support for the HORI Real Arcade Pro on Mac OSX and Linux
|
|
11723411
|
2020-05-04T10:16:10
|
|
Added support for the Razer Kishi
|
|
c6b24b4b
|
2020-04-23T11:07:07
|
|
Added support for the following controllers:
* 8BitDo N30 Pro 2
* 8BitDo SN30 Gamepad
* 8BitDo SN30 Pro+
* 8BitDo Zero 2
* SZMY-POWER PC Gamepad
* ThrustMaster eSwap PRO Controller
* ZEROPLUS P4 Wired Gamepad
In additional, all 8BitDo controllers use SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS to have the correct mapping based on user preferences.
|
|
aba27928
|
2020-04-18T21:41:37
|
|
Added a Windows Gaming Input joystick driver
This driver supports the Razer Atrox Arcade Stick
Some of the quirks of this driver, inherent in Windows Gaming Input:
* There will never appear to be controllers connected at startup. You must support hot-plugging in order to see these controllers.
* You can't read the state of the guide button
* You can't get controller events in the background
|
|
2be75c6a
|
2020-03-13T19:08:45
|
|
Fixed bug 5028 - Virtual Joysticks (new joystick backend)
David Ludwig
I have created a new driver for SDL's Joystick and Game-Controller subsystem: a Virtual driver. This driver allows one to create a software-based joystick, which to SDL applications will look and react like a real joystick, but whose state can be set programmatically. A primary use case for this is to help enable developers to add touch-screen joysticks to their apps.
The driver comes with a set of new, public APIs, with functions to attach and detach joysticks, set virtual-joystick state, and to determine if a joystick is a virtual-one.
Use of virtual joysticks goes as such:
1. Attach one or more virtual joysticks by calling SDL_JoystickAttachVirtual. If successful, this returns the virtual-device's joystick-index.
2. Open the virtual joysticks (using indicies returned by SDL_JoystickAttachVirtual).
3. Call any of the SDL_JoystickSetVirtual* functions when joystick-state changes. Please note that virtual-joystick state will only get applied on the next call to SDL_JoystickUpdate, or when pumping or polling for SDL events (via SDL_PumpEvents or SDL_PollEvent).
Here is a listing of the new, public APIs, at present and subject to change:
------------------------------------------------------------
/**
* Attaches a new virtual joystick.
* Returns the joystick's device index, or -1 if an error occurred.
*/
extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type, int naxes, int nballs, int nbuttons, int nhats);
/**
* Detaches a virtual joystick
* Returns 0 on success, or -1 if an error occurred.
*/
extern DECLSPEC int SDLCALL SDL_JoystickDetachVirtual(int device_index);
/**
* Indicates whether or not a virtual-joystick is at a given device index.
*/
extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index);
/**
* Set values on an opened, virtual-joystick's controls.
* Returns 0 on success, -1 on error.
*/
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick * joystick, int axis, Sint16 value);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualBall(SDL_Joystick * joystick, int ball, Sint16 xrel, Sint16 yrel);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value);
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value);
------------------------------------------------------------
Miscellaneous notes on the initial patch, which are also subject to change:
1. no test code is present in SDL, yet. This should, perhaps, change. Initial development was done with an ImGui-based app, which potentially is too thick for use in SDL-official. If tests are to be added, what kind of tests? Automated? Graphical?
2. virtual game controllers can be created by calling SDL_JoystickAttachVirtual with a joystick-type of SDL_JOYSTICK_TYPE_GAME_CONTROLLER, with naxes (num axes) set to SDL_CONTROLLER_AXIS_MAX, and with nbuttons (num buttons) set to SDL_CONTROLLER_BUTTON_MAX. When updating their state, values of type SDL_GameControllerAxis or SDL_GameControllerButton can be casted to an int and used for the control-index (in calls to SDL_JoystickSetVirtual* functions).
3. virtual joysticks' guids are mostly all-zeros with the exception of the last two bytes, the first of which is a 'v', to indicate that the guid is a virtual one, and the second of which is a SDL_JoystickType that has been converted into a Uint8.
4. virtual joysticks are ONLY turned into virtual game-controllers if and when their joystick-type is set to SDL_JOYSTICK_TYPE_GAMECONTROLLER. This is controlled by having SDL's default list of game-controllers have a single entry for a virtual game controller (of guid, "00000000000000000000000000007601", which is subject to the guid-encoding described above).
5. regarding having to call SDL_JoystickUpdate, either directly or indirectly via SDL_PumpEvents or SDL_PollEvents, before new virtual-joystick state becomes active (as specified via SDL_JoystickSetVirtual* function-calls), this was done to match behavior found in SDL's other joystick drivers, almost all of which will only update SDL-state during SDL_JoystickUpdate.
6. the initial patch is based off of SDL 2.0.12
7. the virtual joystick subsystem is disabled by default. It should be possible to enable it by building with SDL_JOYSTICK_VIRTUAL=1
Questions, comments, suggestions, or bug reports very welcome!
|
|
255c9c23
|
2020-03-13T13:28:33
|
|
Fixed bug 4921 - Do not swap B/X buttons on GameCube controller unless it's requested
The binding for the Mayflash GameCube controller adapter now respects the SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS hint
|
|
cb2f78b1
|
2020-03-13T13:05:38
|
|
Updated 8BitDo SF30 Pro mapping with hint support, added Android binding for the 8BitDo M30 Gamepad
|
|
db3b3a1d
|
2020-03-12T19:47:28
|
|
Added support for SDL hints in the game controller mapping database
|
|
49564c8b
|
2020-03-02T10:47:48
|
|
Added support for the PDP Victrix Pro FS with Touch Pad for PS4
|
|
ad225047
|
2020-02-17T14:15:47
|
|
Added Android SDK conditionals to game controller mappings
The Nintendo Switch Pro controller has a different mapping on Android 10 and newer
|
|
a199cb89
|
2020-02-05T09:29:46
|
|
Updated the Android Xbox One Wireless Controller mapping for the latest Xbox controller firmware update
|
|
43b377b0
|
2020-01-28T17:11:17
|
|
Fixed wired PS4 controller support on Android
|
|
2ae41b9c
|
2020-01-23T12:53:43
|
|
Fixed mapping for both versions of the Xbox One Elite Series 2 controller firmware connecting over Bluetooth
|
|
48240ac8
|
2020-01-23T12:53:41
|
|
Added mapping for the Xbox One controller connected via the wireless dongle using xow
|
|
27035425
|
2020-01-17T11:09:57
|
|
There are multiple bindings for XBox One controller model 1708, depending on firmware revision
|
|
bde1a371
|
2020-01-17T11:07:19
|
|
Added support for the NACON GC-400ES
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
6705e27c
|
2020-01-13T22:05:58
|
|
Added D-PAD bindings for the Linux Steam Controller
|
|
d33b122f
|
2020-01-11T04:34:28
|
|
The Xbox One S Bluetooth controller with older firmware uses b16 as the guide button. The same controller with newer firmware uses b12 as the guide button. Map both buttons so both firmware revisions will work with the same mapping.
|
|
f4375e86
|
2020-01-07T18:43:40
|
|
Added support for the 8BitDo M30 GamePad
|
|
eb3d39bc
|
2020-01-06T12:18:51
|
|
Added support for the 8Bitdo FC30 Pro
|
|
202c966a
|
2019-12-19T16:14:22
|
|
Added support for the Nintendo GameCube Controller, using the Mayflash GameCube adapter.
|
|
52b6ab21
|
2019-12-16T17:11:23
|
|
Added support for the SteelSeries Stratus Duo
|
|
9f8009f2
|
2019-12-13T16:12:41
|
|
Added mappings for the Razer Serval on Windows and Mac OSX
|
|
cf9af481
|
2019-12-13T16:12:39
|
|
Added support for the 8Bitdo NES30 GamePad in wired mode
|
|
89401b21
|
2019-12-10T13:09:52
|
|
Added support for the Razer Raion Fightpad for PS4
|
|
6d001668
|
2019-12-05T13:18:53
|
|
Get full axis range for PS3 controller triggers on Linux
|
|
b98808f6
|
2019-11-28T14:23:24
|
|
Updated DPAD binding for 8Bitdo Zero controller
|
|
a3a8fcef
|
2019-11-28T10:04:05
|
|
Added support for the 8Bitdo SN30 Pro, wired connection
|
|
98cc9cf2
|
2019-11-27T12:38:53
|
|
Added support for the Google Stadia Controller
|
|
43cb7b3c
|
2019-11-27T12:38:51
|
|
Added support for the Hori Fighting Commander
|
|
8243a3e8
|
2019-11-25T15:02:50
|
|
Added support for the Hyperkin X91
|
|
13006ba9
|
2019-11-22T13:44:40
|
|
Added support for the PDP Versus Fighting Pad
|
|
a132b183
|
2019-11-21T13:09:00
|
|
Fixed the guide button on the NVIDIA Controller v01.04
|
|
cc4f8905
|
2019-11-21T12:11:47
|
|
Added support for the NVIDIA Controller v01.04 on Linux and Mac OS X
|
|
2a7b635b
|
2019-11-21T11:52:50
|
|
Added support for the NVIDIA Controller v01.04 on Android
|
|
51487a71
|
2019-11-21T10:14:57
|
|
Added support for the MOGA XP5-A Plus
|
|
972a70d8
|
2019-11-19T15:15:00
|
|
Added support for the Xbox One Elite Series 2 controller on Mac OSX
|
|
2bfcf5cd
|
2019-11-18T14:08:05
|
|
Added Linux controller mapping for the Xbox One Elite Series 2 controller in Bluetooth mode
|
|
4f304fd8
|
2019-10-17T18:07:52
|
|
Added support for the BDA PS4 Fightpad
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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)
|
|
faf97978
|
2019-03-16T19:03:13
|
|
Fixed bug 4511 - SDL_gamecontrollerdb Mapping for Sony Playstation USB controller
Renaud Lepage
Simply submitting a new mapping.
|
|
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
|
|
adabfdc0
|
2019-01-21T20:49:08
|
|
Revert SDL_gamecontrollerdb.h and sort_controllers.py from bug 4024
|
|
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
|
|
fbead635
|
2018-12-05T16:55:59
|
|
joystick: Added controller config for IMS Passenger Control Unit Devices.
|
|
f205f3a8
|
2018-11-27T15:10:26
|
|
Added support for the Razer Raiju Mobile
|
|
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)
|
|
aa9683bb
|
2018-09-25T19:41:33
|
|
Added 8bitdo SF 30 PRO controller support for Linux / DInput mode (thanks Frank Hartung)
|
|
963e74d6
|
2018-09-05T11:24:23
|
|
Added binding for Mad Catz FightStick TE S+ (PS3) on Mac OS X
|
|
c152e380
|
2018-09-05T11:18:50
|
|
Added support for the Razer Panthera Fightstick
Fixed bindings for the Mad Catz FightStick TE S+
|
|
63107524
|
2018-08-15T19:53:34
|
|
Fixed input from the Steam Virtual Gamepad on Mac OS X
|
|
28e0c0ee
|
2018-08-09T16:04:21
|
|
Sam Lantinga <slouken@libsdl.org> 2018-08-06 13:00 -0700
Backed out changeset 794a209b2270
http://hg.libsdl.org/SDL/rev/2e2ecdac957c
|
|
25a952e7
|
2018-08-09T16:04:18
|
|
Sam Lantinga <slouken@libsdl.org> 2018-08-06 11:58 -0700
Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices
http://hg.libsdl.org/SDL/rev/794a209b2270
|
|
d2042e1e
|
2018-08-09T16:00:17
|
|
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
|
|
a37d3e0b
|
2018-08-06T13:00:11
|
|
Backed out changeset 794a209b2270
It turns out the mapping is correct, just the name was confusing
|
|
cc682f20
|
2018-08-06T11:58:08
|
|
Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices
Different device with same vid/pic that is kind of a Saitek shape:
https://www.trust.com/en/product/17416-gxt-24-runa-compact-gamepad
n64 with same ID
https://bbs.archlinux.org/viewtopic.php?id=163488
PS shaped with numbers for buttons
https://pineight.com/mw/index.php?title=USB_game_controller#DragonRise_Inc._Generic_USB_Joystick
fightstick with same vid/pid
https://retropie.org.uk/forum/topic/7594/bartop-2-player-zero-delay-encoders-not-working
|
|
864b8f89
|
2018-06-12T01:04:26
|
|
Merged in community contributed controller mappings from https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
|
|
12059782
|
2018-06-12T00:18:10
|
|
Added common controllers used with Steam Big Picture
These are entirely untested
Several USB ids refer to multiple packaged products. In those cases I tried to use the most common name, or a general name (e.g. PS3 Controller), or a completely generic name (e.g. USB gamepad) if it wasn't clear what type of controller it was.
Patches welcome!
|
|
db86e7a6
|
2018-06-07T10:54:54
|
|
Added support for the PS3 controller driver in PlayStation Now
|
|
ff6aebc4
|
2018-05-29T08:03:44
|
|
Added a new GUID for DS3 controller connected over bluetooth, for both Sony and Shanwan (thanks William!)
|
|
b3173d9d
|
2018-05-23T17:15:37
|
|
Added support for the NVIDIA SHIELD handheld gaming device
|
|
4d9a3469
|
2018-05-23T16:00:21
|
|
Added additional supported Android controllers
|
|
999af809
|
2018-05-18T13:09:30
|
|
Merged latest changes from Steam Link app
|
|
b7228bc5
|
2018-04-11T18:28:03
|
|
Added support for the GameSir G3w
|
|
8e062f69
|
2018-03-19T14:42:51
|
|
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
|
|
d529b001
|
2018-03-19T13:16:11
|
|
Added mapping for the ASUS Gamepad removing the guide button, which doesn't generate events even though it's reported in the Android APIs.
|
|
92847022
|
2018-03-07T18:10:01
|
|
Added a mapping for the latest firmware for the Xbox One S controller on Android
|
|
a2c1d83c
|
2018-03-07T18:09:58
|
|
Include a USB VID/PID for Apple MFI controllers
This is just placeholder VID/PID, but allows code that works with VID/PID to identify the MFI controllers easily.
|
|
9e651b69
|
2018-03-06T14:51:50
|
|
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.
|
|
003c0dce
|
2018-03-02T10:56:21
|
|
Use the real controller name for game controllers on iOS and Apple TV
|
|
965c11f3
|
2018-02-07T14:07:54
|
|
Fixed bug 4060 - Alternative DualShock 4 v2 controller GUID
ayer.3d
I have a DualShock 4 v2 controller with a GUID that's not in the database. There is an existing GUID that is almost identical, with the only difference that I can tell being the reported version string (mine being 8001, database is 8100).
Existing GUID: 050000004c050000cc09000000810000
New GUID: 050000004c050000cc09000001800000
When connected via USB, the GUID matches an existing entry: 030000004c050000cc09000011810000
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
255362a3
|
2017-12-16T10:40:45
|
|
Fixed handling of the Apple TV remote buttons
The menu button on the remote is the back button
|
|
cc30e1eb
|
2017-12-16T10:40:43
|
|
Added support for the ASUS TV500BG Android gamepad
|
|
688bc285
|
2017-11-20T13:59:43
|
|
Steam Virtual GamePad config for macOS
|
|
b120fb87
|
2017-10-08T10:59:03
|
|
Fixed bug 3865 - [PATCH] Support for GreenAsia Inc. PSX to USB converter as SDL_GameController
Manuel
I would like this small patch merged that adds support for my GreenAsia Inc. PSX to USB converter, so SDL_IsGameController() returns true when using this adaptor.
It's interesting because PSX/PS2 controllers connected using this model won't be detected as gamecontrollers otherwise, only as joysticks.
|
|
d8286479
|
2017-09-22T08:30:52
|
|
Added stubs for simple Steam Controller support
|
|
46ec1305
|
2017-09-14T21:45:14
|
|
Fix for 3829. Revert adding GameSir G4s, uses same GUID as PS3 controller.
|
|
73c85e98
|
2017-09-14T19:33:32
|
|
Readd support for GameSir G4s, lost with changeset 11431
|
|
ac782d71
|
2017-09-12T05:53:47
|
|
Added support for the PDP Battlefield One Xbox One controller on Linux
|
|
20207abf
|
2017-08-31T22:07:28
|
|
macOS: Update controller mapping of Steelseries Stratus XL to account for reversed thumbstick y-axis values (bug #3483).
|