Close
Advertise Here
Results 1 to 6 of 6
  1. #1


    Home made arcade controllers

    I'm making an arcade cabinet for fun and i tought of putting my Ouya as the "core".

    They are some really nice "arcade" type games on the Ouya like hide in plain sight.

    Is there a way to use an USB Hub and add some drivers so that the Ouya will recognize my home made arcade controllers?

    Thanks for the help!

  2. #2
    OUYA Developer Jayenkai's Avatar
    Join Date
    Dec 2013
    Location
    Bolton, England
    Posts
    816


    Standard USB hubs seem to work fine with multiple "normal" USB controllers, on the OUYA, and you can add multiple controllers using that method. (Or at least, that's how I had my PS3, X360 and Competition Pro all hooked up at once!)

    Your main issue would be what your homemade controller is outputting.
    If you can get it to act like a standard controller, you should be fine.
    Jayenkai : Making unpopular games for over two and a half decades!
    OUYA/Cortex/Android TV compatible .apks available here.

  3. #3


    Quote Originally Posted by Jayenkai View Post
    If you can get it to act like a standard controller, you should be fine.
    That exactly what i came here to ask.
    I was hoping someone had done it before.
    Some specific controller board or adapter maybe?

  4. #4
    OUYA Developer Jayenkai's Avatar
    Join Date
    Dec 2013
    Location
    Bolton, England
    Posts
    816


    I think one of the popular methods is to dismantle a functional USB controller, and solder your controller's connections onto the board, to replace the standard controller's inputs.
    The tricky part is finding something with easy to access connections that suit what you're making.

    I'm not sure what the innards of modern controller's are like, and how hackable their boards would be, though, but that'd be the way I'd start.
    Jayenkai : Making unpopular games for over two and a half decades!
    OUYA/Cortex/Android TV compatible .apks available here.

  5. #5


    I'm not sure how useful the info here will be, be I think I remember getting a home made controller working at some point. I remember the method I used was to spoof the ID of my controller to match that of an official one.
    I would suggest that an easier option might simple be to solder your arcade buttons (or whatever you are using) to a ps3/xbox360 controller and use that.
    Just a dev without a hoodie
    -------------------------------------------------------
    ._
    (o>
    / )
    @Spinal_Cord
    ^^

    -------------------------------------------------------
    Download "Don't Flip Out" to your OUYA now!
    Download "Joe" direct to your OUYA!

  6. #6


    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

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •