iOS 7 Gaming Controller Hack. Thoughts?

Discussion in 'iOS 7' started by Revanchists, Nov 25, 2013.

  1. Revanchists, Nov 25, 2013
    Last edited: Nov 25, 2013

    Revanchists macrumors newbie

    Joined:
    Nov 24, 2013
    Location:
    Planet Earth
    #1
    First post, but I've been lurking for awhile, and I think I finally have something worth saying :). As many if you I'm sure already know, with the release of iOS 7 and OSX Mavericks came official support from Apple for third party game controllers. (Under the MFi hardware licensing program.) For the gamers among us out there, this is pretty sweet! We've had controllers for macs but never for ios, and never ones that were so fully integrated into the system. But, well, there's a lot of bad news too. So far the controllers available just plain suck. They're super expensive, and as far as game controllers go, aren't too high quality either. (And frankly, there's only like two choices available right now anyway. Not even a wireless one out there yet!) They are so bad, that comparing them to console gaming controllers is simply laughable. So, as a general Apple fan, techie, and DIY nerd, I've been throwing a few things around in my head as of late, just theoretical mind you, I haven't done anything about it (yet...hopefully)...

    But anyway, here's the proposal, I'd like to get some thoughts on it. The goal would be to make (think about it for a minute) create a method of making an xbox 360 controller spoof an "official" Mavericks and iOS 7 gaming controller. Crazy, I know, but the more I think through it, the more theoretically plausible it seems.

    Here's the outline I've kinda go in my head so far. If ya'll want more details just ask.

    1. The project would start with reverse engineering the method of which iOS 7 game controllers send their data to our iOS devices. This would require intercepting the data being sent from the controller to the iOS device somehow. I've got a few idea about how to do that, but right now the specifics don't matter, I'm just talking in theory. After this is accomplished, I'd use this method to discover which signals are sent upon which button presses, etc. etc...
    2. Next would be to discover the methods of which xbox 360 controllers do the same thing. Which signals are sent with each different button press etc. etc... There are many resources online deciding this very thing, so hopefully this won't be as difficult.
    3. Finally, I'd write a program to take input from an xbox 360 controller, and spit back the corresponding signal which a Mac or iOS device will recognize as legitimate, initiating the intended action.

    I've said it before, but so far this all seems technically feasible to me. The only difficulty would be discovering the method ios 7 uses to determine whether or not a given controller is “legitimate.” But it's presumably done through software, and I would imagine just involves sending a signal that says “Hey I'm a real controller!” To our device of choice. I'd just have to set the program to mirror that signal in its output.

    So what's everybody think? Does this sound do-able to anyone else? Would anyone be interested in such a program/hack if it worked?
     
  2. McGiord macrumors 601

    McGiord

    Joined:
    Oct 5, 2003
    Location:
    Dark Castle
    #2
    I think this has been done already, and how you plan on making it nice to hold the iPhone?
    http://lifehacker.com/5991266/how-to-use-a-gamepad-for-any-ios-game-not-just-emulators

    Nice project for learning new things though.
     
  3. Revanchists, Nov 25, 2013
    Last edited: Nov 25, 2013

    Revanchists thread starter macrumors newbie

    Joined:
    Nov 24, 2013
    Location:
    Planet Earth
    #3
    The article you mention only works with jailbroken iOS devices, and the device must be jailbroken. My method, assuming it would work, would not require a jailbreak as it would mere,y be imitating official iOS 7 functionality.

    Also, in regards to your question about how I would get the controller to hold the iPhone? Well, I wouldn't :). That's easy enough huh? Haha. The method right now would be rather complicated. It would require plugging an xbox 360 controller into one USB port, and your iOS device into another via your lightning cord. The program would receive xbox 360 controller inputs, and spit back put corresponding iOS device commands.

    Does that make better sense?

    Edit: So rather than hold the iPhone with the controller, it would be connected to the computer over a wired connection through your computer. If I could figure out a way to do it without the computer middleman, great, I'm all for it. But I'm pretty sure running the necessary program to translate commands would only run on jailbroken devices. (In fact I'm sure of it. It would need to run in the background on top of whatever game your playing. Apple won't allow that. Hence the computer middle man that alters the signal before sending it to the device in the first place.
     
  4. thenewone macrumors member

    Joined:
    Nov 23, 2013
    #4
    Yes! This is an awesome idea...I would love to use a PS3 controller! I have a feeling unofficial (and definitely better) controllers will make there way out soon enough though, just as what happens with virtually all Apple accessories.
     
  5. Revanchists thread starter macrumors newbie

    Joined:
    Nov 24, 2013
    Location:
    Planet Earth
    #5
    Actually, the link McGiord gave describes an existing method of getting a ps3 controller to work with iOS. I can't speak to how well it still works, as there is not even an iOS 7 jailbreak out yet, but you never know. If your still on jailbroken 6.x then you could probably make it useable.

    Again to clarify though, what I would be attempting it to make an xbox 360 controller work on iOS by running a program on a computer which transcodes the input of the controller into an iOS compatible output which the device will then interpret as an official controller. It wouldn't require a jailbreak, and as the computer spoofs the signals in order to imitate a real controller, will work just as well as an officially licensed controller!

    But I agree with you, hopefully there will be more and better controller on the market soon enough. (MFi enrolled manufacture or not)... Still though, it's hard to beat the quality of a console controller. Also, there's tons of people out there who already have xbox controllers, and not having to buy a new controller to play on iOS would be pretty sweet. Just my opinion.
     
  6. Revanchists thread starter macrumors newbie

    Joined:
    Nov 24, 2013
    Location:
    Planet Earth
    #6
    Double post, I know, sorry, but here's an image that hopefully better conveys the idea here.

    [​IMG]

    I know this is very generalized and does not explain the specifics of accomplishing these things (still throwing things around in my head with that, figuring what would work best) but, anyone out there got any input?
     
  7. jonAppleSeed macrumors regular

    Joined:
    Mar 21, 2013
    #8
    I would highly highly doubt that an official MFi controller would simply say "Hi, I'm official".
    Have you seen the lengths that Apple goes through to make sure that you're using an official cable with your phone??

    Also, in your diagram you show a phone plugged into a computer and xbox controller plugged in as well?

    Where is the mobile in mobile gaming after that?

    I know PS3 controller uses bluetooth as that's how they hacked it into android, but what wireless standard does a xbox controller use?
     
  8. tudy25 macrumors newbie

    Joined:
    Aug 16, 2013
    #9
    The 360 controller uses a proprietary wireless technology based on a 2.4 GHz frequency. No Bluetooth I'm afraid.
     
  9. Revanchists thread starter macrumors newbie

    Joined:
    Nov 24, 2013
    Location:
    Planet Earth
    #10
    I agree, if it works at all it's certainly not going to be easy. My biggest concern is, as you stated, the hardware verification the iOS controller inevitably use. The question here is how do they do it. If it verifies the controller in the same way it verifies an official cable, then it could be as easy plugging into a computer with an official cable, and managing to send the correct signal. There no real way to know without trying it.

    And in regards to the 360 controller using a proprietary wireless standard, that is exactly why a computer middleman is needed. (And why this would conceptually be quite a bit easier with a wired 360 controller.

    Edit: and as for this removing the mobile in mobile gaming: I completely agree. Its more of a “proof of concept” thing for me. I'm one of those people who would just enjoy making it work, even if it's not exactly convenient for regular use.
     
  10. thenewone macrumors member

    Joined:
    Nov 23, 2013
    #11
    If you don't already know there is a jailbreak tweak for iOS 7 called "Controllers for All" that turns a PS3 controller essentially into a MFi one. The developer is looking to add other controller support in the future as well (Xbox, PS4, etc) :D
     
  11. bo1500000 macrumors newbie

    Joined:
    Dec 29, 2013
    #12
    Been using the new controllers for all tweak for the past couple days. Works great, but you have to be willing to Jailbreak; and have a PS3 controller laying around.
     

Share This Page