1 members found this post helpful.
Without knowing what kind of arcade controller you are using. I could only give you basic advice . Such as making your that you have superuser access over your Ouya. The reason why you need this level of access is that chances are you will be playing with .kl files within the android environment. These .kl files effectively tell the OS what to do when it encounters a specific human interface device such as keyboards, joysticks, and mouse.
These files will be located in your /system/usr/keylayout on almost any android device.
If you ever looked at these files you'll notice that .kl files have Vendor and product ID's . These two items is what almost every USB emits upon plugging it in to introduce itself to the OS to that it can take appropriate action as to what to do with the new device.
So for example if I give my Ouya something it has never seen before. Say, an Original Duke Xbox controller with a Xbox to USB adapter. Vendor 045e for Microsoft and a product ID of 0202 . The Ouya will look through its .kl files . Panic because it can't find it and grab the 'default.kl' file which is why when users plug off-brand controllers into their Ouyas it 'KINDA' works but all of the controls are very poorly mapped.
You do NOT want to modify your default.kl file!! Instead, you want to make a new .kl file and add it to the list.
How do you find that vendor and product ID of your new controller?
On the Ouya - One way is going into ADB and typing 'ADB shell' to login to your Ouya, and 'logcat' to see what the android OS is doing.. Now typing in logcat is going to be a little crazy as it's going to report EVERYTHING that is happening in your little box.. But upon plugging in your controller it should report that vendor and product ID and it will even state what .kl it's going to assign it to.
On the Windows box - Another way that isn't so much of a headache is on your windows box you can plug in your controller and go into device manager. Right-click on the device and click properties. Then head over to the details tab and use the drop-down box for 'hardware ID's.
On linux - You can simply go to shell with superuser access. plug in the controller and type 'dmesg' to find out that product and hardware it the kernel detected.
On mac - someone will have to fill this one out as i do not own a mac.. sorry guys!
How do you make a new .kl file?
Well, there's already a lot of .kl files made.. So I would normally copy one of them that gets me into the ballpark of how the controller is. then tweak it from there.
I used to run a few gamepad tester apps for android. there's a new one i have not tried yet https://play.google.com/store/apps/d....gamepadtester which looks like if you give the app su access it can make a .kl file for you. which could be handy.
Anyhow, good luck on the journey of making that killer Ouya arcade. since you're going to put your little cube into a big box. give it a bigger fan for longer life.
Would you like to know more? - My Blog