Author Topic: Analog Controller FAQ and Compatibility List  (Read 94812 times)

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Analog Controller FAQ and Compatibility List
« on: January 21, 2013, 08:16:01 AM »
Android 2.3 to 3.0

Sony-Ericcson Xperia PLAY touchpad is fully supported for analog control.

New!  PowerA's MOGA series of controllers are now fully supported all the way back to Android 2.3.  You just need to install the official MOGA Pivot app.  Root not required for full analog control!  See below for additional notes.

Android 3.1 and Above

Any controller that uses the HID protocol should be compatible if you're running Android 3.1 or higher.  If not, please see the troubleshooting section below and post a reply in this thread.  We'll get you up and running in no time.

USB-based wired controllers:
Your tablet/phone needs to support USB OTG and you will need an OTG adapter.
 - The vast majority of USB-based Windows-compatible controllers built in the last 10 years are fully supported.
 - Xbox 360 controllers (official or third-party) fully supported.
 - Wired PS3 controllers (official or third-party) fully supported.
 - Raphnet Technologies USB adapters fully supported.
 - Mayflash/Huijia USB adapters fully supported.
 - Retrolink N64 Classic USB controller support is not recommended.  We've received mixed compatibility reports.  See here and here for details.  It appears that this device is unrecognized by the Android operating system in most cases.
 - Your mileage may vary for other USB adapters for original console controllers. Testers needed!

USB-dongle-based wireless controllers:
 - Compatibility generally follows the same rules as USB-based wired controllers above.
 - Official wireless Xbox 360 controllers are fully supported except for the D-pad, which is unfixable due to Google/Microsoft's broken drivers.

Bluetooth-based wireless controllers:
 - New!  PowerA MOGA series fully supported.  See below for important notes.
 - OUYA fully supported.
 - Mad Catz C.T.R.L.R. fully supported.
 - iControlPad fully supported in gamepad mode.
 - GameStop Red Samurai series fully supported in gamepad mode.
 - Nyko PlayPad series fully supported in gamepad mode. See here if you have difficulty re-mapping the left analog stick.
 - Wireless PS3 controllers fully supported using Sixaxis Controller app in gamepad mode. That app currently requires root for analog capabilities and does not usually work with non-Sony-branded controllers. See that app for full support details.
 - Wiimote controllers supported using Wiimote Controller or similar apps, but only in digital mode (analog not currently supported).
 - This list will be extended as more users report their results.

Built-in controllers:
 - Xperia PLAY (with custom ICS+ ROM) is fully supported, although some users have had problems with the circle button when running a custom Android ROM.
 - Archos GamePad is fully supported. You do NOT need to use the Archos touch-mapping software.
 - NVIDIA Shield is fully supported.
 - JXD S7300 is fully supported but requires custom firmware (Sxelrom 3.5 or higher).  See here for installation tips (thanks snapuswip3!).
« Last Edit: December 09, 2013, 12:03:04 PM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #1 on: January 21, 2013, 11:52:39 AM »
Additional Info for MOGA Controllers

There are at least three ways to use the MOGA series controllers.  All three options provide true analog control and the ability to re-map buttons in Mupen64Plus AE.

Note that Mupen does NOT appear inside the Pivot app menu, due to MOGA's corporate policies on emulators.  Just minimize the Pivot app after you connect, and launch Mupen the usual way.

Option 1: Use official MOGA Pivot app in mode A
 - Android versions: 2.3 and up
 - Root not required
 - Compatible with MOGA Pocket: Yes
 - Compatible with MOGA Pro: Yes
 - Menus navigable by controller: No

Option 2: Use official MOGA Pivot app in mode B
 - Android versions: 3.1 and up
 - Root not required
 - Compatible with MOGA Pocket: No
 - Compatible with MOGA Pro: Yes
 - Menus navigable by controller: Yes

Option 3: Use unofficial MOGA Universal Driver app
 - Android versions: 3.1 and up
 - Root required
 - Compatible with MOGA Pocket: Yes
 - Compatible with MOGA Pro: Yes
 - Menus navigable by controller: Yes
« Last Edit: June 27, 2013, 08:19:43 AM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #2 on: January 21, 2013, 11:52:48 AM »
Multi-Player Setup with Native Controllers

When multiple controllers are enabled, you will see an additional "Multi-player" setting in the Play menu.  Click that menu item and a dialog will pop up.  Tap "Player 1" and press a button on the first player's controller.  Then do the same for the remaining players and controllers.  If any player is using multiple devices simultaneously (e.g. a joystick and a keyboard), just repeat the process for each device used by that player.  Then tap OK and start the game.

You will need to use this screen after every reboot, or after you disconnect and reconnect a controller.  We recognize that this is a PITA and may be rather unintuitive if you're coming from PC gaming or other consoles.  The fundamental issue is that Android does not have a reliable way to remember specific controllers between reboots and controller disconnects, so we're forced to go through this extra step.  We have been working on this for quite a while -- and continue to work on it -- but we still haven't found a reliable solution to this annoyance.  If you have any ideas, we're always happy to listen.

Multi-Player Setup with IME-Based Controllers

1. In Mupen, go to Settings->Input and enable "Share controller".
2. If everything is set up properly, you will not see the Multi-player settings in the Play menu.  That is not an error.
3. Important: Be sure that each controller's buttons/sticks are mapped to unique keys.  This is the only way that Mupen will be able to distinguish players when using an IME like USB/BT Joystick Center or Wiimote Controller.
4. See the subsections below for controller-specific instructions.

Wiimote controllers
Spoiler: Wiimote controllers • show

0. Follow the instructions above for IME-based controllers.
1. Install the Wiimote Controller app.
2. In the Wiimote Controller app, go to Menu->Preferences->Mapping options.
3. Be sure that each wiimote's buttons are mapped to unique keys (they should be by default).
« Last Edit: February 15, 2013, 06:20:16 AM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #3 on: January 24, 2013, 08:40:31 AM »
Troubleshooting and Debugging

If you have read all the directions above and still can't seem to get your controller to work, please let me know.  I'd like to see as many controllers supported as possible, and will be happy to work with you to implement a solution.

To help me diagnose the problem, please do the following:
 1. Go to Settings->Input->Controller->(menu)->Analog info.
    - Take a screenshot or write down exactly what you see.
 2. Go to Settings->Input->Controller->(menu)->Controller info.
    - Take a screenshot or write down exactly what you see for the controller of interest.
 3. Send me a PM with this information or post to this thread.

For extra credit:
 4. Go to Settings->Input->Controller->(menu)->Controller diagnostics.
 5. Press each button/stick/trigger on your controller and confirm that all signals are being read by the app.  You should see button presses appear on the left side of the screen, and analog motions on the right side.
 6. If any of your button/stick/trigger presses do not show up on the screen, make a note of which ones they are.
 7. Pay particular attention to cases where you press a single input but the input shows up in two places simultaneously.  For example, the Nyko PlayPad series controllers will send both an AXIS_X and an AXIS_HAT_X signal when you move the left stick side to side.  This is an easy problem to solve, but I'll just need some extra information from you.
 8. Post back describing your observations, and we'll proceed from there.
« Last Edit: June 11, 2013, 09:40:22 PM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline jonjon

  • byte
  • *
  • Posts: 31
    • View Profile
Current Nexus 7 issues
« Reply #4 on: January 24, 2013, 09:23:20 AM »
The latest official update to android 4.2.1 on the nexus 7 unfortunately broke bluetooth so currently only wired or wireless-dongle controllers will work.

there is a bug report that you can star if you want it fixed just here:
http://code.google.com/p/android/issues/detail?id=39633

if you're desperate then this bug report might also be relevant:
http://code.google.com/p/android/issues/detail?id=39637

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #5 on: January 24, 2013, 09:37:29 AM »
That's strange, I've been running the Nexus 7 with 4.2.1 for awhile now, and this week I confirmed operation with all the BT devices I listed above.

Edit: I'm pretty sure those bug reports referred to 4.2.0, which was a minor disaster of a release.  4.2.1 is fine, at least for the controllers I listed.
« Last Edit: January 24, 2013, 09:40:53 AM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline jonjon

  • byte
  • *
  • Posts: 31
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #6 on: January 25, 2013, 11:29:23 AM »
That's strange, I've been running the Nexus 7 with 4.2.1 for awhile now, and this week I confirmed operation with all the BT devices I listed above.


My personal experience only covers the wiimote as far are Bluetooth is concerned. Since 4.2.1 it no longer works natively or via 3rd party apps on nexus 7 stock fw unrooted.

Regarding other bluetooth controllers and six axis etc. I have read a lot on xda about connection problems with setting up and dropping issues. The bug report I linked to seems to confirm this too.

If you haven't noticed any issues then that is good news but it doesn't correlate with what I've been reading, did you test the controllers for any length of time? (Not meaning to be rude, just an honest question)

I hope I am wrong, I have just been researching extensively as I was thinking of getting either a Wii classic controller or cheap BT alternative and kept coming across issues. Either way I will wait for the next nexus 7 software release before getting anything. I also hope that i'm not stirring any unnecessary confusion here...

Quote

Edit: I'm pretty sure those bug reports referred to 4.2.0, which was a minor disaster of a release.  4.2.1 is fine, at least for the controllers I listed.

The later reports at the bottom half of the list refer to 4.2.1
« Last Edit: January 25, 2013, 11:42:22 AM by jonjon »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Controller FAQ and Compatibility List
« Reply #7 on: January 25, 2013, 12:07:48 PM »
Interesting, thanks for the info.  I picked up a (genuine Sony) PS3 controller a month ago and have used it for many Mario sessions lasting over an hour.  Rooted with Sixaxis has provided flawless analog control.  Haven't noticed a single issue.  The other bluetooth controllers, I only used them maybe 5 minutes at a time, so you bring up a very good point.

If you don't already own a bluetooth controller, I'd definitely give the ones confirmed above a try.  If you're not rooted, I'd stay away from the MOGA and the PS3 controllers because true analog requires root for those.  The others use standard HID protocols and seem to "just work" out of the box.  I'd definitely give them a try in person if you can, as you may not like the feel of some of them.

Edit: Also, doesn't the wiimote require a third-party app to be seen in Android?  If so, I'd wonder if that has anything to do with your issues.
« Last Edit: January 25, 2013, 12:09:30 PM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline jonjon

  • byte
  • *
  • Posts: 31
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #8 on: January 25, 2013, 11:35:53 PM »
The wiimote should just pair with android natively but with 4.2.1 you are prompted to enter a pin that doesn't exist.

I would hope that if that first step was working ok then mupen 64 should be able to map the controls natively too without any third party app.

For other games (that lack the very decent mapping options such as mupen's) you might have to rely on third party apps that go the IME route. This should also work with mupen with no problems if native input doesn't work. This might also be necessary when using the classic controller.

The problem is that AFAIK none of the third party apps are working with nexus 7 4.2.1 ....

Thanks for your suggestions but I will be waiting a little while, I have wired controller in the mean time so I'm OK for now. I also don't fancy rooting so I can definitely be patient.

Thanks for all your responses and advice!
« Last Edit: January 25, 2013, 11:38:46 PM by jonjon »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #9 on: January 26, 2013, 12:09:38 AM »
I see.  Well yes,if you can make the initial bt connection then you should be home free with mupen.  I do know from working with wiimotes on windows that their bluetooth implementation is not 100% standard (nor is the ps3) so that probably has something to do with it...
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #10 on: January 26, 2013, 11:14:42 AM »
Tested

Nexus 4 (4.2.1) / Acer Iconia A511 (4.1.2)
iControllpad in HID Gamepad mode ( X and Y + start ) (latest firmware 2.5a)

The gamepad can be enabled without a 3rd party app like bluezIME in gamepad mode.
Preconfigured buttons:
A - A
X - B
right shoulder button - Z
Start - start
D-Pad - U,D,L,R
Left Analog - U,D,L,R analog

Other buttons needs to be mapped

In SPP mode, you can use the iControllpad with bluezIME, but without analog input.
« Last Edit: January 26, 2013, 11:16:57 AM by scorpio16v »

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #11 on: January 26, 2013, 12:07:13 PM »
Thanks!  So do you get true analog control with the iControlPad and Mupen64PlusAE?  Not sure which version you're using, but 2.0.3 (published today) should have more buttons mapped by default, e.g. c-pad to right-stick on many controller models.

I plan to have custom profiles implemented soon so people can store their personal favorites.  In the meantime, I can hard-code more profiles for anyone interested or if you can't seem to get input mapping working for your controller.  To do this, just do the following:
 - Open Controller diagnostics in the Advanced menu or from the mapping screen menu
 - Write down the raw controller signal you'd like something mapped to, e.g.
      * Start = KeyCode 108
      * C-up = AXIS_RZ (-)
      * C-down = AXIS_RZ (+)
      * etc.
 - Send me a PM with your controller brand/model and the list you just made
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #12 on: January 26, 2013, 12:52:17 PM »
Yes, it's analog. Tested on Mario64 running slow and fast.
Just downloaded the new emu version. On the right analog stick, C-left and C-right only seems to be mapped.

AXIS_RZ is currently named as " AXIS_Z ". X axis is named AXIS_RX. Shouldn't it be RZ and RX ?

The Icontrollpad is somewhat unprecisely on the analog sticks sometimes and gives values from +/- 0,85 to 1,00 for the directions. Maybe that's the reason, why C-up/down not mapped ?

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #13 on: January 26, 2013, 02:12:00 PM »
Cool, that's great about the analog.  As long as it's possible to map all nubs and buttons to whatever you want, that's what matters.

Whether or not the "right" thing is mapped by default is not that big of a deal, since there are no real standards between controllers.  For example, the Xbox 360 controller calls the triggers AXIS_Z and AXIS_RZ, and calls the right stick AXIS_RX and AXIS_RY.  The PS3 controller calls the triggers AXIS_LTRIGGER and AXIS_RTRIGGER, and calls the right stick AXIS_Z and AXIS_RZ.  And other controllers are different still.  So it's impossible to create a one-size-fits all default map.  But if you can map everything to your liking, and get true analog control, I would call that "fully supported".
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline onthebridge

  • bit
  • Posts: 9
    • View Profile
Re: Analog Controller FAQ and Compatibility List
« Reply #14 on: April 24, 2013, 05:00:49 AM »
Hi, sorry to revive an old thread, but it seems the most adequated.

Lately the inexpensive Ipega bluetooth is everywhere, so it could be great that you can support it natively.

here you can see how it is mapped:
https://dl.dropboxusercontent.com/u/38679334/ipegamappings.png [nofollow]

I think that the mode people use most is the keyboard mode, but i could be wrong ...

Thanks and keep up the good work :D