From AwkwardTV
Revision as of 23:48, 28 March 2019 by Nito (talk | contribs)
Jump to: navigation, search

nControl - For AppleTV 4G Take 4 and Any iOS device from iOS 7-12
Current Version: 1.1-20

Release date: Mar 15th, 2019
Current as of: Mar 15th, 2019

Use Sony Dual Shock 4 / Slim, XBox One, Evo VR Pro / Mini controllers and Nintendo Switch Joy-Con controllers in any application that supports MFI controllers. Including emulators like Provenance.

This project is Copyright © 2018-2019 nito llc. All Rights Reserved.

Written By: Kevin Bradley & Luca Todesco

Change Log

1.0-1 2019 03 15

  • Initial release for tvOS and iOS

1.1-20 20019 03 22

  • Added initial support for Switch Pro controller
  • Added support for an older revision of Xbox One controller
  • Fixed Evo VR / ipega controller bugs
  • Fixed trigger sensitivity for PS4
  • Improved trigger sensitivity for Xbox One (still needs work)
  • Button intensity doubled.

Install Instructions


Currently it is only possible to buy the tweak from my Patreon account. I plan to have a standalone paypal option in a day or so. In the (hopefully) near future the nitoTV store will launch and purchase will be possible directly on device, at that point the patreon and paypal options will be shuttered in favor of the app store installation.


It is available through Cydia (and presumably Sileo) on chariz repo


If you are pairing the EVO VR Controller that looks like a nunchuck it will NOT show up in the nControl pairing UI, the default system UI in settings will work for the time being until we sort this issue out.

1. Open the nControl application.
2. Put your device in pairing mode (each controller has a different method for this)
3. The device should appear in the list momentarily (if it does not the action sheet has options to restart services, its advisable to try those if needed)
4. Select the device from the list after it appears.
5. On tvOS an action sheet will appear choose "Connect Device"
6. on iOS it will take you to another screen with additional details, click the action button in the top right
7. Choose "Connect Device"
8. If you are using the EVO "VRBOX" (thats how it displays in the UI) controller make sure to hit the B and @ button simultaneously to get into the proper "mode"

Additional Notes

Make sure to unpair your controllers from other devices first, some controllers can be incredibly tempermental and take several tries to get working, the PS4 controller can be known to be somewhat painful to get pairing sometimes.

Using on macOS

You need to jailbreak your mac before using this daemon, instructions can be found here

macOS version is a free bonus for anyone who purchases the iOS or tvOS version. After downloading the file you can run it from any directory (i should package this into an installer that has sa LaunchDaemon, we'll see how popular the mac version becomes if it necessitates that.)

After that any games you have that support MFI controller should now support all the ones nControl does as well. I dont have any MFI games so I haven't thoroughly tested how well it works. But I do know, once jailbroken on Sierra that it does indeed work. Haven't tested in later OSes but no reason it shouldn't.

Supported Controllers

This software works through bluetooth, if you want a controller to be added to the list that is the bare minimum requirement.

Known Supported Games

MFI Games

Special Notes

When pairing with the EVO VR Pro controller, make sure to pair it in 'android' mode by Pressing and hold the EVO VR and X Buttons until the light starts to blink rapidly to enter pairing mode.

Planned Features

  • L3/R3
  • Generic Controller Support with UI mapping interface
  • Trial version
  • Keyboard / Mouse access
  • Improved support for Moonlight etc

Known Bugs

  • XBox one controller experiences sticky joystick issues from time to time, still a WIP to try and get this sorted out
  • Switch Pro controller lights keep flashing

Controllers attempted to Support

The following controllers I put an exhaustive amount of time into trying to support without any good results. Therefore they are not likely to get support in the future.

  • PS3 / SixAxis
  • Wiimote


1. Does it support L3 / R3 buttons?

This is currently the top priority, hopefully it will make it into the next release.

2. Whats with the binary trigger sensitivity?

It should work much better with the latest release, there are still some weird issues to sort out with XBox One controllers.

3. Does it support iopega controllers?

It supports 1 model for sure, it will advertise and pair as if its an Evo VR Pro controller.

4. Does it support fortnite?

No because they have pretty strict jailbreak detection, and to my knowledge nothing exists to circumvent that.

5. Does it support pubg?

Minimally, I think you can move a little bit, but nothing useful is possible. Its possible we could release a tweak to fix this.

6. PS3 / Wiimote support?

I've poured a TON of work into trying to get both of those to work, but to no avail. Controllers for All required BTStack so the custom pairing routines required for both of these controllers wasn't as challenging as implementing everything natively without any code injection or custom blue tooth stacks running. I doubt either of these controllers will see support, I'm open to trying still, but remain skeptical about it happening.

7. Mouse & Keyboard support?

Not currently supported but a really frequent request, so it's definitely on the list of possibilities in future updates.

8. Does nControl require a jailbreak, if yes, does it need to be a specific jailbreak to work?

Yes nControl does require a jailbreak to work. I may have confused some people when I called it "jailbreak agnostic", and to be fair that is a bit ambiguous. nControl does not require any code injection to work, but it DOES require a daemon to do its magic, the iOS / tvOS pairing application that you can sideload doesn't require a jailbreak to work and will allow you to pair devices, but they wont actually do anything after the fact.

nControl does NOT require any specific jailbreak to work. That being said it's untested on rootless, and would probably not work there. Otherwise, any jailbreak from 7.0->12.0 should be capable of supporting nControl without any modifications.

9. What emulators have you tested this with?

Personally I've only used this extensively with Provenance, but theres no reason it shouldn't work with any emulators that support MFI controllers. We would definitely like to get as many emulators supported and easy to install as possible on both iOS and tvOS. Whether it be NDS, Wii, Dreamcast, we'd like to cover as many as possible.

10. Does it support the steam controller?

No, I have some raw logs to start with but will need this controller in person to get it properly supported. There is plans to implement support, hopefully in the next release.

Additional links

If you want a recentish version of provenance on iOS add my repo to cydia or sileo


Helping us add controller support:

1. SSH in to your AppleTV (or browse your file systems to find the error log file "/Library/Logs/controllersupport-Error.log")
2. Attempt to pair your unsupported device
3. Check the log file for an entry similar to:

found device: EVO VG010 with vid: 6473 pid: 1026, reportDescriptor: <05010906 a1018501 75019508 050719e0 29e71500 25018102 95017508 81039505 75010508  19012905 91029501 75039103 95147508 150026ff 00050719 0029ff81 00c0050c 0901a101 85037508 95018101 15002680 0319002a 80037510 95048100 c0050109 02a10185  060901a1 00050919 01290315 00250175 01950381 02750595 01810105 01093009 31158125 7f750895 02810609 38158125 7f750895 018106c0 c0050109 05a10185 070901a1  00093009 31093209 35150026 ff007508 95048102 c0093915 00250735 00463b01 65147504 95018142 75049501 81010509 1901290f 15002501 75019510 81020502 150026ff  0009c409 c5950275 08810275 08950181 01c0>

4. Send us this information in our discord channel

Debug logs are available at /Library/Logs/controllersupport-Error.log
A support channel exists on the jailbreak discord server in the #ncontrol room.