Support

Product: Cab Deck for Train Sim World (Stream Deck plugin for Windows) · Provider: GRAMSHIFT (Tokyo, Japan)

Unofficial product: not affiliated with or endorsed by Dovetail Games. Train Sim World is a trademark of Dovetail Games.

Contact

Email contact@gramshift.com in English or Japanese. We reply within 7 business days, usually sooner. Please include your Train Sim World version (TSW 6 or TSW 7), the route and train you were driving, your Windows version, your Stream Deck app version, the text of the "Status" line in the key's settings, and, if possible, a photo or screenshot of the key and of its settings. Ideas for new keys are welcome too.

Getting started

  1. Switch on the game's interface for external tools: in Steam, right-click Train Sim World, choose Properties, and type -HTTPAPI in Launch Options. In the Epic Games launcher, open Settings, find the game and add -HTTPAPI to its additional command line arguments.
  2. Start the game on the same PC as the Stream Deck app. The first time it runs with -HTTPAPI, the game writes its key to CommAPIKey.txt in Documents\My Games\<game folder>\Saved\Config. The game folder is TrainSimWorld6 for Steam, TrainSimWorld6EGS for the Epic Games Store and TrainSimWorld6WGDK for the Microsoft Store or Xbox app (TrainSimWorld7, TrainSimWorld7EGS ... for TSW 7). The keys find all of them; with two versions installed, they use the key the running game accepts.
  3. Drag the keys you want from the plugin's category onto your Stream Deck. They connect by themselves and read the key file on their own.
  4. If your Documents folder is in an unusual place and the keys say NO API KEY, open CommAPIKey.txt in Notepad, copy its text and paste it into the API key field of any key's settings (one field for all keys).
  5. The Status line in each key's settings says whether the game is found, which train you drive, and which control a Cab Button uses on it.

The keys

KeyShowsPress
Speed & LimitYour speed and the speed limit where the train is. Speed and limit turn red (OVER) when you are more than half a unit over the limit.-
Next Speed LimitThe next speed limit ahead and the distance to it: amber when it is lower than now, green when higher. "no change ahead" when the game reports none.-
Next SignalThe aspect of the next signal in its color (red Stop, yellow Approach and other cautions, green Clear) and the distance to it; "permissive" for a permissive signal. NO SIGNAL when there is none ahead.-
Power HandleThe power handle as the game's HUD shows it: the notch (negative numbers are braking notches on a combined power and brake handle), or a percent on a handle without notches; and the reverser: FORWARD, NEUTRAL or REVERSE.-
Train BrakeThe train brake handle in percent with a bar, and the cab's brake gauge (the white and the red needle) in bar or psi when the train reports it. Without a gauge, the locomotive (independent) brake handle when the train has one.-
Next StationThe next station ahead, its platform and the distance to it.-
Game TimeThe time of day in the game and the service you drive.-
Cab ButtonHorn, Safety acknowledge, Sander, Emergency brake, Emergency brake release or Bell: ON while the control is pressed (APPLIED in red while the emergency brake is on), and which control it uses on this train (for example "Horn, rear cab"). The Safety acknowledge key flashes ACKNOWLEDGE when the train's safety system asks for it (the UK AWS, the German PZB or a US alerter, on trains that report it), and turns red with BRAKE DEMAND.Horn, Safety acknowledge, Sander and Bell: held for as long as you hold the key, then back to where the control rests (a horn lever goes back to its middle position). If the game does not take that at once (it is busy or frozen), the plugin sends it again until it does, and the key shows NOT PUT BACK in red meanwhile. Emergency brake: a press applies it, and it stays applied when you let go. Emergency brake release: a press releases every emergency brake of the train.
Custom ControlYour label (or the control's name), the control's value and a bar. OUT OF RANGE in red when the value you entered is outside what the control takes.The control you choose: held while you hold the key (and put back when you let go, as a Cab Button), toggled between its lowest and highest value, or set to the value you enter

The keys show what the game reports, so they stay right when you use the mouse, keyboard or a controller too. A short white frame shows that the game took your press; a red frame and a reason show that it did not.

Custom Control: any control of your train

Drive a train, open the Custom Control's settings and pick the control from the list: it lists the controls of the train you drive now (door buttons, lights, wipers, pantograph and so on). Then choose what a press does:

PressWhat happens
hold while the key is downThe control goes to its highest value while you hold the key and back to where it was when you let go. For push buttons.
toggle (lowest / highest)Each press moves the control to the other end. For switches with two positions.
set to the value belowThe control is set to the value you enter (the control's own input value, for example 1 or 0.5; the Status line shows the control's range). A value outside the range is not written: the key shows OUT OF RANGE.

Controls are named differently on every train, so a Custom Control belongs to the train it was set up for.

Messages on the keys

MessageWhat it means / what to do
NO TSWTrain Sim World is not running. Start it: the keys connect by themselves.
API OFFThe game is running but its interface for external tools is off. Add -HTTPAPI to the game's launch options (see Getting started) and start the game again. If it is set, the game may still be starting.
NOT FOUNDNothing answers and the plugin cannot tell whether the game runs. Start the game with -HTTPAPI.
NO API KEYThe game answers but no key file was found. Paste the text of CommAPIKey.txt into the API key field (see Getting started).
KEY FILE?The key file is there but cannot be read (for example it was saved again by a text editor in another format). Delete CommAPIKey.txt and start the game once with -HTTPAPI: it writes a new one. Or paste the key's text into the API key field.
KEY REFUSEDThe game refuses the key, and every other key file found. The key files are read again every few seconds; if you pasted a key, paste the text of CommAPIKey.txt again, or empty the field. Deleting the file makes the game write a new one the next time it starts.
WRONG PORTAnother program answers on the port in the key's settings. Leave the port empty for the game's usual port 31270.
PORT?The port in the key's settings is not a number from 1024 to 65535.
CONNECTING / LOADINGThe keys are connecting, or the game is busy for a moment (loading a route). They go on by themselves.
NO TRAINYou are in the menus, or the train is still loading. The Game Time key still works.
STALEThe game's clock has stopped (the game is paused): the values shown are the last ones.
not on this trainThis train has no control the key can find for that job. Use a Custom Control with the control's name.
NOT CONNECTED / NOT ON TRAIN / NOT TAKEN / NO REPLY (red frame)A press could not be sent: the game is not connected, the train has no such control, the game refused it, or the game did not answer in time.
WAIT (amber frame)The train has just loaded and the key is still reading how far the control moves and where it rests. Nothing was sent; press again in a moment.
NOT PUT BACK (red frame)You let go of the key while the game was busy, so the control is not back yet. The plugin keeps sending it (for up to two minutes) and the red frame goes when the game took it.

Questions

Does it work on Xbox or PlayStation?

No. The game's interface for external tools exists on PC only.

Do I need to install a mod in the game?

No. The plugin uses the game's own interface for external tools, switched on with -HTTPAPI. Nothing in the game's files is changed.

The horn key says "not on this train". Why?

Each train names its controls itself. The Cab Button looks for the game's own input names and the usual control names; when a train uses another one, pick it in a Custom Control instead.

The Safety acknowledge key does not flash on my train.

It flashes when the train reports that its safety system asks for an acknowledgement (the UK AWS, the German PZB or a US alerter). On a train that does not report it, a press still works the control; only the flashing is missing.

How do I release the emergency brake?

Put a second Cab Button on your Stream Deck and choose Emergency brake release in its settings. The Emergency brake key itself only applies the brake, so it is never released by mistake.

The Train Brake key shows no pressure on my train.

Some trains do not report their brake gauge. The key then shows the brake handle only.

Can I use it with the game on another computer?

No. The Stream Deck must be connected to the PC that runs the game.

Requirements

Train Sim World 6 or Train Sim World 7 on a Windows PC, started with -HTTPAPI; Stream Deck app 6.9 or later on Windows 10 or later, on the same PC as the game.

Privacy Policy