Xbox 360 wireless controller no longer working in 1.0.0.2

I’m using an ODROID-U3 running JellyBean 4.1.2.

The previous release (RetroArch-armv7-v1.0.0.1-r30.apk) works great with the Xbox 360 wireless controllers, but the latest version (RetroArch-armv7-v1.0.0.2-r34.apk) doesn’t transmit any of the joystick movements.

The debug mode in 1.0.0.2 (where it shows the joystick input events at the bottom of the screen), shows that the joystick input is being read when I move the xbox 360 joystick, but it doesn’t actually move the character on the screen.

I’m using the same configuration and joystick mapping file for both. If I install 1.0.0.1-r30 on top of 1.0.0.2-r34, the joysticks work fine.

It may already be fixed in the latest code. Could you try using one of lordashram’s unofficial builds from the development subforum?

I tried the latest build from the forums (9/4/2014) and I can’t get the on-screen overlay to disappear, even when unchecking it in the Settings menu, but I tried the controllers anyway.

I usually use the Xbox 360 wireless controllers with Custom Binds (which is what allows the Xbox 360 wireless controllers to work with the 1.0.0.1 version), but even though the 360 buttons and joystick movements are detected by the controller configurator in Settings, none of the 360 buttons are recognized by the game itself.

If I check the “automatically detect my controllers”, I’m able to use the buttons like Start, but the DPAD movements aren’t recognized, which is the original bug that I mentioned.

It also seems that the controller debug overlay was removed, so I can’t tell if the joystick movements are actually producing values during the game.

Where was the link to the latest dev build of v1.1? I was looking for it in the development forum and couldn’t find it.

I searched under lordashrams posts.

Is this the correct way to file the bug that I found?

They may not be bugs, actually. A lot of the functionality has been moved to the in-game RGUI menu, I believe. Did you try mapping buttons there (under settings > input options)? Likewise, to get rid of the overlay, go into RGUI and go to settings > overlay options and then set the ‘overlay enable’ to ‘off.’

I set up the Xbox360 wireless controllers in the RGUI menu, and both the DPAD and analog joystick both work great as long as I stay within the RGUI menu. I can move around and select things using the DPAD and A/B buttons.

However, as soon as I close the RGUI menu and try to play a game, it’s still the same symptoms as I described in my original post: all of the A/B/X/Y and Select/Start buttons work, but the joysticks don’t work at all. I can even go back to the RGUI menu and use the controllers to navigate the RGUI menu, but they’re unresponsive as soon as the game starts.

FYI, I tried to turn off the overlay in the RGUI menu using the latest 9/14 build, but there is no option to “enable overlay” in the Settings->Overlay menu, so I still can’t turn it off. It only shows three options: preset, opacity and scale.

I’m also confused as to why the input options were moved from the convenient Android menu into the difficult-to-navigate RGUI in-game menu. I have to use the overlay joysticks just to bring up the RGUI menu in order to configure the real joysticks, which is very awkward and way too hidden. Version 1.0.0.1 was a great version, and IMO the improvements to the GUI in the more recent builds are a step backwards in usability.

What else do you need from me to address the bug with the Xbox 360 controller DPAD and joystick working in RGUI but not being recognized in-game?

Most of the changes were a result of the Android versions’s input being kinda broken in previous versions, which necessitated a bunch of hacky workarounds. Squarepusher refactored everything to work more like on other platforms, which means moving more of it into RGUI and away from the Java frontend.

If you have the physical analogs mapped to the analog controls, make sure you turn on the ‘analog dpad mode’ option if you want it to function for normal dpad controls. If you’re wanting them to function as analogs, set the device type to ‘joypad w/ analogs’

Ok, if the overlay enable option isn’t there, go to the place where you select a cfg and hit the start button, which should get rid of the selected overlay. You can also choose the ‘immerse’ overlay, which is invisible by default but brings up some handy menus when you tap the screen.

Ok, but none of this actually gets the controller’s dpad or joystick working outside of RGUI. As I mentioned, Ive reverted back to 1.0.0.1 as it was the last version without this bug.

Do you need any logs, or can you reproduce it locally?

I was hoping someone in #retroarch would have a wireless controller + dongle for testing, but no dice :frowning:

I’m not sure that a log will tell us anything particularly helpful in this case, but it never hurts.

This happens with the Xbox 360 USB Wired controller too, you don’t need the wireless version to reproduce it.

The Xbox 360 controller is just sending standard joystick movements via USB, so I suspect it’s happening with other similar controllers as well.

Ah, ok, great. I happen to have a mad catz wired 360 pad and otg cable, so i’ll see if it treats me the same.

I can confirm that the wireless 360 controller works fine in the latest 1.1 android nightly (sept 13 build)

I pulled this build from lordashrams post, but its 9/4, whereis the 9/14 version?

https://www.dropbox.com/sh/91sakv0qdyxj … 4.apk?dl=0

I wrote a buildbot that compiles nightly builds for android, windows and linux. Hopefully its binaries will go live soon.

Here’s the apk: https://www.dropbox.com/s/t6gtut4hvudah … h.apk?dl=0

After using the 9/14 build, I discovered that the “DPAD mode” needs to be set to “Analog Left” in order for it to work. Since the default is “None”, there’s an extra non-obvious step in setting up these controllers.

I recommend that another option besides “None” be set as the default for the “DPAD Mode” setting so that there’s less confusion when settings up an Xbox 360 controller, since the both the joystick and dpad will work in the RGUI, but neither actually works in-game unless you fiddle with the default “DPAD Mode”.