Xbox360 controller

Can someone direct me to instructions on how to get an Xbox360 controller working in RetroArch on a Mac? I have the tattiebogle driver installed and all the buttons and joysticks are working in the driver under system preferences.

At one time I had it working somewhat, but in trying to fix the nagging problems I was having, I’ve ruined it so now that it wont even recognize the controller anymore. Even after starting fresh and deleting my retroarch.cfg. I’m using the 10-29-14 nightly build. I had the same problems with 1.0.0.2.

My nagging problems were that it wouldn’t recognize the right thumbstick at all and that in the Nestopia core, hitting start would bring up the RGUI. It didn’t do this in the BSNES core. Using bind all or individual binds in the RGUI was problematic. After a couple of keys in, you hit a key and there’s no effect. Hit it again and it binds the next one to that same button. Then after a few more bindings it locks up RetroArch. This happens both in the RGUI and when you go into the menu options at the top of the computer screen and try to do it with point-and-click.

What should the input driver be set to, apple_input or udev? Which auto profile is it drawing from, Xbox wireless receiver or Xbox pad? Both are in udev and there’s no Xbox cfgs in the apple folder. Should I make one? When I bind a key, it gives a button number that’s different than whats in the Xbox controller cfgs. Where is it getting these numbers? How do I determine what the button numbers should be? Should autodetect always be left on?

I really have spent hours trying to get this set up properly. Google searches all turn up stuff for RetroPie that doesn’t apply. I’m not the kind of person that needs to be spoonfed, but I’m amazed that there is no documentation to go by. Is this app for developers only?

It’s not devs-only, it’s just undergoing some major changes at the moment, so the old documentation doesn’t apply and there isn’t any new documentation yet.

I don’t know the answers to all of your questions, but I’m pretty sure you should use apple input, as I don’t think udev works outside of linux.

You could try making an autoconfig. I’ve heard of others having the same input mapping issue you described, so maybe the autoconfig will help with that. There’s a sticky in the Android subforum that talks a bit about making your own autoconfig. If you succeed, feel free to post it here or (better yet) throw us a pull request. :slight_smile:

Thanks for the response. I got it working again, with the same issues as before. Autoconfig still isn’t working. I forgot that I had a backup of a working config. After that, I looked into your suggestion.

The 10-29-14 OSX64 version doesn’t appear to support input debugging. There doesn’t appear any more recent nightly builds. Instead, I went through each button individually binding them and making note of what numbers it gave me. After about five bindings, RetroArch hangs but OSX let’s me force close it. After I got all the numbers, I entered them into the config manually. They were all the same as my old config except I was missing a few. And RetroArch doesn’t respond to the right analog stick at all.

I noticed on the android and windows wireless_360.cfg’s, the axis numbers are the same for the left joystick. But what they have for right joystick is what mine comes up as for L and R triggers. I tried changing all of these in retroarch.cfg and in a wireless_360.cfg I created and dropped into the autoconfig/apple folder, but RetroArch ignores it and keeps the old numbers. Nothing I have guessed at for the right analog stick has gotten RetroArch to respond to it.

Wish there was a way to know what autoconfig RA loads up for the controller you’re using. And I wonder what’s up with the right joystick. I use it to increment/decrement save states (on my Windows desktop), so this is really cramping my style. I also would like to get Playstation working.

Anyhow, RA is already a lot better than what I was using before (Richard Bannister ports that I gave up on.) Can’t wait until it hits primetime so the average lowly idiot like myself can fully enjoy it.

Here is what I ended up with:

input_device = “XBox 360 Wireless” input_driver = “apple” input_b_btn = “0” input_y_btn = “2” input_select_btn = “9” input_start_btn = “8” input_up_btn = “11” input_down_btn = “12” input_left_btn = “13” input_right_btn = “14” input_a_btn = “1” input_x_btn = “3” input_l_btn = “4” input_r_btn = “5” input_l2_axis = “-2” input_r2_axis = “+3” input_l2_btn = “nul” WHAA? input_r2_btn = “nul” WHAA? input_l_x_plus_axis = “+0” input_l_x_minus_axis = “-0” input_l_y_plus_axis = “+1” input_l_y_minus_axis = “-1” input_r_x_plus_axis = “nul” DOESN’T WORK input_r_x_minus_axis = “nul” DOESN’T WORK input_r_y_plus_axis = “nul” DOESN’T WORK input_r_y_minus_axis = “nul” DOESN’T WORK input_exit_emulator_btn = “10” GUIDE BUTTON

input_b_btn_label = “A” input_y_btn_label = “X” input_select_btn_label = “Back” input_start_btn_label = “Start” input_up_btn_label = “D-Pad Up” input_down_btn_label = “D-Pad Down” input_left_btn_label = “D-Pad Left” input_right_btn_label = “D-Pad Right” input_a_btn_label = “B” input_x_btn_label = “Y” input_l_btn_label = “LB” input_r_btn_label = “RB” input_l2_axis_label = “LT” input_r2_axis_label = “RT” input_l_x_plus_axis_label = “Left Analog X+” input_l_x_minus_axis_label = “Left Analog X-” input_l_y_plus_axis_label = “Left Analog Y+” input_l_y_minus_axis_label = “Left Analog Y-” input_r_x_plus_axis_label = “Right Analog X+” input_r_x_minus_axis_label = “Right Analog X-” input_r_y_plus_axis_label = “Right Analog Y+” input_r_y_minus_axis_label = “Right Analog Y-” input_exit_emulator_btn_label = “Guide”

Nice. Thanks for sharing your config. That’s a shame that it’s acting so strangely. I haven’t tried it on OS X in quite some time, so I haven’t seen the issues first-hand, but I have an old iMac lying around that I can fire up and see what’s up.

I was thinking the OSD was supposed to throw up some text when it’s using an autoconfig, but that may not be the case anymore (apparently isn’t, based on your experience). Input debugging should do the same. Do you see other online messages? like when you take a screenshot or load/save a state?

It used to throw up a message about the controller, but now it stopped. Something I did…? It’s weird because I overwrote the retroarch app when I started over.

Yes, it still gives a message for saving a config or loading/saving a state in the game.

RGUI is aware that I’m hitting the right analog stick… when I’m trying to bind it, it doesn’t put a key# down but the menu option in the left scrolls a letter each time I hit the right analog stick. It makes me think that putting the right numbers in everywhere will get it working, but I keep messing with autoconfig files, manually entering numbers in retroarch config, changing the config directory, changing the names of the cfgs, changing their names inside the cfs, changing the driver name… nothing!

I looked and could not find the input debugging option anywhere. I looked in RGUI and by scrolling down the cfg in a text editor. I considered loading 1.0.0.2 back up and seeing if it’s in there.

Hmm. Yeah, looks like input debugging is indeed gone :confused:

One other thing you can try is the old ‘retroarch-joyconfig’ application. Here’s a super-old build of it: http://www.mediafire.com/download/m5me8 … Config.zip I don’t know if that will actually still work for you or if a newer build is required. Let me know how it goes and I can try to build a newer one if needs be.

Oh, nice! I never imagined there would be an .app version of this.

I don’t normally have time during the week to mess with setting up old videogames, but I’ll make it a priority and report back.

Alright, well, I didn’t get to it until just now. Go figure.

At first I had RetroArch-JoyConfig on the desktop. It gave me a warning about running a program from the internet, but it didn’t do anything. So then I tried moving it to Library/Application Support, but it still didn’t do anything. Then I moved it inside the app in Contents/MacOS and it worked!!

It said my joypad driver is sdl. It said my joypad is a “Wireless 360 Controller”.

I went through the binding process and it didn’t crash. It put the file on my desktop, and didn’t append a filename to it so I manually added the .cfg. This is what it came up with:

input_player1_joypad_index = “0” input_player1_b_btn = “11” input_player1_y_btn = “13” input_player1_select_btn = “5” input_player1_start_btn = “4” input_player1_up_btn = “0” input_player1_down_btn = “1” input_player1_left_btn = “2” input_player1_right_btn = “3” input_player1_a_btn = “12” input_player1_x_btn = “14” input_player1_l_btn = “8” input_player1_r_btn = “9” input_player1_l2_axis = “+4” input_player1_r2_axis = “+5” input_player1_l3_btn = “6” input_player1_r3_btn = “7” input_player1_l_x_plus_axis = “+0” input_player1_l_x_minus_axis = “-0” input_player1_l_y_plus_axis = “+1” input_player1_l_y_minus_axis = “-1” input_player1_r_x_plus_axis = “+2” input_player1_r_x_minus_axis = “-2” input_player1_r_y_plus_axis = “+3” input_player1_r_y_minus_axis = “-3”

That’s where I’m at right now. I’ve created a folder called sdl and put it in autoconfig and then copied the joypad config output into it. I renamed the cfg to Wireless_360_Controller.cfg. I’m going to try it out and also compare it to what I have from earlier.

When I open RGUI and go to Driver Options, there are three settings that concern me.

Input Driver: apple_input Joypad Driver: apple_input Location Driver: apple

Two of these I can change manually in retorarch.cfg, but not Location Driver. What should these be set to now?

I’m trying to get it to obey the autoconfig I created. Thanks for any help.

I guess if it’s not working with apple_input, you could change the input driver and/or the joypad driver to sdl.

Thanks for your patience and help.

So if I do that, should I create a folder in autoconfigs called “sdl”? Do I need to put a line in the controller cfg saying input_config sdl as the default cfgs have?

How do I change location_driver?

I’m going to start over from scratch again and see if I can get it to autoconfig the controller again.

I find it amusing that when you bind the exit emulator button, it exits the emulator. Apparently even as you bind a button, it still counts as you hitting that button and then it obeys the keypress.

Went back to 1.0.0.2 and recalled all the problems I had getting that version working before you directed me to the nightly. Perhaps I’ll write a how-to for Mac users since this version may be around for a little bit longer.

Hmm. Dunno about that, actually, as I haven’t used the new system much. However, I would think it should look just like the existing ones.

Hi all, I’m running the latest build of Retroarch 1.2.2 , and I noticed that I cant get to use the right analog stick on the XBOX 360 controller. Did someone found a workaround ? I tried manlually modifying the Wireless 360 Controller.cfg to be like the DS3 or like the one described in this thread but without luck. I’m trying to use the rigth analog sitck in Mario 64 btw. thanks!

do you have the ‘analog dpad’ setting enabled? if so, try turning it off.

Hi HunterK, by “analog dap” were you meaning “User 1 Analog to Digital Type” ? I tried setting User 1 Device Type to “RetroPad w/Analog” and “RetroPad” and also setting “User 1 Analog to Digital Type” to None/Right Analog but the righ analog stick is never read. So I ended up using the digital pad to map the right analog stick. Here’s an screenshot : https://www.dropbox.com/s/6vnk4jxdm6ucujz/Screenshot%202015-08-17%2013.33.32.png?dl=0

Thanks !

ok, that’s obviously not optimum, but as long as it’s working for you… We’ll take a look at it and try to reproduce.

thanks ! I’m available in IRC as christian776 on #retroarch if you need to test something out !

Oh , BTW , what’s even more strange, is that if I’m playing Mario 64, right after using the camera buttons mapped to the dpad, the jump button starts working as a camera button also, and if I hit L3-R3 to go back to Retroarch, then I’m stuck and no matter what I do, Retroarch does not register any button, so I have to turn off/turn on the joystick again to go back to the game or moving between the options. This only happens if I used the camera buttons.

It seems that the reported issue of my last post have dissapeared in the latest commits, because I can’t reproduce it now. thanks!