# Dolphin/Gamecube controllers?

**URL:** <https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559>\
**Category:** General\
**Created:** [October 1, 2021, 7:34am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559 "2021-10-01T07:34:41Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 1, 2021, 7:34am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/1 "2021-10-01T07:34:41Z")

</div>

Hello there. I just found EmuELEC a few days ago by accident and so far I’m LOVING it! I even bought two Logitech F710 to enjoy games! So first of all, I would like to send a huge THANK YOU to the contributors for making this project possible.

That being said, I began to research the limits of the platform, because as a programmer, I always like to play with config files and stuff. I discovered that there is some “partial” support for GC/Wii games through Dolphin.

Now, I know there’s no official support for Dolphin/GameCube and Wii games, or at least that’s what I have deduced after reading the wiki, the forums, the net in general… Although I remember seeing on an issue that 4.2 would have some automatic configs for Dolphin but anyways, by now all has to be done manually, and that’s fine by me.

Also, I know that not all devices can run GC recently, but as an owner of a GT KING PRO, I decided to give it a try.

It seems to me that there’s almost no info on how to configure this. I downloaded Dolphin packages within RetroArch with the Content Downloader option (or whatever is called, can’t remember exactly now). I placed roms inside gamecube folder within roms folder. All is good, game is running smoothly but, no controller input whatsover. Luckily enough, Hotkey+Start exits the game (without double press check this time).

Now, I’ve found a couple of post in other forums talking about a mapping config file for the controller. I don’t know if rules allow me to post them here, will do if allowed. But in short, I still don’t know these:

1 - Where to put this mapping file?  
2 - How to configure it? I have to specify my controller dev name and I have no idea what would that be  
3 - How to map buttons? I don’t know my keycodes or what the mapping file expects me to put for button mapping

Also, hotkeys do not work, pressing R3+L3 for bringing up RetroArch menu does not work. Is this normal?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [October 1, 2021, 12:45pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/2 "2021-10-01T12:45:55Z")

</div>

SSH in and the file should be located at:  
~/.config/emuelec/configs/dolphin-emu/GCPadNew.ini

My sample contents is below. You get the button values by when controller is connected to ES.

For your controllers the device and button values can be obtained from here:

> **[Logitech controller And Gamecube Games](https://forum.recalbox.com/topic/14129/logitech-controller-and-gamecube-games)**
>
> Has anyone had any luck getting there Logitech Controller to work with the Gamecube Emulator. Running latest REcalbox on a dell optiplex 3010 . The games runs fine but don't seem to get any working buttons and only 2 directions work.. Please...

If you dont know the button values I think they can be obtained from the utility xinput. In a linux setup in type “xinput” it will then list the devices, then enter “xinput test \<device\_id\>”, and any controller button pressed it should show the correct code.  
UPDATE: emuelec doesnt have xinput so you will have to do it on a linux box.

@shantigilbert can we get the xinput utility or is there an alternative solution to get the map values?

GCPadNew.ini

```auto
[GCPad1]
Device = evdev/0/Sony PLAYSTATION(R)3 Controller
Buttons/A = Button 14
Buttons/B = Button 13
Buttons/X = Button 15
Buttons/Y = Button 12
Buttons/Z = Button 9
Buttons/Start = Button 3
Main Stick/Up = Axis 1-
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+
Main Stick/Modifier = Shift_L
Main Stick/Modifier/Range = 50.000000000000000
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2+
C-Stick/Right = Axis 2-
C-Stick/Modifier = Control_L
C-Stick/Modifier/Range = 50.000000000000000
Triggers/L = Button 10
Triggers/R = Button 11
D-Pad/Up = Button 4
D-Pad/Down = Button 6
D-Pad/Left = Button 7
D-Pad/Right = Button 5
[GCPad2]
Device = evdev/1/Sony PLAYSTATION(R)3 Controller
Buttons/A = Button 14
Buttons/B = Button 13
Buttons/X = Button 15
Buttons/Y = Button 12
Buttons/Z = Button 9
Buttons/Start = Button 3
Main Stick/Up = Axis 1-
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+
Main Stick/Modifier = Shift_L
Main Stick/Modifier/Range = 50.000000000000000
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2+
C-Stick/Right = Axis 2-
C-Stick/Modifier = Control_L
C-Stick/Modifier/Range = 50.000000000000000
Triggers/L = Button 10
Triggers/R = Button 11
D-Pad/Up = Button 4
D-Pad/Down = Button 6
D-Pad/Left = Button 7
D-Pad/Right = Button 5

```

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [October 1, 2021, 12:52pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/3 "2021-10-01T12:52:12Z")

</div>

exiting dolphin, should HOME+START, but you need the latest dev version to read the SDL gamecotnrollerdb.text if your controller is not picked up by default.

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 1, 2021, 1:00pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/4 "2021-10-01T13:00:06Z")

</div>

Yup, finally got it working, thanks! I was going crazy about the mapping.

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 1, 2021, 1:01pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/5 "2021-10-01T13:01:21Z")

</div>

Is there a way to bring up the RetroArch interface with L3+R3? Or the only hotkey working is HOME+START? Is there any GUI configs? I guess not, neighter a fancy way to map buttons through interface…

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [October 1, 2021, 1:13pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/6 "2021-10-01T13:13:59Z")

</div>

Sorry its the HOTKEY+START buttons you have set in emulation station, and it’s fixed in gptokeyb I think.

Oh yeah and here is the GC button mapping for reference:  
[GC Controller Layout](https://en.wikipedia.org/wiki/GameCube_controller#/media/File:GCController_Layout.svg)

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 1, 2021, 1:30pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/7 "2021-10-01T13:30:58Z")

</div>

Yes, HOTKEY+START works fine. What I mean is, there’s no fancy RetroArch (or whatever) emulator GUI, right? And no fancy GUI mapping for controller I guess… The config from the link worked for my controller, but on the game menu (RE2) seems buggy, like the down button is pressed all the time… I guess I’ll plug the controller to my linux, then read the code and try to build an ini file myself…

Anyway, If you got any more useful info, please post!

Thanks!

---

<div class="post-metadata">

**Author:** ![EmuELEC](https://yyz2.discourse-cdn.com/free1/user_avatar/emuelec.discourse.group/emuelec/32/26_2.png) [@EmuELEC](https://emuelec.discourse.group/u/EmuELEC)\
**Post date:** [October 1, 2021, 3:37pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/8 "2021-10-01T15:37:28Z")

</div>

Dolphin is not a Retroarch emulator, so no, there is no GUI for Dolphin

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 2, 2021, 3:44pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/9 "2021-10-02T15:44:21Z")

</div>

Sooo, after some trial and error, here’s my own GCPadNew.ini for two Logitech F710, with comments to understand it better:

```auto
; Controller 1 settings section

[GCPad1]

; First connected F710
Device = evdev/0/Logitech Gamepad F710

; Sensivity settings for Main Stick (GC) or left stick (F710)
Main Stick/Dead Zone = 25.000000000000000

; Sensivity settings for C-Stick (GC) or right stick (F710)
C-Stick/Dead Zone = 25.000000000000000

; D-Pad buttons
D-Pad/Up = Axis 7-
D-Pad/Down = Axis 7+
D-Pad/Left = Axis 6-
D-Pad/Right = Axis 6+

; Button B
Buttons/X = Button 1

; Button A
Buttons/A = Button 0

; Button X
Buttons/B = Button 2

; Button Y
Buttons/Y = Button 3

; Button Start
Buttons/Start = Button 7

; Left Stick
Main Stick/Up = Axis 1-
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+

; Right Stick
C-Stick/Up = Axis 4-
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
C-Stick/Right = Axis 3+

; Button LB
Triggers/L = Button 4

; Button RB
Triggers/R = Button 5

; Button RT
Buttons/Z = Axis 5+

; Unused F710 buttons: Back (Button 6); LT (Axis 2+)

; Controller 2 settings section

[GCPad2]

; Second connected F710
Device = evdev/1/Logitech Gamepad F710

; Sensivity settings for Main Stick (GC) or left stick (F710)
Main Stick/Dead Zone = 25.000000000000000

; Sensivity settings for C-Stick (GC) or right stick (F710)
C-Stick/Dead Zone = 25.000000000000000

; D-Pad buttons
D-Pad/Up = Axis 7-
D-Pad/Down = Axis 7+
D-Pad/Left = Axis 6-
D-Pad/Right = Axis 6+

; Button B
Buttons/X = Button 1

; Button A
Buttons/A = Button 0

; Button X
Buttons/B = Button 2

; Button Y
Buttons/Y = Button 3

; Button Start
Buttons/Start = Button 7

; Left Stick
Main Stick/Up = Axis 1-
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+

; Right Stick
C-Stick/Up = Axis 4-
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
C-Stick/Right = Axis 3+

; Button LB
Triggers/L = Button 4

; Button RB
Triggers/R = Button 5

; Button RT
Buttons/Z = Axis 5+

; Unused F710 buttons: Back (Button 6); LT (Axis 2+)

```

Buttons and axis numbers were found by typing `jstest /dev/input/js0` directly on EmuELEC through SSH (thanks @shantigilbert). The provided .ini file/settings in this thread by @Langerz82 had different button number codes for some reason and my controls were going crazy.

So, to sum up, I can load and play GC games, but I don’t have any fancy stuff like savestates and such, is that correct? Also, few questions about Dolphin:

1 - Is there one or two memory cards?  
2 - Any way of making the fps counter bigger?  
3 - Some BGM does not play, is there a fix or a switch somewhere, or is it just how bad it performs?  
4 - Any recommended settings of the dolphin.ini for best performance?

Thanks!

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 4, 2021, 7:32am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/10 "2021-10-04T07:32:43Z")

</div>

> 1 - Is there one or two memory cards?  
> 2 - Any way of making the fps counter bigger?  
> 3 - Some BGM does not play, is there a fix or a switch somewhere, or is it just how bad it performs?  
> 4 - Any recommended settings of the dolphin.ini for best performance?

@Langerz82

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [October 6, 2021, 1:26am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/11 "2021-10-06T01:26:28Z")

</div>

Here was my settings awhile ago:  
[https://gist.github.com/Langerz82/4d58661a51d54383a3813f59d0f8361b](https://gist.github.com/Langerz82/4d58661a51d54383a3813f59d0f8361b)

You may have to fiddle with a few settings. Expect fps drops sometimes from what I’ve experienced so far. And some games the clock rate is f\*\*ked.

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 6, 2021, 7:24am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/12 "2021-10-06T07:24:00Z")

</div>

What do you mean a while ago? You don’t play GC anymore?

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [October 6, 2021, 10:31am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/13 "2021-10-06T10:31:24Z")

</div>

I copied over the settings I think, when I changed EE versions.

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [October 6, 2021, 10:33am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/14 "2021-10-06T10:33:13Z")

</div>

OK, I’ll give it a try. Thanks anyway!

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [January 30, 2022, 6:09pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/15 "2022-01-30T18:09:17Z")

</div>

I am going to create a script similar to set\_advmame\_joy.sh that attempts to auto generate the input config values to make it much easier for everyone. 🙂

---

<div class="post-metadata">

**Author:** ![TheDoctor39](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TheDoctor39](https://emuelec.discourse.group/u/TheDoctor39)\
**Post date:** [January 30, 2022, 8:55pm UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/16 "2022-01-30T20:55:51Z")

</div>

Thats some great news!

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [January 31, 2022, 1:13am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/17 "2022-01-31T01:13:49Z")

</div>

Yeah man it’s sweet and it’s good practice for me learning linux scripting. I’m nearly finished just got to make sure it works ok! 😃

---

<div class="post-metadata">

**Author:** ![Langerz82](https://avatars.discourse-cdn.com/v4/letter/l/bc79bd/32.png) [@Langerz82](https://emuelec.discourse.group/u/Langerz82)\
**Post date:** [January 31, 2022, 2:50am UTC](https://emuelec.discourse.group/t/dolphin-gamecube-controllers/559/18 "2022-01-31T02:50:16Z")

</div>

Here is the draft PR. It might still have bugs and is a work in progress.

> <https://github.com/EmuELEC/EmuELEC/pull/803>
>
> Needs to be tested thoroughly.
> 
> When a game controller is on and active, it sh…ould detect it and get the button mapping from gamecontrollerdb.txt and convert the values into dolphins configuration format which is in GCPadNew.ini.
