OLD Gamepad Autoconfig Thread

Sure, I can add it for you - just read the following steps below -


  1. go to ‘RetroArch Settings’ and go to ‘Input Settings’.

  2. Make sure that "Debug Input Reporting Enable’ is set to ‘OFF’.

  3. After that, start up a game with any emu (doesn’t matter which). The first thing I need to know exactly is the message that appears when yuo press a button on the pad - it should say something like

“HID {%some name here%] unbound”

I need to know exactly that name that appears there.

3b. IF 3 FAILS - TRY THIS - Another way you can give me the name is to do ‘adb logcat’ on the commandline ( or do it from Eclipse - whatever you think is most convenient to you), connect a USB/whatever device and it should show something like this (example here with a Rumblepad 2):

I/EventHub( 175): New device: id=6, fd=106, path=’/dev/input/event2’, name=‘Logitech Logitech RumblePad 2 USB’, classes=0x80000141, configuration=’’, keyLayout=’/system/usr/keylayout/Generic.kl’, keyCharacterMap=’/system/usr/keychars/Generic.kcm’, builtinKeyboard=false I/InputReader( 175): Device added: id=6, name=‘Logitech Logitech RumblePad 2 USB’, sources=0x01000511

  1. Set "Debug Input Reporting Enable’ to ‘ON’.

  2. Next thing I need to know is the keycode that each button ‘reports’ onscreen. In this ‘Debug Input Reporting’, it will show you a message onscreen with the keycode for each button.

  3. Once you get back to me with the ‘keycodes’ for your gamepad and that ‘HID unbound’ message with the name in it, I can add support for the pad.

Hi, I am just re-posting this from the Anroid announcement thread.

“Thrust Predator” game pad - Connected via the micro USB port The emulator reports it as “HID (unbound) %n USB Gamepad: Port 0”

NOTES: %n keeps incrementing everytime I re-plug the gamepad in

START=197 , SELECT=196 DPAD = X & Y +/- values shown TRIANGLE = 188 X = 190 SQUARE = 191 CIRCLE = 189 L1=194 ----- R1=195 L2=192 ----- R2=193

Thanks for your support Jim

Offsite user reported this, for the Moga pad using an IME:

HID Unbound -1: Virtual, port: 0.

All are Pad0:<x>, ac=0, src=0

left stick up=19 left stick down=20 left stick left=21 left stick right=22 start=108 select=109 a=96 b=97 x=99 y=100 l=102 r=103 right stick up=188 right stick down=189 right stick left=190 right stick right=191

(I’m the guy who posted that Moga info, I just had an issue with my account confirmation for some reason but it finally went through)

Also for the Moga controller in IME mode, when I hit Report IME I get this:

net.obsidianx.android.mogaime/.ime.MOGAIME

Cool, with that info I can finally add it in a sane way.

ThinkGeek iCade 8-Bitty

I think that the gamepad registers two keyboard presses in the OS for each physical button on the controller itself. Each time a button is pressed, it switches back and forth between two keycodes onscreen. If I try manual mapping just to see what appears when I try to keybind, it shows an upper case and lowercase character entered for each button on the gamepad (ie. a / A).

Two numbers are listed for each keycode due to what is described above.

HID 6: Broadcomm Bluetooth HID, p: 0

All are Pad 0 : <x, x>, ac = 0, src = 257

UP - 51, 33 DOWN - 52, 54 LEFT - 29, 45 RIGHT - 32, 31 B (lower left button) - 44, 39 A (lower right button) - 40, 50 Y (upper left button) - 37, 41 X (upper right button) - 43, 35 START - 49, 34 SELECT - 53, 48 L1 - 46, 36 (this button causes all cores to reset emulation when pressed) L2 - 42, 38

How does this 8-bitty work? Through an IME app?

If so, could you do ‘Report IME’ from the menu to show me what the name of it is?

If not, we have a bit of a problem here - because ‘Broadcom Bluetooth HID’ is way too generic since it is used by a lot of other Bluetooth devices - we really need something more specific than that for autodetection to have any success here.

Which brings me back to the problem - it seems using the ‘HID name’ and the ‘IME name’ alone as unique identifiers for pads is not enough - we need a third unique way to identify pads. Let me rethink this some more and see if I can come up with something.

Hi.

First of all, thanks for this amazing piece of software. This is exactly what my tablet always needed.

Now, I try to play with a Dualshock 3 paired in Bluetooth, and it works fine, except for one thing : when I press the Select button, I’m thrown out of the game and back in the emulators list.

I tried to enable the Debug input reporting, but the back button doesn’t display anything on screen. In fact, no button displays anything : there is just a black bar where the text should be, and used to be - I’m pretty sure I saw the inputs displayed before, but now they’re gone, and I don’t know why.

Are you using the IME app that I recommend for usage in the RetroArch Manual?

http://www.libretro.org/documents/retroarch-manual.pdf

To be completely honest, at first, no, I wasn’t. Now I use Sixaxis Controller, I properly configured the buttons in the app, and when I play a game in RetroArch, the Select button is still considered as a Back button and I’m thrown out of the game every time I press it.

[quote=“Zaza le Nounours”]

To be completely honest, at first, no, I wasn’t. Now I use Sixaxis Controller, I properly configured the buttons in the app, and when I play a game in RetroArch, the Select button is still considered as a Back button and I’m thrown out of the game every time I press it.[/quote]

I’m trying to ram through a fix for the back button situation - it’s really stupid how many IME makers/manufacturers use a keycode that is commonly accepted to function as (indeed) a ‘back button’.

[quote=“Zaza le Nounours”]

To be completely honest, at first, no, I wasn’t. Now I use Sixaxis Controller, I properly configured the buttons in the app, and when I play a game in RetroArch, the Select button is still considered as a Back button and I’m thrown out of the game every time I press it.[/quote]

I’m trying to ram through a fix for the back button situation - it’s really stupid how many IME makers/manufacturers use a gamepad face button-to-keycode mapping that is commonly accepted to function as (indeed) a ‘back button’.

When I configure the mapping in Sixaxis Controller, the Select button is indeed binded to “Back”.

Well, good luck with that anyway, I’m available if you ever need to test a new build.

How does this 8-bitty work? Through an IME app?

If so, could you do ‘Report IME’ from the menu to show me what the name of it is?

If not, we have a bit of a problem here - because ‘Broadcom Bluetooth HID’ is way too generic since it is used by a lot of other Bluetooth devices - we really need something more specific than that for autodetection to have any success here.

Which brings me back to the problem - it seems using the ‘HID name’ and the ‘IME name’ alone as unique identifiers for pads is not enough - we need a third unique way to identify pads. Let me rethink this some more and see if I can come up with something.[/quote]

Unfortunately, I cannot run the 8-Bitty with an IME application anymore (most commonly Bluez IME) due to changes in Android OS 4.2. Google changed the BT driver to a more universally compatible Broadcomm driver in the latest version of the OS. However, the problem with this is that it inadvertently breaks BT gamepad support with 3rd party IME applications, because the Broadcomm BT driver completely ‘takes control’ of the BT device, and does not allow any other connections to the BT device from other applications that aren’t the OS. So if I try and use Bluez IME for example, the additional connection to the device will be rejected because the OS is perpetually using it.

All this being said, if the application in question supports ‘iCade’ specifically, the 8-Bitty still works without any IME application in place, even with these changes to BT in Android 4.2. I do not wish to mention them here publicly, by name, because I don’t want to detract from this project; but there are other emulators that support ‘iCade’ and still work under Android 4.2.X – I’m just not sure how they manage that, unfortunately.

Either way, thank you for your response here.

Yeah, I know about Android 4.2 apaprently ‘breaking’ BT gamepad support. It’s just absolutely terrible that such a big Fortune 500 company time after time again makes such big screwups on what should be a ‘mature’ OS by now. They made a huge screwup too with Android 4.0.3/4.0.4 where every APK would ‘checkout’ the armeabi folder instead of the armeabi-v7 folder - meaning you would get unoptimised, slow as hell ARMv5 code running on your ARMv7 device unless you went to all the trouble of making sure this did not happen by implementing a workaround.

It is for this reason alone that we elected not to bundle in armeabi v5 libraries at all - not only as a cutoff point since pre-ARMv7 devices are not going to be running all that well, but more precisely because of this exact bug.

It’s just one screwup after the next and it seems to never end. Seriously, Google needs to sort out this mess because it’s becoming somewhat of an embarrassment for them - sales figures be damned.

hi want to add for xperia play, for gamepad: left pad 0 :21, ac=0, src =25? (257 i think canot see the last one seems the same every time) right pad 0 : 22, ac=0 src=25? up pad 0 :19,ac=0 src=25? down pad 0 :20, ac=0 src =25? L1 pad 0 :102, ac=0 src=25? R1 pad 0 :103, ac=0 src=25? triangle pad 0:100, ac=0 src=25? square pad 0:99, ac=0 src=25? cross pad 0:23, ac=0 src=25? circle pad 0:4,ac=0 src=25?

start pad 1:108, ac=0 src=25? select pad 1:109, ac=0 src=25? menu pad 0:82,ac=0 src=25?

2 touchpads pad 0:x=… y=…

for other buttons vol+ pad1:24 ac=0 src=25? vol- pad1:25 ac=0 src=25? back key pad 0:4,ac=0 src=25? menu key pad 0:82,ac=0 src=25? search key pad0:84,ac=0 src=25? home key canot see, go to main menu android for me controls working sometimes only, and cannot exit the app without kill it sometimes, i think depends of the chosen emu, pad0 are pad1 and pad1 are pad 0. and i couldn t see name of hid thanks edit, i think the numbers 0 and 1 of the pads depend on which button you hit first?

Hi,

I need the name as well - go to the OP and read from Step 2 - I changed it around somewhat just now.

made what u said, i could read hid 196610: keypad-zeus, p: but cannot read have what after…

OK, that’s enough.

EDIT: Actually, are you sure you’re just not doing it wrong?

You need to FIRST press a button on the Zeus pad (as you call it) before you press the touchscreen. Otherwise, touchscreen becomes Player 1 and Zeus pad would become Player 2. Reason I ask is because I already hooked up Xperia controls and it should be working already.

We might have to just include an option to ‘force’ touchscreen to always be Player #1 and not take up a slot.

well, i read about not touching the screen first on xda, and i don t think i did it, because i also unchecked the virtual keypad option… now touchpad works sometimes, sometimes not… and also you can t stop game or emu with the telephone back key, you have to prrss the home key, and after force close the app in android settings, unless i ve missed something?