How do I fix 360deg analog stick

I’m unable to use the analog stick on my USB gamepad

  • I click the “Set Analog Stick” button in control options.
    (program asks me to click ok and move the stick around)
  • I click the ‘OK’ button.
    (highlighted button changes to [press a key] So do I press a key or move the stick?)
  • As soon as I even touch the stick, the button changes back to “Set Analog Stick”. I don’t even get a chance to move it back and forth or up and down.
  • After that, the analog stick just does random things in the game. Up is right etc…

If I set each axis independently, I can make the analog stick behave like an 8 direction D-pad.

This gamepad has a second analog stick and that behaves normally when I set it up as a 360deg analog stick. (but I can’t use it for movement because I use that finger for buttons.

I know the gamepad is fine, because I tested it with gamepad-tester.com, works in other games etc.

Screen Shot 2020-12-30 at 23.01.01

In order for us to provide better support, we need to see the log generated by Citra. This guide will walk you through how you can obtain the log file: How to Upload the Log File.

Yes, you need to move the stick left or right then up or down. You don’t need to move in all directions.

I’m not familiar with macOS but it works correctly on Windows at least.

yeah I figured that I needed to move the stick. So it shouldn’t be telling me to press a key, right?

Anyway, like I said. I tried moving it but it doesn’t work.

It will, I will show you in a GIF. Here I’m moving after I press OK: right then up. You can see how it changes to Axis.

But this is on Windows, I don’t have a Mac to test with :frowning:

The log doesn’t seem to record anything USB controller related. Any ideas?

No idea, sorry. Do you have other controllers that you can test with?

No. You’re not a developer, right?
Maybe I should just make a bug report on Github.

Have you tried if this also occur if you Boot Camp Windows? This is to check if it’s OS related or not.

I do not use Windows. But I did say that it works in other apps, so it cannot be OS related.

Are you willing to check just so we can be sure? https://support.apple.com/boot-camp

I have a Chinese dualshock knockoff that works fine (on Windows) for Citra. Well the analog sticks don’t provide as smooth movement as the real thing :stuck_out_tongue:

Hm, on my end I have about 5 seconds to try to bind after pressing OK before it would revert back to “Set Analog Stick” so this is bizarre.

I will try ask around and see if someone else with a Mac has the same issue.

I said that I don’t use Windows.

I already said that I checked the controller on gamepad-tester.com
That means the controller works, and it means that my operating system works.

If it doesn’t work on Citra for Mac, then it means Citra for Mac is broken.

I know you said that, I just wanted you to consider installing it with Boot Camp for testing purposes. It would be nice to know if you get the same issue with the Windows version of Citra on your Mac or not.

Even if you don’t “use” Windows as your daily driver, you could use it briefly.

This is also the first time I have heard of this issue. I have asked on our Discord but haven’t gotten any reply yet.

I don’t know if this will work, but I bound my Chinese dualshock knockoff for both the circle pad and c-stick. Open the config file at ~/.config/citra-emu/ and use these fields:

circle_pad="axis_x:0,axis_y:1,deadzone:0.100000,engine:sdl,guid:03000000100800000100000000000000,port:0"
c_stick="axis_x:3,axis_y:2,engine:sdl,guid:03000000100800000100000000000000,port:0"

I don’t know if ours share the same GUID but if they don’t you should be able to just replace it with your controller’s, you can copy paste it from the other binds. You might also need to modify the port part, hopefully you won’t need to.

Boot Camp isn’t Windows. You can’t install Boot Camp and magically have Windows. You’re asking me to buy Microsoft Windows and install it on my computer to figure out what’s wrong with Citra. I’m not going to do that.

Thanks for the config idea. I’ll try playing with that.

Fair enough. Though I don’t think you will need to activate Windows though? The .iso is free. https://www.reddit.com/r/mac/comments/7r16on/bootcamp_and_not_activating_windows/

If it doesn’t work then you will need to wait an indefinite amount of time for a fix unfortunately. Sorry for the inconvenience if that is the case.

I will update you if anything comes up.

You can also try to use auto map and see if it knows the mapping for your controller.
(and if it does, but you want a different mapping, you can just edit the config file afterwards)

I am not going to re-partition my computer and install another OS just to test some game emulator. That’s a bit nutty.

So who are you, and how are you involved with Citra?

I will try that, Vitor. I didn’t notice that button before or didn’t know what it did. Thank you.

I’m part of the support team, you can see the Support tag next to my username. I have also contributed to the code base a few times, mostly bug fixes.

It is alright if you don’t want to do that, there is no need to show a lot of hostility though :stuck_out_tongue:

Ah right, this was very recently merged and I didn’t think about it. I forgot to update Citra.

Asking questions isn’t hostility. Grow a thicker skin. :slightly_smiling_face:

Unfortunately auto mapping failed. “Your controller may not have a corresponding mapping.”

I eventually got the stick to work, by repeatedly clicking “Set Analog Stick” and then mashing the stick. After around a dozen tries, I got the movement I wanted. This is in my config:

profiles\1\circle_pad="axis_x:0,axis_y:1,engine:sdl,guid:03000000790000000600000007010000,port:0"

I may have a clue to the strange behaviour from gamepad-tester.com
(the axis numbers there don’t match Citra)
there is one analog axis (#3) which has some constant jitter on it. I don’t know what the axis is. It seems to mirror axis 1 but with extra noise on it.
That is probably triggering the Citra auto-set