I’ve been working on different ways to use a gamepad with the DCS Wi-Fi app with the ultimate hope that the folks over at MTH will take notice and build in support for gamepad to supported natively without need for third party intervention. So below I’ll layout the best & easiest way I’ve found to do this so far.
First things first (DISCALIMERR TIME!!!) I take absolutely no responsibility for any damage or loss of data that may occur to your device if the procedures below do not work or cause physical damage to your device. I believe that this is extremely unlikely but do proceed at your own risk. I also do not guarantee that this will work on every device or with every version of Android.
To get started I have only worked on this within an android environment so you’ll need a android phone or tablet to proceed. The device that I am using is a Google Nexus 7 2nd generation tablet. It is running Android version 6.01 and it not “rooted” or “jailbroken”. It "should" work on other devices as well.
Make sure you have a Bluetooth controller connected to you device.
You’ll need to download an app from the Google Play store called Octopus.
The Octopus app is used to allow alternative input control over the DCS App. Now before you go out to the Play sore and wilily-nilly download the octopus app please reread the disclaimer above. Octopus needs a lot of permissions to your device (perhaps more than it really needs) and the publisher is based in China. I’ve monitored the octopus app internet communications and haven’t noticed anything suspicious yet. Most of the time my tablet is connected directly to the WIU so it doesn’t have internet access anyway.
The next thing you need to know about is how Octopus operates, it actually runs the DCS app inside of Octopus. You launch the Octopus app and then from inside that app you launch the DCS app. This will cause two issues with the DCS app.
First the DCS app will launch like it is new as the Octopus app maintains is own data set for each app it launches. You’ll need to setup up everything up again, engines, switches accessories.
Second, the app will not be able to access the Google Play store unless you purchase the Octopus premium upgrade for $2. The DCS app will not be able to be used with the standard or premium upgrade until it can make a connection to the Google Play store and verify that your DCS is upgraded.
Launch the Octopus app after installing and click the plus to add and app and select the DCS app from your list of apps. Launch the DCS App and tap the run my trains. You’ll notice that you now have a new icon on the screen:
This is the Octopus icon that allows you to map touch input from a Bluetooth controller.
Mapping is fairly easy. Tap the Octopus icon and then tap the plus sign. A pop up will appear asking what type of function you want to add, press the key button. A new button will appear on the top left with a flashing courser. Press the button on your controller you want to map and then use your finger to drag the button to the function on the screen you want that button to control. Repeat this until you have mapped all of the functions you want to run.
Mapping the analog joystick to operate the whistle rope is a bit tricky. You need to map the joystick control very carefully to the left of the whistle handle and then expand the radius of of the joystick range bit by bit. The bottom of the control circle will expand to the proper level as the right portion extends off the screen. It may take a few tries to get it working right.
I also mapped the start button to move the screen down so that you can control Coupler, headlight, smoke, and engine sounds.
Notice that function for the couplers will overlap with start-up and shut-down functions on the main screen. Depending on which screen you are on the buttons you map to this location will either operate a coupler or start-up / shutdown and engine. (this is also true of the speed up & down buttons for the “run my trains” button when you first start the app.
Be careful when mapping the Headlight button, it has to be carefully placed to make sure that it won’t jump your engine to 60 SMPH on the main control screen.
Tinker around with this, there is a lot of flexibility and so many ways to configure this.