Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Revanchists

macrumors newbie
Original poster
Nov 24, 2013
5
0
Planet Earth
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?
 
Last edited:

McGiord

macrumors 601
Oct 5, 2003
4,558
290
Dark Castle
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.
 

Revanchists

macrumors newbie
Original poster
Nov 24, 2013
5
0
Planet Earth
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.
 
Last edited:

thenewone

macrumors member
Nov 23, 2013
86
0
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.
 

Revanchists

macrumors newbie
Original poster
Nov 24, 2013
5
0
Planet Earth
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.
 

Revanchists

macrumors newbie
Original poster
Nov 24, 2013
5
0
Planet Earth
Double post, I know, sorry, but here's an image that hopefully better conveys the idea here.

a8enu7e8.jpg


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?
 

jonAppleSeed

macrumors regular
Mar 21, 2013
200
0
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?
 

tudy25

macrumors newbie
Aug 16, 2013
28
1
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?

The 360 controller uses a proprietary wireless technology based on a 2.4 GHz frequency. No Bluetooth I'm afraid.
 

Revanchists

macrumors newbie
Original poster
Nov 24, 2013
5
0
Planet Earth
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.
 

thenewone

macrumors member
Nov 23, 2013
86
0
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?

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
 

bo1500000

macrumors newbie
Dec 29, 2013
14
0
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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.