src/joystick/SDL_gamecontrollerdb.h


Log

Author Commit Date CI Message
Sam Lantinga dc6f0443 2021-07-12T17:57:21 Added mapping for the Xbox Series X controller on tvOS
Sam Lantinga 947ad6e1 2021-07-12T17:57:21 Added support for the Xbox Series X controller on iOS and tvOS
Dimitriy Ryazantcev 17ed8d80 2021-07-07T16:05:35 Added HIDAPI backend for Amazon Luna Controller Model T28B69 connected via Bluetooth LE (VID:0171, PID:0419). To enter Bluetooth pairing mode hold B and Action (button with circle) buttons for 3 seconds. It works via usual HIDAPI if special filter driver is not installed: https://www.amazon.com/gp/help/customer/display.html?nodeId=GZCT4CTFHXLHEB9T With that driver installed it mimics Xbox One controller and works via XInput under Windows. Under DInput this controller is not usable at all.
Sam Lantinga 00d67620 2021-07-06T11:32:11 Added the SteelSeries manufacturer to the Nimbus+ entry on macOS
Sam Lantinga 24e836b0 2021-07-06T10:00:09 Added controller mapping for the Nimbus+ controller on macOS when MFi support is not available
Joshua Ashton c90bd3bf 2021-06-27T03:13:47 Add missing PS5 DualSense GUIDs Fixes my DualSense controller not being recognised as a SDL GameController which breaks Steam Input filtering causing SDL to fight for input.
Sam Lantinga 5042ab6f 2021-06-24T18:09:06 Added Linux and macOS mappings for the DirectInput mode of the Amazon Luna Controller
Sam Lantinga 99700a5c 2021-06-24T18:09:01 SDL: add Windows mappings for Luna controllers for USB DirectInput mode and BT. Note: the triggers do not seem to work in BT mode.
Sam Lantinga afd100f0 2021-06-18T17:37:46 Added support for the PowerA Fusion Pro 2 and the PDP Xbox Series X Afterglow and Blue controllers
Andrew Murray cd67f42d 2021-06-04T12:20:47 add Linux mapping for brook fighting board (#4416) * added controller mapping for Brook fighting board * fixed formatting on Brook Universal Fighting Board controller mapping entry
Sjoerd Simons 89fd9821 2021-05-26T21:33:25 Add controller mapping for Atari vcs controllers This add controller mappings for the Atari vcs (modern) controller as well as the classic controller, for both bluetooth and USB connectivity. Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
Ryan C. Gordon f4ab1c94 2021-05-10T13:08:34 gamecontrollerdb: Add entry for the 8BitDo Receiver for Linux. Fixes #3048.
Ryan C. Gordon bedc509a 2021-05-10T13:04:59 gamecontrollerdb: added entry for PowerA XBox One Controller for Linux. Fixes #3910.
Sam Lantinga 9231f1f1 2021-05-07T12:29:03 Added support for the PS5 controller on iOS and tvOS
Sam Lantinga 1aaafc2b 2021-04-13T16:29:46 Show the real name of the Xbox controller when using the generic mapping on Linux
Sam Lantinga 4a07c73b 2021-03-26T13:53:58 Added mapping for the Amazon Luna controller on Linux
Sam Lantinga 07af9baa 2021-03-26T13:05:38 Use the correct name for the Amazon Luna Gamepad
Sam Lantinga ef363555 2021-03-26T13:03:29 Added mapping for the Amazon Luna controller on macOS
Ivan Epifanov 2d64e37e 2020-11-02T18:09:43 Initial rebase of xerpi's port
Ivan Epifanov e5cbe7cf 2021-02-14T00:30:42 Add l2/r2 axes, l3/r3 buttons. rumble and ledbar support for ds4
Sam Lantinga 1a17ab30 2021-02-21T11:03:26 Added mappings for popular controllers on Chromebooks
Matt Borgerson 4aa2e748 2021-02-16T10:20:29 Add Xbox Controller S entry to gamecontrollerdb
soredake 39153f81 2021-02-11T09:37:58 add Linux mapping for Ipega PG-9087S, closes #3783
Sam Lantinga 9130f7c3 2021-01-02T10:25:38 Updated copyright for 2021
Sam Lantinga f484abbd 2020-12-15T14:57:51 Added Android mapping for the Xbox One Series X controller over Bluetooth
Sam Lantinga 99807665 2020-11-19T19:09:38 Respect SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS for the Nintendo Switch Pro controller on Linux
Sam Lantinga 7366693f 2020-11-19T19:09:36 Added support for a few more controllers on Linux
Sam Lantinga 9f51fad3 2020-11-13T18:01:29 Added support for the touchpad on PS4 and PS5 controllers
Sam Lantinga 8cd4f364 2020-11-12T20:02:31 Mapped the touchpad click as SDL_CONTROLLER_BUTTON_MISC1 on the PS5 controller
Sam Lantinga 76bd6cd2 2020-11-11T19:45:56 Fixed bug 5326 - Logitech Extreme 3D joystick is listed as gamepad in linux section of SDL_gamecontrollerdb.h Spooky For some reason the Logitech Extreme 3D joystick was added to SDL_gamecontrollerdb.h in the linux section only. This breaks the joystick in linux as it is not a gamepad. I am unable to correctly use or map the Logitech Exteme 3D joystick in games that use SDL2 in linux. Please remove Logitech Extreme 3D from SDL_gamecontrollerdb.h Linux section. It is a joystick not a gamepad.
Sam Lantinga fb4a406a 2020-11-09T18:45:22 Don't put 'm' in the GUID for Xbox and PS4 controllers on iOS
Sam Lantinga 009b62f1 2020-11-07T02:22:15 Be explicit about mapping the new game controller paddle buttons
Sam Lantinga faeac6e8 2020-11-06T16:42:46 Added additional game controller button support on iOS/tvOS
Sam Lantinga 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
Sam Lantinga bd2dd3f6 2020-11-05T15:36:15 Added Android mapping for the Sony PS5 Controller
Sam Lantinga 4d79f966 2020-11-05T15:02:54 Added initial support for the Sony PS5 Controller
Sam Lantinga 3755f692 2020-10-16T12:40:10 Added mapping for Xbox One S controller and PS4 controller on Android 11, including guide button
Sam Lantinga 2d7b33cb 2020-10-13T21:08:11 Added support for the controller home button on iOS 14
Sam Lantinga 45c644cc 2020-09-28T21:19:45 Added support for the MOGA XP5-X Plus
Sam Lantinga aefe19ff 2020-06-09T11:31:39 Added support for the NACON Revolution Pro Controller 3 and the GameStop PS4 Fun Controller
Sam Lantinga 1e5dd06f 2020-05-06T12:19:58 Added support for the HORI Real Arcade Pro on Mac OSX and Linux
Sam Lantinga 11723411 2020-05-04T10:16:10 Added support for the Razer Kishi
Sam Lantinga 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.
Sam Lantinga 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
Sam Lantinga 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!
Sam Lantinga 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
Sam Lantinga cb2f78b1 2020-03-13T13:05:38 Updated 8BitDo SF30 Pro mapping with hint support, added Android binding for the 8BitDo M30 Gamepad
Sam Lantinga db3b3a1d 2020-03-12T19:47:28 Added support for SDL hints in the game controller mapping database
Sam Lantinga 49564c8b 2020-03-02T10:47:48 Added support for the PDP Victrix Pro FS with Touch Pad for PS4
Sam Lantinga 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
Sam Lantinga a199cb89 2020-02-05T09:29:46 Updated the Android Xbox One Wireless Controller mapping for the latest Xbox controller firmware update
Sam Lantinga 43b377b0 2020-01-28T17:11:17 Fixed wired PS4 controller support on Android
Sam Lantinga 2ae41b9c 2020-01-23T12:53:43 Fixed mapping for both versions of the Xbox One Elite Series 2 controller firmware connecting over Bluetooth
Sam Lantinga 48240ac8 2020-01-23T12:53:41 Added mapping for the Xbox One controller connected via the wireless dongle using xow
Sam Lantinga 27035425 2020-01-17T11:09:57 There are multiple bindings for XBox One controller model 1708, depending on firmware revision
Sam Lantinga bde1a371 2020-01-17T11:07:19 Added support for the NACON GC-400ES
Sam Lantinga a8780c6a 2020-01-16T20:49:25 Updated copyright date for 2020
Sam Lantinga 6705e27c 2020-01-13T22:05:58 Added D-PAD bindings for the Linux Steam Controller
Sam Lantinga 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.
Sam Lantinga f4375e86 2020-01-07T18:43:40 Added support for the 8BitDo M30 GamePad
Sam Lantinga eb3d39bc 2020-01-06T12:18:51 Added support for the 8Bitdo FC30 Pro
Sam Lantinga 202c966a 2019-12-19T16:14:22 Added support for the Nintendo GameCube Controller, using the Mayflash GameCube adapter.
Sam Lantinga 52b6ab21 2019-12-16T17:11:23 Added support for the SteelSeries Stratus Duo
Sam Lantinga 9f8009f2 2019-12-13T16:12:41 Added mappings for the Razer Serval on Windows and Mac OSX
Sam Lantinga cf9af481 2019-12-13T16:12:39 Added support for the 8Bitdo NES30 GamePad in wired mode
Sam Lantinga 89401b21 2019-12-10T13:09:52 Added support for the Razer Raion Fightpad for PS4
Sam Lantinga 6d001668 2019-12-05T13:18:53 Get full axis range for PS3 controller triggers on Linux
Sam Lantinga b98808f6 2019-11-28T14:23:24 Updated DPAD binding for 8Bitdo Zero controller
Sam Lantinga a3a8fcef 2019-11-28T10:04:05 Added support for the 8Bitdo SN30 Pro, wired connection
Sam Lantinga 98cc9cf2 2019-11-27T12:38:53 Added support for the Google Stadia Controller
Sam Lantinga 43cb7b3c 2019-11-27T12:38:51 Added support for the Hori Fighting Commander
Sam Lantinga 8243a3e8 2019-11-25T15:02:50 Added support for the Hyperkin X91
Sam Lantinga 13006ba9 2019-11-22T13:44:40 Added support for the PDP Versus Fighting Pad
Sam Lantinga a132b183 2019-11-21T13:09:00 Fixed the guide button on the NVIDIA Controller v01.04
Sam Lantinga cc4f8905 2019-11-21T12:11:47 Added support for the NVIDIA Controller v01.04 on Linux and Mac OS X
Sam Lantinga 2a7b635b 2019-11-21T11:52:50 Added support for the NVIDIA Controller v01.04 on Android
Sam Lantinga 51487a71 2019-11-21T10:14:57 Added support for the MOGA XP5-A Plus
Sam Lantinga 972a70d8 2019-11-19T15:15:00 Added support for the Xbox One Elite Series 2 controller on Mac OSX
Sam Lantinga 2bfcf5cd 2019-11-18T14:08:05 Added Linux controller mapping for the Xbox One Elite Series 2 controller in Bluetooth mode
Sam Lantinga 4f304fd8 2019-10-17T18:07:52 Added support for the BDA PS4 Fightpad
Sam Lantinga 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"
Sam Lantinga d52ffcf9 2019-08-02T17:12:49 Added support for a few controllers on Android
Sam Lantinga 89de2512 2019-07-17T13:01:44 Added support for the Victrix Pro Fight Stick for PS4
Sam Lantinga 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
Sam Lantinga 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.
Sam Lantinga 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.
Sam Lantinga 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
Sam Lantinga 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.
Benjamin Valentin 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)
Benjamin Valentin 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)
Sam Lantinga faf97978 2019-03-16T19:03:13 Fixed bug 4511 - SDL_gamecontrollerdb Mapping for Sony Playstation USB controller Renaud Lepage Simply submitting a new mapping.
Ethan Lee 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.
Alice Rowan 3835f200 2019-03-03T12:38:23 Fix Nyko Airflo Ex Windows mapping, add Linux/Mac mappings
Silent b6a45f1a 2019-02-14T20:46:58 Fixed DualShock 3 mapping
Sylvain Becker adabfdc0 2019-01-21T20:49:08 Revert SDL_gamecontrollerdb.h and sort_controllers.py from bug 4024
Sylvain Becker ede0fc4f 2019-01-16T14:03:35 Fixed bug 4024 - remove trailing comma of Controller mappings because it reports an error "Unexpected controller element"
Sam Lantinga 5e13087b 2019-01-04T22:01:14 Updated copyright for 2019
Ryan C. Gordon fbead635 2018-12-05T16:55:59 joystick: Added controller config for IMS Passenger Control Unit Devices.
Sam Lantinga f205f3a8 2018-11-27T15:10:26 Added support for the Razer Raiju Mobile
Steven M. Vascellaro 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)