# Big thread of gamepad testing

**URL:** <https://forum.defold.com/t/big-thread-of-gamepad-testing/56032>\
**Category:** The Defoldmine\
**Created:** [June 26, 2019, 10:06am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032 "2019-06-26T10:06:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [June 26, 2019, 10:06am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/1 "2019-06-26T10:06:47Z")

</div>

Now that 1.2.157 is out, having a bunch of different gamepads, I decided to test them all on as many platforms and as many connection modes as I can, looking for issues. I’ll keep updating this post as I go through them all.

Feel free to post your own findings for your own controllers in this structured format.

I used [Controllers Lite](https://apps.apple.com/us/app/controllers-lite/id673660806?mt=12) (abrev. CL from now on) on macOS to cross-check that the gamepads actually work. All the Linux tests were made on Ubuntu 18.04.2.

**Gamepad Tester project:** [publicexamples/examples/gamepad\_tester at master · britzl/publicexamples · GitHub](https://github.com/britzl/publicexamples/tree/master/examples/gamepad_tester)

**gdc tool**  
There are versions of the GDC tool for Windows, Linux and macOS. Download from the latest GitHub Release of Defold: [Releases · defold/defold · GitHub](https://github.com/defold/defold/releases)

## TLDR:

Just download this and most things will work:  
[all\_gamepads.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/0/e/0e45e15c0c8fc2fc413ae265f65b73d3c3b6b4ba.txt) (450.7 KB)

## Big table of gamepads

| Gamepad | OS | Issues | Gamepad mapping |
| --- | --- | --- | --- |
| Xbox One (Bluetooth) | macOS | `gdc` doesn’t see triggers (Button 18/19, analog, in CL) and the share and guide buttons (Button 17/1 in CL). Everything else works. | [xboxone\_bt\_mac.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/7/0/7068430be9599347c1cb25bf948efdd1aa67e604.txt) (2.7 KB) |
| Xbox One (Bluetooth) | Windows | Same issue as Xbox 360 Wireless | See xbox360\_win.gamepads.txt |
| Xbox One (Bluetooth, default Ubuntu driver) | Linux | Driver doesn’t report share and guide buttons. Everything else works. | [xboxone\_bt\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/4/9/49edd7ba7e90afb40daa3e45532fc9e389f5e7b3.txt) (3.3 KB) |
| Xbox One (Bluetooth, [xpadneo driver](https://github.com/atar-axis/xpadneo)) | Linux | All ok, but has the same name as the default driver, so cannot use both maps at the same time. | [xboxone\_xpadneo\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/f/6/f6d411d86662ece95a82c7facb2b53051a2effbd.txt) (2.6 KB) |
| Xbox One (USB) ([driver](https://github.com/360Controller/360Controller/releases/tag/v1.0.0-alpha.3)) | macOS | All ok | default.gamepads |
| Xbox One (USB) | Windows | Same issue as Xbox 360 Wireless | See xbox360\_win.gamepads.txt |
| Xbox One (USB) | Linux | All ok | [xboxone\_usb\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/3/7/37adec65f2cb889e72cb550921f669bd4c26ff08.txt) (2.6 KB) |
| Xbox 360 Wireless (with dongle) ([driver](https://github.com/360Controller/360Controller/releases/tag/v1.0.0-alpha.3)) | macOS | All ok | default.gamepads |
| Xbox 360 Wireless (with dongle) | Windows | Using `default.gamepads` the triggers are stuck in the 0.5-1.0 range. Creating a new mapping with gdc works ok. [Forum post](https://forum.defold.com/t/xbox-360-controller-mapping-in-builtins-input-default-gamepads-has-broken-triggers/56043) | [xbox360\_win.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/3/b/3b433f1a5684df0b74bcfe9be82f62b5450959fe.txt) (2.3 KB) |
| Xbox 360 Wireless (with dongle) | Linux | All ok | [xbox360\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/b/4/b437daf95e9650ae501086ad7bd558d7232c2307.txt) (2.6 KB) |
| DualShock 4 (Bluetooth) | macOS | Defold sees it as “Wireless Controller” and uses the same mapping as USB DS4. `gdc` sees it, but pressing anything does nothing. [Forum post](https://forum.defold.com/t/dualshock-4-via-bluetooth-on-macos-misbehaves/55958) | |
| DualShock 4 (Bluetooth) ([driver](http://ds4windows.com/)) | Windows | Same issue as Xbox 360 Wireless; gdc freezes with this connected, but works in-engine | See xbox360\_win.gamepads.txt |
| DualShock 4 (Bluetooth) | Linux | All ok | [ds4\_bt\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/f/6/f62b6404042561047736b3661064e4ede00c37ce.txt) (3.5 KB) |
| DualShock 4 (USB) | macOS | All ok | default.gamepads |
| DualShock 4 (USB) ([driver](http://ds4windows.com/)) | Windows | Same issue as Xbox 360 Wireless; gdc freezes with this connected, but works in-engine | See xbox360\_win.gamepads.txt |
| DualShock 4 (USB) | Linux | All ok | [ds4\_usb\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/0/e/0ed828dfcc25c49bfafbfa91744bcc2c9464711f.txt) (3.6 KB) |
| JoyCon L (Bluetooth) | macOS | All ok. Stick is not analog due to OS driver limitations | [joycon\_l\_mac.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/d/f/df965c9f28b2d2143602b46d2f1a22e5de5fc674.txt) (1.0 KB) |
| JoyCon R (Bluetooth) | macOS | All ok. Stick is not analog due to OS driver limitations | [joycon\_r\_mac.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/2/4/242399eb9182e32459df7e11d97f05061389c0d5.txt) (1.0 KB) |
| JoyCon L (Bluetooth) ([driver](https://github.com/fossephate/JoyCon-Driver)) | Windows | Couldn’t get it to recognize as an XInput device (probably driver issue) | |
| JoyCon R (Bluetooth) ([driver](https://github.com/fossephate/JoyCon-Driver)) | Windows | Couldn’t get it to recognize as an XInput device (probably driver issue) | |
| JoyCon L (Bluetooth) | Linux | All ok. Stick is not analog due to OS driver limitations | [joycon\_l\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/9/2/92a4a8e704c7eff8f3e48188a27abec5425fe776.txt) (1.6 KB) |
| JoyCon R (Bluetooth) | Linux | All ok. Stick is not analog due to OS driver limitations | [joycon\_r\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/1/3/1374e6d246f4bbe688876bf2287088b71ada9327.txt) (1.6 KB) |
| Logitech Chillstream (old aftermarket Wired 360 clone, XInput) (USB) ([driver](https://github.com/360Controller/360Controller/releases/tag/v1.0.0-alpha.3)) | macOS | All ok | default.gamepads |
| Logitech Chillstream (USB) | Windows | Same issue as Xbox 360 Wireless | See xbox360\_win.gamepads.txt |
| Logitech Chillstream (USB) | Linux | All ok | [chillstream\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/9/5/956c5897f817173bf560cd53413b4b599802cd49.txt) (2.6 KB) |
| Genius Maxfire Blaze 3 (ancient DualShock 1 clone, DirectInput) (USB) | macOS | All ok | [maxfireblaze3\_mac.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/3/9/39bb31bde0eebd627f8f5837d87155c07b9aa4a6.txt) (2.2 KB) |
| Genius Maxfire Blaze 3 (USB) | Windows | Doesn’t work due to it not being XInput | |
| Genius Maxfire Blaze 3 (USB) | Linux | All ok | [maxfireblaze3\_linux.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/b/8/b8f1f0a747c6d3b5b8050c6e4489dc7507564a8d.txt) (3.3 KB) |

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [June 26, 2019, 8:37pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/2 "2019-06-26T20:37:10Z")

</div>

Wow, impressive work! We should be able to add the mappings you’ve shared to builtins. @AGulev can you please create a ticket for this?

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [June 26, 2019, 9:08pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/3 "2019-06-26T21:08:26Z")

</div>

Wow, thanks a lot @dapetcu21! Really helpful!

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [June 26, 2019, 9:16pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/4 "2019-06-26T21:16:20Z")

</div>

Thanks! I’ll concatenate all the mappings tomorrow, together with what’s already in builtins, but I wouldn’t add the Maxfire Blaze and Logitech Chillstream to builtins. They’re ancient, out of production controllers me and a colleague had since childhood 😆 .

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [June 27, 2019, 8:59am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/5 "2019-06-27T08:59:56Z")

</div>

I found this in the xpad driver source code, and I was wondering if we should add all those controller names (at least the ones with XTYPE\_XBOX360 and XTYPE\_XBOXONE) to the default .gamepads file. They probably have the same button maps (They were consistent between Xbox One, Xbox 360 and Chillstream from what I noticed).

For example, there are at least 3 versions of the Xbox One controller, with different names.

> <https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.c>

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [June 27, 2019, 9:33am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/6 "2019-06-27T09:33:21Z")

</div>

Here’s the .gamepads file with all the gamepads (what was already there in default.gamepads, Xbox 360, Xbox One, DS4, Joycons, plus all the xpad gamepads on Linux).

[all\_gamepads.gamepads.txt](https://defold-forum-bucket.nbg1.your-objectstorage.com/original/3X/0/e/0e45e15c0c8fc2fc413ae265f65b73d3c3b6b4ba.txt) (450.7 KB)

To sum up:

- On macOS, the DS4 controller doesn’t work at all via Bluetooth
- On macOS, the Xbox One controller via Bluetooth is missing triggers and the share and guide buttons
- On Windows, the Xbox 360 binding in default.gamepads had wrong trigger ranges. I replaced it with a working one
- On Linux, it would be cool to be able to differentiate between Xbox One Bluetooth via xpadneo vs default HID driver.
- On Linux, gdc crashes on startup for me (and it crashes for @Klear on Windows)
- On Windows, gdc freezes, then exits silently when a DS4 is connected

---

<div class="post-metadata">

**Author:** ![AGulev](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/agulev/32/4541_2.png) [@AGulev](https://forum.defold.com/u/AGulev)\
**Post date:** [June 27, 2019, 10:00am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/7 "2019-06-27T10:00:18Z")

</div>

I added new task for that: `Issue-4217` ( #4217)

---

<div class="post-metadata">

**Author:** ![AGulev](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/agulev/32/4541_2.png) [@AGulev](https://forum.defold.com/u/AGulev)\
**Post date:** [August 8, 2019, 4:08pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/8 "2019-08-08T16:08:30Z")

</div>

Hi, I found duplicates in you list for linux:  
device: “Mad Catz Xbox 360 Controller”  
device: “Afterglow AX.1 Gamepad for Xbox 360”  
device: “PDP Xbox One Controller”  
device: “Rock Candy Gamepad for Xbox 360”  
device: “Logic3 Controller”  
device: “PDP Afterglow AX.1”  
device: “SteelSeries Stratus Duo”  
device: “PDP AFTERGLOW AX.1”  
device: “Razer Sabertooth”  
device: “Razer Atrox Arcade Stick”  
device: “Xbox Airflo wired controller”  
device: “ThrustMaster Ferrari 458 Racing Wheel”

I think I can remove it? (or maybe duplicates should have another platform?)

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [August 8, 2019, 4:59pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/9 "2019-08-08T16:59:02Z")

</div>

Sure, if you found duplicates, you can remove them

---

<div class="post-metadata">

**Author:** ![AGulev](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/agulev/32/4541_2.png) [@AGulev](https://forum.defold.com/u/AGulev)\
**Post date:** [August 19, 2019, 12:50pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/10 "2019-08-19T12:50:08Z")

</div>

> [@AGulev](#):
>
> I added new task for that: `Issue-4217` ( #4217)

Solved in [Defold 1.2.160 has been released](https://forum.defold.com/t/defold-1-2-160-has-been-released/60637)

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [October 22, 2019, 1:35pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/11 "2019-10-22T13:35:35Z")

</div>

Update for Catalina:

DS4 through Bluetooth shows up as “DUALSHOCK 4 Wireless Controller” instead of just “Wireless Controller”, but gdc crashes with a segfault immediately after that.

---

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [October 22, 2019, 1:51pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/12 "2019-10-22T13:51:48Z")

</div>

Yeah. gdc crashes on Catalina no matter the controller

---

<div class="post-metadata">

**Author:** ![Pkeod](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/pkeod/32/606_2.png) [@Pkeod](https://forum.defold.com/u/Pkeod)\
**Post date:** [May 27, 2022, 11:21pm UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/13 "2022-05-27T23:21:48Z")

</div>

gdc tool does not detect joycons on Windows 11, seems to crash / close on its own.

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [May 28, 2022, 5:41am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/14 "2022-05-28T05:41:57Z")

</div>

Thanks, we’ll look into it!

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [May 31, 2022, 7:47am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/15 "2022-05-31T07:47:56Z")

</div>

Created GitHub issue: [gdc tool crashes on Windows 11 · Issue #6658 · defold/defold · GitHub](https://github.com/defold/defold/issues/6658)

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [July 6, 2022, 8:12am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/16 "2022-07-06T08:12:43Z")

</div>

I’m getting reports that DualShock 5 isn’t working. I checked the list in the original post and indeed it only goes as far as 4. I tried to download the utility but I get a 404.

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [July 6, 2022, 8:16am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/17 "2022-07-06T08:16:34Z")

</div>

Each of the gdc links worked for me here (version 1.3.4):  
[http://d.defold.com/stable/](http://d.defold.com/stable/)

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [July 6, 2022, 8:32am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/18 "2022-07-06T08:32:50Z")

</div>

Thanks! Managed to get the utility from there.

I don’t own a DualShock 5 but my friend does. He reports that the utility is not detecting any controllers. He is confident that the controller works (i.e. it is currently being detected by other games). As expected, Fates of Ort is not detecting the gamepad. I imagine this is the case for all Defold games.

What might we do next? 🤔

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [July 6, 2022, 8:34am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/19 "2022-07-06T08:34:29Z")

</div>

> [@Alex\_8BitSkull](#):
>
> What might we do next?

Do you get any raw input from the DualShock 5?

> **[Raw gamepads - Gamepad input in Defold](https://defold.com/manuals/input-gamepads/#raw-gamepads)**
>
> It is recommended that you familiarize yourself with the general way in which input works in Defold, how to receive input and in which order input is received in your script files. Learn more about the input system in the Input Overview manual. |...

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [July 6, 2022, 8:36am UTC](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032/20 "2022-07-06T08:36:28Z")

</div>

No. Well, I haven’t previously checked for “raw” specifically but when I print the action\_id nothing is returned at all, and we’d expect “raw” there.

[Next page](https://forum.defold.com/t/big-thread-of-gamepad-testing/56032.md?page=2)
