Difference between revisions of "NControl"

From AwkwardTV
Jump to: navigation, search
(Planned Features)
Line 74: Line 74:
== Planned Features ==
== Planned Features ==
* Switch Pro controller support (in progress, 90% done)
* Switch Pro controller support (in progress, 99% done)
* Trigger Sensitivity (pretty much done)
* L3/R3
* L3/R3
* Supporting [https://www.amazon.com/gp/product/B00GNXMXA8/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1 this iPega controller]
* Generic Controller Support with UI mapping interface
* Generic Controller Support with UI mapping interface
* Trial version
* Trial version

Revision as of 23:51, 18 March 2019

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

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

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.

  • PS4 / PS4 Slim
  • Xbox One (the newer model with Bluetooth)
  • EVO VR Pro
  • Nintendo Joycon (only the individual controllers, not the composite grip version)
  • EVO VR Controller

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

  • Switch Pro controller support (in progress, 99% done)
  • Trigger Sensitivity (pretty much done)
  • L3/R3
  • Supporting this iPega controller
  • Generic Controller Support with UI mapping interface
  • Trial version

Known Bugs

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

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?

No and it's not immediately possible in its current form to add this support, however, we have some ideas to implement it and its very high on our list of priorities to take care of.

2. Whats with the binary trigger sensitivity?

Updated: I had some misconceptions about why this was, it can definitely be supported (if said controller supports it). Next release will have this included, may not be perfect yet but it will be a massive improvement.

3. Does it support iopega controllers?

Not yet, but that has be asked frequently enough that I will order whatever is the most popular version and add support for it in a release in the near future.

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.

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.