Released February 16, 2023


The Game Automation Tool

Now Supports Windows 11!

No Credit Card or Email Required

iOS and Android Devices

ControlMyJoystick can receive triggers from your iOS or Android phone or tablet by using the free ‘ControlMyJoystick Remote’ app. This allows you to place your device by your keyboard or mouse and simply touch an on-screen button to run a macro.

You can even use up to three iOS and Android devices simultaneously, so you may have game navigation commands on your iPhone, some miscellaneous commands on your iPad, and maybe some chat commands on your Android mini-tablet. Just place the devices within easy reach to create your own ‘dashboard’. The app is free and there are no in-app purchases are needed.

Screenshot of the TCP/IP Remote app running on an iPad. Touching a button will cause a macro to run in ControlMyJoystick.

Mobile Operating Systems Supported

The TCP/IP Remote app requires iOS 9.0 or higher and Android 5.0 or higher.

Installing the App on iPhone or iPad

On iOS, go the the App Store and search for ‘controlmyjoystick remote‘ and install it.

Installing the App on Android

On Android, go the the Google Play Store and search for ‘controlmyjoystick remote‘ and install it.

Installing it on a Windows PC

You can get the same remote trigger functionality by running the ‘TCP/IP Remote’ utility from the ControlMyJoystick Tools menu. This is a separate Windows app that you can put on another monitor.

You’ll need to click on the macro buttons with the mouse, but otherwise it is identical in function to the iOS and Android apps. You can even run up to three of these simultaneously and set them for different DeviceID’s so that they each display different macro buttons.

How it Works

The app connects to the ControlMyJoystick TCP/IP Trigger Server via TCP/IP protocol on your network. In ControlMyJoystick, you configure the TCP/IP Trigger Server to listen on an IP Address and port, and then you enable the server. In the app, you set it to connect to the same address and port and then connect to the server. Any TCP/IP trigger’s configured for the current profile will be displayed as buttons. Tap a button on the screen to run a macro back in ControlMyJoystick.

Creating a TCP/IP Trigger

Create a profile, add a macro and create a trigger for that macro by selecting ‘TCP/IP…’ from the Trigger menu. You will need to set the text, colors, order and deviceid for that trigger. This trigger will appear as a button in the Remote App.

  • Title – Required. This appears as larger, bold text on the button.
  • Description – Optional – This appears as smaller text beneath the title on the button.
  • Order – This is the order in which the button will be displayed. The lowest number will appear at the top of the button list. The button list will be sorted by Order, ascending. Order numbers do not need to be consecutive, so you can have gaps (ex. 1, 2, 3, 6, 7).
  • Device – Required – You can set this value from 1-3. So, for example, you could create buttons with device = 1 and all these will appear on your iPhone, while other buttons with device = 2 will appear on your Android tablet. When you connect your Remote App to the server, you need to specify the DeviceID that you want to display on the device. This works great if you want build a ‘dashboard’ from multiple devices.
  • Copy Colors – Click on this to copy the button and text color. If you want several buttons to have the same colors, using the copy and paste buttons are easier than trying to set the colors manually.
  • Paste Colors – Click on this to apply the button and text colors that you copied with the Copy Colors button.

Configuring the TCP/IP Trigger Server

In ControlMyNikon, select ‘Configure TCP/IP Trigger Server’ from the Trigger menu. You will need to set the Bind Address and Port and then enable the server. Any server status information or errors will be displayed in the sidebar, so it is a good idea to open up the log panel and clear it now. You will likely need to tell your firewall to allow TCP/IP connections to the address and port you have specified. You could have more than one firewall between your Remote App and the ControlMyJoystick TCP/IP Trigger Server too. Note: This configures the server for all profiles, not just the current profile.

  • Bind Address – This is the IP Address that the server will listen to. You must find the IP Address of the computer that is running ControlMyJoystick and one of the best ways to do this is to go to a Windows command prompt and type ‘ipconfig’. It will display your network connection info and in there somewhere is your IP address. If you have more than one network cards in your computer, you will see one IP address per card, so you need to figure out which card would be visible to your Remote App on the network. Note: The Android and Windows apps can use IPv6 and IPv4 addresses, but the iOS app can only use IPv4.
  • Bind Port – This is the port that the server will listen to on the Bind Address you specified. It defaults to 50003 but you can use any port from 1-65535 that isn’t already used by another app or service. We recommend to use 50003 unless you have a really good reason to use another port.
  • Enabled – Check this box to set the server to listen to the port on the address you specified. Check the log panel in the sidebar to see if it connected or if any errors occurred.

Configuring the Remote App

Run the CMJ Remote app. Tap the settings icon on the upper-left-hand corner to bring up the settings screen.

  • Server Address – Set this to the Bind Address you set in ControlMyJoystick’s TCP/IP Trigger Server setup screen.
  • Server Port – Set this to the Bind Port you set in ControlMyJoystick’s TCP/IP Trigger Server setup screen.
  • DeviceID – This allows you to filter which buttons you want to view on your device. When you create a TCP/Trigger in ControlMyJoystick, you need to set which DeviceID’s that this button can be viewed on. This is useful if you intend to use more than one device as a ‘dashboard’, with each device having different buttons.
  • Columns – For wider devices such as tablets, you can set how many columns of buttons you want. Only for Android and Windows apps. Not available for iOS devices.
  • Connected – Tap this slider to connect to the server. If it connects successfully, the settings panel will close and you will see any TCP/IP trigger buttons that you have configured in ControlMyJoystick.


The trickiest part of setting this up is to select the correct IP address and port and ensure that your Remote App can see the TCP/IP Trigger Server on the network. Best to check the ControlMyJoystick log for any error messages. You can also use a ‘ping’ app on the iOS or Android device to see if it can actually see the server on the network. And don’t forget about firewalls. There’s Windows firewall, and often other firewalls that antivirus apps are running. And you may have a firewall in your network router which sits between your device and ControlMyJoystick.