Temporary: Controller Configurations for Citra

Hi,

I went on the website to copy/paste:
button_zl="engine:sdl,joystick:0,button:5,threshold:-0.8,direction:+"
button_zr=“engine:sdl,joystick:0,button:7,threshold:-0.8,direction:+”

Which is supposed to enable us to use the left and right triggers. However, I found that buttons 5 and 7 use the right bumper and the start button of the xbox controller, which means that the left and right triggers remain unused.
So, even though the xinput mapping is mostlycorrect (not the one on your website though, the one at the beginning of this post), the buttons R and L of the 3DS are assigned to the left and right bumpers of the xbox controller and the ZL and ZR buttons of the 3DS remain unassigned (since the xinput mapping of your website use the wrong buttons).

In short, I still can’t use the left and right triggers. I may have done something wrong and I’m completely off though ahah

Tried to correct it by myself thanks to: http://wiki.unity3d.com/index.php?title=Xbox360Controller but can’t seem to do it.

@Emualliug What OS and controller did you choose?

Windows, “XInput” gives me “ID 171: XInput Controller (Windows)” which is:

button_zl="engine:sdl,joystick:0,axis:2,threshold:-0.8,direction:+"
button_zr="engine:sdl,joystick:0,axis:5,threshold:-0.8,direction:+"

Similarily this also happens for Linux and OSX. So please be more specific what controller / controller config / OS etc. you are using.

Woops, my bad, I used the Acme mapping apparently… I really thought I used the Xinput one though, I’m really sorry about that, I replied for nothing and wasted your time… I used the correct mapping (Id 171 Xinput) and everything works fine.

Again, really sorry about this, I hate wasting other people’s time like that.

So I pasted the controller settings into qt-config and it works quite nicely with Link between worlds. When it works that is. My only problem is a major one which really just shows the mental midgetry in the design of the usb micro connector. I use a DS4 on a Mac. There’s quite a bit of wiggle room on the DS4 end of the USB cable. Sometimes it’ll be nicked accidentally in the heat of gameplay or whatever and suddenly I can’t move link with the controller. However, the movement will be permanently stuck to going diagonally up and to the left. I unplug the controller, plug it back in, doesn’t work. I can reset the controls to default in preferences which lets me move again with the keyboard but to get back the use of the controller I have to quit Citra and re-paste the control settings again in qt-config. This is especially infuriating if I’m in the middle of a dungeon after an hour without saving. Seems there’s no tolerance for any kind of controller disconnection within Citra currently. Or maybe it’s something else I have no idea. FYI. Thanks.

Tried using the swith pro config but the sticks are a bit off.
Fore example in ocarina of time you can only slow walk not run unless you hold down lz.
Any way i can get around this?
Xbox one controller working flawlessly.
But the bluetooth of the pro controller and the matching button layout are something i do enjoy.

you need to recalibrate the switch pro controller in windows to use the full range of the joy stick. open up the windows menu and type joy.cpl to bring up the joypad configuration, choose properties and find the calibrate option. i had to do the same thing with my switch pro controller

1 Like

Thanks man works like a charm :smile:

People stumbling in this thread might be interested in how to use a Mouse as a Virtual Controller for Camera View or other input in Citra:

It includes a [Controls] list etc. The main mouse buttons can also temporarily be main gaming buttons with this method.

Cool thanks for the info seems to work great! One question I have is there a way to map the ‘Swap Screen’ shortcut to a controller button? In this case a xbox one controller connected through USB? OS is macOS 10.12 (Sierra)

Hello, so i use ps3 controller. Do i have to do the PS4 configuration? Because i doesn’t work with Xbox configuration :confused:

Is this work with Bleeding Edge Build 86 ?

No, there is no controller support in that old build of bleeding edge.

Sadly. Only 86 build can play Fire Emblem without graphic glitch.
Thank You for reply.

I seem to have a weird issue with zelda ocarina of time and majoras mask.
When I hold down forward on the 360 analogue stick link arcs to the left a bit as you are running forward.
Its mostly playable but makes walking on ropes and navigating jumps annoying :slight_smile:

Using
citra-windows-msvc-20170614-da1bec1 and
citra-windows-msvc-20170625-d1e414d

[Controls]
button_a="engine:sdl,joystick:0,button:0"
button_b="engine:sdl,joystick:0,button:1"
button_x="engine:sdl,joystick:0,button:2"
button_y="engine:sdl,joystick:0,button:3"
button_up="engine:sdl,joystick:0,direction:up,hat:0"
button_down="engine:sdl,joystick:0,direction:down,hat:0"
button_left="engine:sdl,joystick:0,direction:left,hat:0"
button_right="engine:sdl,joystick:0,direction:right,hat:0"
button_l="engine:sdl,joystick:0,axis:2,threshold:-0.8,direction:+"
button_r="engine:sdl,joystick:0,axis:5,threshold:-0.8,direction:+"
button_start="engine:sdl,joystick:0,button:7"
button_select="engine:sdl,joystick:0,button:6"
button_zl="engine:sdl,joystick:0,button:4"
button_zr="engine:sdl,joystick:0,button:5"
button_home="engine:keyboard,code:66"
circle_pad="engine:sdl,axis_x:0,joystick:0,axis_y:1"
c_stick=“engine:sdl,axis_x:3,joystick:0,axis_y:4”

This may just be an issue with your controller. I have tested multiple Xbox 360 controllers in Citra, and controlling Link feels nothing out of the ordinary.

So I’m having a bit of an issue. I’ve hooked up my Switch pro controller, and Citra doesn’t seem to be picking up the travel on the left stick.

Controls:
button_a="engine:sdl,joystick:0,button:1"
button_b="engine:sdl,joystick:0,button:0"
button_x="engine:sdl,joystick:0,button:3"
button_y="engine:sdl,joystick:0,button:2"
button_up="engine:sdl,joystick:0,hat:0,direction:up"
button_down="engine:sdl,joystick:0,hat:0,direction:down"
button_left="engine:sdl,joystick:0,hat:0,direction:left"
button_right="engine:sdl,joystick:0,hat:0,direction:right"
button_l="engine:sdl,joystick:0,button:4"
button_r="engine:sdl,joystick:0,button:5"
button_start="engine:sdl,joystick:0,button:9"
button_select="engine:sdl,joystick:0,button:8"
button_zl="engine:sdl,joystick:0,button:6,threshold:-0.8,direction:+"
button_zr="engine:sdl,joystick:0,button:7,threshold:-0.8,direction:+"
button_home="engine:keyboard,code:66"
circle_pad="axis_x:0,engine:sdl,joystick:0,axis_y:1"
c_stick=“axis_x:2,engine:sdl,joystick:0,axis_y:3”

I’ve tested it with the default Xinput settings, and the L-stick worked perfectly fine.
The C-stick works fine,

did you do what i mentioned up above? Temporary: Controller Configurations for Citra

1 Like

It works, but now the C-stick doesn’t work properly.

then you didn’t calibrate your second joystick when it brought up the box for it

Hey, this may be somewhat obvious, but what setup would I have to go through to use my N3DS as a controller for Citra? (I have vJoy and JoytoKey in use already)
I know, I know; doing this would be incredibly stupid- if it wasn’t for the fact that Citra runs at 1080p.