Skip to content

Add Hori Pokken Tournament DX Pro Pad gamepad #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,343 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1343 commits
Select commit Hold shift + click to select a range
436c7e3
Add Linux mapping for "8BitDo SN30 Pro for Xbox Cloud Gaming on Andro…
jwangac Feb 27, 2023
642d78b
Add Microsoft SideWinder for MacOS, sort
offalynne Mar 4, 2023
1566f54
Adds Hyperkin Trooper 2
offalynne Mar 7, 2023
0980875
Add upstream mappings
offalynne Mar 7, 2023
0468f14
Update gamecontrollerdb.txt
offalynne Mar 7, 2023
7c8dd67
Remove dupe
offalynne Mar 7, 2023
01cca2e
Update mappings of gamepads affected by recent SDL change. (#671)
divVerent Mar 11, 2023
3f9637e
Adds Razer Kishi Windows mapping
offalynne Mar 21, 2023
483c1bb
Upstream Vader 2 mappings, sort
offalynne Mar 21, 2023
674e081
Missing hat mapping on Mayflash F101
offalynne Mar 28, 2023
d135692
More missing hat mappings
offalynne Mar 28, 2023
0ef3b8c
Atari VCS gamepad Windows mappings
offalynne Mar 29, 2023
4e11691
Atari VCS gamepad MacOS mappings
offalynne Mar 30, 2023
7ec6aee
Cleanup, sort, adds THEC64 Joystick mappings on Windows, MacOS
offalynne Apr 1, 2023
164638b
Update gamecontrollerdb.txt
offalynne Apr 2, 2023
6852946
Update gamecontrollerdb.txt (#675)
robdobes Apr 2, 2023
c2164bf
Adds various Android mappings
offalynne Apr 2, 2023
4f82f99
Recover #675
offalynne Apr 5, 2023
b7e5701
Adds Final Fantasy XIV Online Controller mappings
offalynne Apr 6, 2023
67fdcdd
Add Linux mapping for Nintendo Switch Online N64 Controller (#676)
dephekt Apr 7, 2023
d86d943
typo
offalynne Apr 8, 2023
c3517cf
Adds THEGamepad mappings
offalynne Apr 12, 2023
4e867b1
Add Mapping for Raphnet Dual N64 controller to USB adapter (#679)
PFLI2 Apr 23, 2023
dbcb77c
Adds hid-nx-dkms mappings
offalynne Apr 25, 2023
38bda81
Update gamecontrollerdb.txt (#681)
eVenent Apr 26, 2023
765c868
Adds the Raphnet GC adapter to gamecontrollerdb.txt (#683)
caleb-lee May 3, 2023
423f6fb
Retroid Pocket Flip controller mappings
offalynne May 4, 2023
e0597ce
Sort keys
offalynne May 4, 2023
228d980
G Cloud axis correction
offalynne May 9, 2023
62f18d4
Adds THEC64 and THEGamepad Linux mappings
offalynne May 14, 2023
c5b4df0
Added Xbox Series Controller
Parrawk May 14, 2023
bdc5763
Fixed the SDL tool name, and added a link to its source code (#688)
denilsonsa Jun 4, 2023
3de06ff
Added Turtle Beach Recon (#689)
DropnFbombs Jun 5, 2023
5e25aec
Add PDP Kinetic Xbox Controller (#691)
shep7955 Jun 13, 2023
a2cf171
Add X-box One Elite 2 with version 0x407 (#690)
iacore Jun 13, 2023
3b612dd
Adds 8BitDo Ultimate 2.4g, Ultimate C, N64 Modkit, misc. fixes and so…
offalynne Jun 23, 2023
283585d
Add Mayflash MF103
offalynne Jun 25, 2023
69c2ca0
sort
offalynne Jun 25, 2023
8f2ddc0
Update README.md
offalynne Jul 10, 2023
ab9a5e8
Upstream Logitech Chillstream Linux mapping
offalynne Jul 11, 2023
4256db5
typo
offalynne Jul 13, 2023
da332bb
Clean up name fields for 8BitDo Pro 2
offalynne Jul 13, 2023
57dbe57
Add iGUGU Gamecore
offalynne Aug 4, 2023
9316dec
Add Mapping For Razer Wolverine V2 Pro (Wired/PS5) (#696)
IAmTheRedSpy Aug 5, 2023
cc9f777
Sort db
offalynne Aug 5, 2023
382d9fc
Clean up third party Nintendo Switch pads
offalynne Aug 17, 2023
dbcf31a
GameCube name cleanup
offalynne Aug 17, 2023
11dffca
Razer Kishi - fixed axes for right stick (#701)
eVenent Sep 1, 2023
9f8d74b
Add 8BitDo Micro and NEOGEO
offalynne Sep 4, 2023
09248ae
Add Sega Multi Controller
offalynne Sep 5, 2023
39434f7
Update gamecontrollerdb.txt
offalynne Sep 5, 2023
a749acf
Add mapping for GPD Win Max 2 (6800U model) controller (#704)
frikisama Sep 14, 2023
94c1c78
Add Linux Mapping for Razer Kishi v1
agizmo Sep 16, 2023
a76be9a
Merge pull request #705 from agizmo/master
offalynne Sep 16, 2023
8fe15eb
Update gamecontrollerdb.txt
vtetuan Sep 17, 2023
b56880b
GUID & Axis mapping corrections
offalynne Sep 17, 2023
8adb15e
Merge pull request #706 from vtetuan/master
offalynne Sep 17, 2023
5a757b8
Remove unexpected token
hajimehoshi Sep 18, 2023
e72ff9c
Merge pull request #708 from hajimehoshi/fix
offalynne Sep 18, 2023
adba7f2
add xbox one s controller
Sep 22, 2023
0957775
Remove unnecessary fields
offalynne Sep 22, 2023
17b1c37
Sort
offalynne Sep 23, 2023
fc4b33c
Merge pull request #709 from drewgonzales360/add-xbox-one-s
offalynne Sep 23, 2023
f83dfc6
Add Mobapad Chitu HD mappings
offalynne Sep 26, 2023
55f1a15
Adds Mac Mobapad mapping
offalynne Oct 2, 2023
664fac2
Update gamecontrollerdb.txt
revvv Oct 8, 2023
3d63fe0
Remove CRC from GUID, incorrect thumbstick axis mapping, and duplicat…
offalynne Oct 10, 2023
dfaef3e
Fix Windows GUID
offalynne Oct 10, 2023
6f3c4ed
Merge pull request #711 from revvv/master
offalynne Oct 10, 2023
b1f89e2
Add Xiaomi Black Shark Gamepad 2.0 (L)
eVenent Oct 11, 2023
54e2bd1
fix: Added new bindings for Xbox Elite 2 and Series X controllers in …
Oct 18, 2023
57ce0c0
Merge pull request #714 from Mikeysax/master
offalynne Oct 23, 2023
378f2da
Merge pull request #713 from eVenent/patch-1
offalynne Oct 23, 2023
eb831f7
Cleanup
offalynne Oct 23, 2023
c56329f
Updated link to SDL testcontroller and added entry for AntiMicroX (#715)
slouken Nov 2, 2023
f24c628
Fix: Correct controller guid for shanwan ps3 pc controller (#716)
magicaldave Nov 11, 2023
721b575
Name cleanup
offalynne Nov 14, 2023
5051f08
Add Nacon Revolution 5 Pro mappings
offalynne Nov 21, 2023
e6e422a
Sort db
offalynne Nov 21, 2023
d4ab609
Add SDL3 function name (#719)
Susko3 Nov 24, 2023
a2ae8f6
Add Raphnet N64 V3 (#723)
amiosi Dec 9, 2023
6555d47
Add PDP Wire Controller for PS3 (Linux Mapping) (#725)
995qa Dec 15, 2023
97f5c0d
Add ClockworkPi DevTerm for Linux (#729)
xordspar0 Dec 30, 2023
d7a95bd
Add PS5 Access Controller, thanks @neotechni
offalynne Dec 30, 2023
25915d3
Update NYKO Airflo EX mappings to match upstream. (#730)
AliceLR Jan 1, 2024
ff1b4c4
Added missing mapping for triggers on Logitech F310 (#731)
IovlevYuliy Jan 7, 2024
006dd4c
Correct Ouya analogue trigger mapping
offalynne Jan 12, 2024
6d96b98
Add upstream RX Gamepad mapping
offalynne Jan 16, 2024
a972cc7
Name cleanup
offalynne Jan 16, 2024
a988d52
Adding iCode Retro USB adapters (#732)
alijani1 Jan 18, 2024
eed48fc
Remove duplicate
offalynne Jan 18, 2024
25f9040
Add Hyperkin SQ Game Pad (#735)
petrutoader Jan 18, 2024
e5abc00
Name cleanup
offalynne Jan 18, 2024
81d89fd
Sort db
offalynne Jan 18, 2024
87ca9fd
Adds Egret II Mini mappings
offalynne Jan 22, 2024
232c738
Remove CRC from GUID
offalynne Jan 22, 2024
e15eac7
Adds comprehensive Backbone mappings
offalynne Feb 5, 2024
ae51c99
New Xbox Series X mapping (#737)
PKGaspi Feb 11, 2024
4ebc045
fix: Adding missing mapping (#738)
LeandroSQ Feb 19, 2024
d37c278
Add missing Switch Pro GUID, replace Retro Bit spoof with Horipad Swi…
offalynne Feb 20, 2024
1e9b11a
Remove mapping for generic Arduino ID
offalynne Feb 23, 2024
1867ddf
Add SFC30 GamePad
offalynne Feb 23, 2024
bb883b0
Add SNES to USB v2.2 (#746)
meet-vlad Feb 23, 2024
27ee867
Update Ipega mapping
offalynne Feb 24, 2024
1694dc5
Update Linux XInput adapter
offalynne Feb 24, 2024
6e3d67e
Retro Bit Saturn Wireless Pro Android mapping
offalynne Feb 24, 2024
c0bbd65
Add mapping for GUID returned by XBox Wireless Controller using xpadn…
karnkaul Feb 27, 2024
d81ebb2
Update gamecontrollerdb.txt
offalynne Feb 29, 2024
037d6a1
Update gamecontrollerdb.txt
offalynne Feb 29, 2024
16a690b
Update gamecontrollerdb.txt
offalynne Feb 29, 2024
b1e3427
Upstream Deck mapping
offalynne Feb 29, 2024
41e5b5b
Adds Anbernic Gamepad, removes ambiguous Retro Bit Android mapping
offalynne Mar 2, 2024
e1f095a
Add Xbox Elite Wireless Controller Series 2 - Core white to Linux and…
karlsabo Mar 4, 2024
3bc736f
Adds Mac mapping for Raphnet Wii Classic Adapter
offalynne Mar 8, 2024
e5a5fa2
Add missing axes for 8BitDo M30 DInput mode
offalynne Mar 11, 2024
b7933e4
Adds Yawman Arrow legacy mapping
offalynne Mar 26, 2024
5a48f0f
Update VCS Classic name
offalynne Apr 7, 2024
86e9ad3
Adds EasySMX mapping per #742
offalynne Apr 7, 2024
1344003
Merge branch 'master' of https://github.com/mdqinc/SDL_GameControllerDB
offalynne Apr 7, 2024
4c9b8da
Update VCS names
offalynne Apr 7, 2024
99c8ec9
Add Hori Split Pad Fit
offalynne Apr 8, 2024
5b4efa3
Add mappings for `1105` and `1405` Xbox Series X Controllers on Linux…
akien-mga Apr 23, 2024
3a72a91
Add Rapoo Gamepa, sort
offalynne Apr 26, 2024
f81dedb
Remove bad mapping per upstream
offalynne Apr 26, 2024
3418518
Add Rapoo Gamepad, sort
offalynne Apr 26, 2024
aa9cc41
Merge branch 'master' of https://github.com/mdqinc/SDL_GameControllerDB
offalynne Apr 26, 2024
d1ed3cb
Add whitelabel N64 gamepad
offalynne Apr 29, 2024
01700b1
Add/Update mappings for 8BitDo Ultimate 2.4G Controller on Linux (xpa…
xandayn May 1, 2024
45e17cc
Add 8BitDo Pro 2 mapping
offalynne May 5, 2024
47c7bf5
Add scuff envision (#754)
zany130 May 12, 2024
9d0c1c1
AYN Odin 2 (#756)
harmsc12 May 14, 2024
9b669d7
Sort
offalynne May 14, 2024
80abcd3
Update gamecontrollerdb.txt with Scuf envison-pro (#759)
zany130 May 18, 2024
deba57c
Added PowerA Xbox Series X Controller Linux bindings (#762)
emanvidmaker Jun 2, 2024
74186d4
Added Raphnet Dual GameCube Adapter v3.6 GNU/Linux mappings (#763)
kimimaru4000 Jun 4, 2024
655f8c1
Correct Android dpad mappings
offalynne Jun 6, 2024
0b349b0
Add missing touchpad fields
offalynne Jun 6, 2024
30cb02c
Add 8BitDo M30 Xbox mapping
offalynne Jun 7, 2024
9055df0
Add missing guide fields
offalynne Jun 7, 2024
b1e4090
Fixes mapping in existing xbox controller mapping, adds mapping for n…
MasonRemaley Jun 15, 2024
dc24d55
Add Microsoft Xbox Series X (#766)
99Fred Jun 20, 2024
4d6c3c7
VCS Classic mapping
offalynne Jun 22, 2024
b1759cf
Add support for another xbox wireless controller on MacOS (#767)
msvbg Jun 24, 2024
9d09945
4th Linux Xbox One S Controller GUID (#769)
retropieuser Jul 12, 2024
fac1895
Revert to Switch mapping for PowerA Core Wired
offalynne Jul 16, 2024
2f62932
Revert to Switch mapping for PowerA Core Wired
offalynne Jul 16, 2024
c5d63b2
Update mapping for Xbox Once Controller on macOS 14.4. (#775)
raphaelmenges Jul 23, 2024
327f2e9
Add mappings, sort
offalynne Jul 31, 2024
8bab24a
Typo
offalynne Jul 31, 2024
c5615f9
Adding the AtGames Legends Gamer Pro arcade controller (#778)
johnz1 Aug 2, 2024
4415da1
Remove duplicate GUID with inconsistent XInput mapping
offalynne Aug 12, 2024
5158d70
Generalize 8BitDo XInput Linux mapping
offalynne Aug 12, 2024
075c154
Update gamecontrollerdb.txt
offalynne Aug 12, 2024
380bc73
Add 8BitDo 2C and other mappings
offalynne Aug 20, 2024
b436c96
Added Generic X-Box pad mapping for linux (#780)
neyhden Aug 22, 2024
b4001f8
Update README.md
offalynne Aug 23, 2024
f1d4f7c
Add 8BitDo Wired 2C
offalynne Sep 3, 2024
db939db
Android PS3 mapping correction
offalynne Sep 4, 2024
6cc3a93
Update gamecontrollerdb.txt (#781)
cahmer Sep 6, 2024
15b5e9f
Add extra shoulders to 8BitDo 2C Wireless
offalynne Sep 9, 2024
6b718dc
Remove invalid mappings
offalynne Sep 16, 2024
a236aa5
New Linux additions (#787)
rtomasa Sep 17, 2024
a5809fd
Sort
offalynne Sep 17, 2024
414eaee
add 8bitdo n64 modkit linux mapping (#789)
twhitbeck Sep 18, 2024
0f4081f
Add support for PDP REALMz Wired Controller Switch (#790)
yodaxtah Sep 21, 2024
a27ff22
Add 8BitDo GameCube modkit, sort
offalynne Oct 2, 2024
3756444
Add new XBOX One Wireless Controller (#791)
eruvanos Oct 4, 2024
4672f15
Add VEX V5 controller (#792)
NoozAbooz Oct 5, 2024
3e9c16a
Added the Wish Technologies Adaptoid NA105 for Linux (#793)
jakebriggs Oct 9, 2024
3999c30
Add Xbox One S Controller to the database (#794)
imnottimaq Oct 10, 2024
915da07
Adding support for DATA FROG S80 Wireless Controller on Linux (#796)
ahwelp Oct 14, 2024
b11c129
Sort db
offalynne Oct 14, 2024
bc6d1fc
Adding support for Retro Bit Legacy16 on Linux (#797)
ytnuf Oct 17, 2024
c3c4022
Add support for Nacon Revolution 5 Pro on Linux (#798)
Billli11 Oct 19, 2024
5cce4de
Adds Horipad Steam
offalynne Oct 19, 2024
08715f7
Add 8Bitdo Adapter 2 mapping
offalynne Oct 25, 2024
920dc24
Removal missing character
offalynne Nov 3, 2024
57c8ab1
Remove missing character
offalynne Nov 3, 2024
4719cab
Merge branch 'master' of https://github.com/mdqinc/SDL_GameControllerDB
offalynne Nov 3, 2024
cfc2bff
Upstream changes
offalynne Nov 5, 2024
c749815
Add Anbernic RG P01
offalynne Nov 20, 2024
f3a69a9
Add Dual Shock 4 revision (Linux) (#805)
exkc Nov 22, 2024
1a72d8e
NVIDIA Controller cleanup
offalynne Nov 30, 2024
cb43b1e
Stadia name cleanup
offalynne Nov 30, 2024
35377db
Clean up Sony, Thrustmaster descriptions
offalynne Nov 30, 2024
ea4546b
Add entry for another Xbox One S controller. (#810)
mandykoh Dec 1, 2024
aaae691
Update gamecontrollerdb.txt (Add mapping for DualSense Edge/ Linux) (…
streamingdv Dec 2, 2024
7c6a57b
Restore PS5 mapping, sort
offalynne Dec 2, 2024
6aa2a7e
Add PB Tails Choc
offalynne Dec 10, 2024
b67b250
Name cleanup
offalynne Dec 13, 2024
9e4f34d
Mapping for 'Jess Tech Colour Rumble' on Linux (#811)
cpfr Dec 15, 2024
bb9a759
Add Razer Huntsman V3 Pro (#813)
eVenent Dec 17, 2024
e9d11d9
Cleanup, sort
offalynne Dec 17, 2024
c51c6ad
Closes #816
offalynne Dec 27, 2024
ced0604
Closes #819
offalynne Dec 29, 2024
dba6588
Add support for SNK Neo Geo Arcade Stick Pro on Mac OS X (#818)
kemar Dec 29, 2024
c2f0f3e
Sort
offalynne Jan 2, 2025
793346b
Added PowerA Advantage Controller for Linux (#820)
Squidroot2 Jan 9, 2025
493707d
Remove NEOGEO ASP (GUID/mapping conflict)
offalynne Jan 14, 2025
a453871
Update LICENSE
offalynne Jan 14, 2025
3637a08
Upstream, sort
offalynne Jan 16, 2025
1b89a5d
Remove cap sense mappings on Horipad Steam
offalynne Jan 18, 2025
2ab3df7
Add Horipad Steam Windows mapping
offalynne Jan 18, 2025
a74711e
Name cleanup
offalynne Jan 23, 2025
d0e51ed
Add Razer Wolverine Ultimate Xbox per #830
offalynne Jan 28, 2025
15ec105
Flydigi APEX 4 D-input mappings (#829)
zany130 Jan 28, 2025
bddb30e
Sort
offalynne Jan 28, 2025
c7636cc
added linux support for the PDP Xbox Atomic controller (#831)
Khusheete Feb 1, 2025
0aea721
Saffun generic
offalynne Feb 5, 2025
26f70da
Sort
offalynne Feb 5, 2025
6c9d4e2
add PowerA Xbox Series X (#832)
cluttered-code Feb 21, 2025
9a70746
Manba Mini, Manba One
offalynne Feb 22, 2025
d04bbc4
Update README.md
offalynne Feb 22, 2025
da179de
Add upstream mapping
offalynne Feb 22, 2025
dfb332a
GeekyFab adapter analogue triggers
offalynne Feb 23, 2025
f02a47c
Upstream
offalynne Feb 28, 2025
773a186
Sort
offalynne Mar 1, 2025
dc9ea05
Update README.md
offalynne Mar 5, 2025
1275aac
Add Mad Catz FightStick Alpha
offalynne Mar 10, 2025
724b1e1
Adds Brook Audio Fighting Board mappings for Linux
offalynne Mar 12, 2025
90d258f
Microsoft Xbox One 045e:02ea (#836)
mfutselaar Mar 20, 2025
eafa1a5
Adds generic mapping for Retro Fighters controller
offalynne Mar 22, 2025
f12b7db
Fix `GO-Super Gamepad` mapping (#837)
viniciusjarina Mar 23, 2025
ace360b
Add Venom joystick Linux mappings
offalynne Mar 24, 2025
722f8e6
add Nacon MG-X Pro Linux mappings (#838)
cbuild0 Mar 30, 2025
860ac45
Add linux Xbox Series S|X mapping to gamecontrollerdb.txt (#839)
rojuvi Mar 31, 2025
8834de5
Update gamecontrollerdb.txt with updated firmware xbox series control…
rojuvi Apr 2, 2025
62d3999
Sort
offalynne Apr 2, 2025
eb76d84
Update gamecontrollerdb.txt with EMS TrioLinker Plus II (Windows) (#841)
Athorcis Apr 6, 2025
f2ca0c9
Update gamecontrollerdb.txt with Raphnet Wii Classic V3 (Linux) (#842)
donnelapatte Apr 14, 2025
5905f86
Add Nokia GC 5000 (#843)
eVenent Apr 14, 2025
3266af4
Remove newer mapping tools
offalynne Apr 18, 2025
a6dbad6
Update NSO N64 Controller mappings (#848)
0B001C Apr 19, 2025
7b1ea55
Adds PS5 Hori Octa Commander Wireless
offalynne Apr 19, 2025
2d306e1
Update check.yml
offalynne Apr 19, 2025
13f70a6
Revert 7b1ea55
offalynne Apr 19, 2025
8faeddf
Revert generic BT NSO N64 mapping
offalynne Apr 20, 2025
e7aecb6
Update NSO SNES Linux mappings per hid-nintendo
offalynne Apr 20, 2025
27dfb51
Add Rockfire Space Ranger
offalynne Apr 24, 2025
e84a526
Add NSO Genesis Controller
offalynne Apr 24, 2025
fbb3ee7
Add 2 revisions of Raphnet Dual N64 to USB (#849)
kholdfuzion Apr 25, 2025
c80b3bb
add PPSSPP mappings
offalynne Apr 27, 2025
e64e724
Merge branch 'master' of https://github.com/mdqinc/SDL_GameControllerDB
offalynne Apr 27, 2025
56c8571
Add Elecom mappings
offalynne Apr 29, 2025
3e8bebe
Correct 8BitDo GameCube Modkit GUID
offalynne Apr 30, 2025
010c68e
Retroid Pocket controller
offalynne May 3, 2025
bf5fd59
More Android Switch mappings
offalynne May 6, 2025
6a63ec5
Sort
offalynne May 6, 2025
c9af976
Android Xbox mapping
offalynne May 6, 2025
f966f2f
Adds GameSir Kaleid Flux
offalynne May 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Data check
on:
push:
branches: [master]
jobs:
duplicates:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: |
python duplicates.py
4 changes: 1 addition & 3 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@

Simple DirectMedia Layer
Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
Expand Down
53 changes: 40 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,51 @@
##SDL_GameControllerDB
# SDL_GameControllerDB

A community sourced database of game controller mappings to be used with SDL2 and SDL3 Game Controller functionality.

A community source database of game controller mappings to be used with SDL2 Game Controller functionality.
# Usage
Download gamecontrollerdb.txt, place it in your app's directory and load it.

####Usage:
SDL2:
```c
SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt");
```

SDL3:
```c
SDL_AddGamepadMappingsFromFile("gamecontrollerdb.txt");
```

Download gamecontrollerdb.txt, place it in your app's directory and load with:
The database is compatible with SDL v2.0.10 and newer.

## Create New Mappings
A mapping looks like this:
```
SDL_GameControllerAddMappingsFromFile("gamecontrollerdb.txt");
030000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
```
It includes controller GUID (`030000004c050000c405000000010000`), a name (`PS4 Controller`), button / axis mappings (`leftshoulder:b4`) and a platform (`platform:Mac OS X`).

Please make sure to check that the name is a good description of the controller. If relevant, include the controller's name and model number.

## Mapping Guide

####Creating new mappings:
![SDL Game Controller Mapping Guide](mapping_guide.png)

To create new mappings, you can use the controllermap utility provided with
SDL2, or using Steam's Big Picture mode, configure your joystick and then
look in config/config.vdf in your Steam installation directory for the
SDL_GamepadBind entry.
## Mapping Tools
There are a few different tools that let you create mappings.

### [SDL2 Gamepad Tool](http://www.generalarcade.com/gamepadtool/)
Third party cross-platform tool with GUI (Windows, macOS and Linux)

*While convenient, this tool has fallen out of date as SDL has amended and added new features for gamepad support (see [#478](https://github.com/gabomdq/SDL_GameControllerDB/issues/476)). Maps authored with this tool require maintainer scrutiny to ensure they will not break support for explicit mappings the SDL project provides.*

### [SDL](https://github.com/libsdl-org/SDL/releases/latest)
[testcontroller (SDL3)](https://github.com/libsdl-org/SDL/blob/main/test/testcontroller.c) and [controllermap (SDL2)](https://github.com/libsdl-org/SDL/blob/SDL2/test/controllermap.c) utilities are the official tools to create these mappings on all SDL supported platforms (Windows, Mac, Linux, iOS, Android, etc).

```
"SDL_GamepadBind" "030000004c050000c405000000010000,PS4 Controller,platform:Windows,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,"
```

####References:
## Resources

* [SDL2](http://www.libsdl.org)
* [SDL_GameControllerAddMappingsFromFile](http://wiki.libsdl.org/SDL_GameControllerAddMappingsFromFile)
* [SDL](http://www.libsdl.org)
* [SDL_GameControllerAddMappingsFromFile](http://wiki.libsdl.org/SDL_GameControllerAddMappingsFromFile)
26 changes: 26 additions & 0 deletions duplicates.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# SPDX-License-Identifier: Zlib

import difflib
import sys

CROSS_PLATFORM=False
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E225: missing whitespace around operator


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]


cdict = {}
for i, l in enumerate(open("gamecontrollerdb.txt")):
l = l.strip()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E741: ambiguous variable name 'l'


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

if l.startswith("#") or not l:
continue

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

W293: blank line contains whitespace


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

c = l.split(",")
key = tuple([c[0]]+[ce for ce in c[1:] if "platform:" in ce])
if CROSS_PLATFORM:
key = c[0]

if key in cdict:
print("Duplicate:", c[1], "at line", i + 1)
out = list(difflib.unified_diff(cdict[key], sorted(c), n=0))[3:]
out = [o for o in out if not o.startswith("@@")]
print("\t", " ".join(out))
if not CROSS_PLATFORM:
sys.exit(1)
cdict[key] = sorted(c)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

W292: no newline at end of file


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.


Help us improve LIFT! (Sonatype LiftBot external survey)

Was this a good recommendation for you? Answering this survey will not impact your Lift settings.

[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]

Loading