Standard script events and variables

  • To ensure that all hardware-side communication with new vehicles is as uniform as possible, it is necessary that vehicle scripts strictly adhere to the standards defined here!

    This applies in particular to the designation of keyboard, mouse and game controller key inputs (normal events), inputs of game controller axes or plug-in interfaces as well as a uniform designation of variables so that plug-in interfaces are compatible with as many different vehicles as possible.

    1 General information

    It is not only important that the names selected here are used for events, axes and variables. It is also important to offer all events listed here! Even if, for example, only "Door1Open" and "Door1Close" are required by the mouse events, the event "Door1Toggle" should still be programmed in so that users who have already set up a key combination for this can also use it.


    When scripting game controller axes, all axes that come into question should be provided; for example, setpoint generators should react to pure "throttle" axis inputs as well as to inputs from combination lever inputs.

    2 Keyboard, mouse click and game controller key events

    2.1 Vehicle control

    ID Shortcut Additional information
    Throttle Thrust / Throttle / Acceleration (only road vehicles or railways with combined controls)
    Initiation and increase of tunnelling.

    Road vehicles: First, if necessary, release the brake pedal immediately and completely, then, while pressing the button, quickly depress the accelerator pedal in the direction of "medium full throttle", after releasing it again gently release the accelerator pedal.
    Trains with setpoint generator: Continuous forward movement, temporary waiting or expectation of settling and re-pressing when resting
    Trains with combined travel crank or speed step wheel: movement of the crank by one notch in the direction of maximum performance at the touch of a button
    Neutral Immediate neutral position / release of the brake and gas pedal Road vehicles: Immediate and complete release of accelerator and brake pedal
    Trains with setpoint generator or combined crank: Very fast and complete movement to the neutral position
    Brake Brake (only road vehicles or railways with combined controls) Road vehicles: firstly, if necessary, immediate and complete release of the accelerator pedal, followed by continuous application of the braking force and, after release, maintaining it
    Trains with setpoint generator: Continuous backward movement, temporary waiting or expectation of settling and re-pressing when resting.
    Trains with combined crank: movement of the crank by one notch in the direction of braking per keystroke
    MaxBrake Fast brake Road vehicles: release the accelerator pedal, immediately depress the brake pedal
    Trains: Immediate application of the quick brake
    EmergencyBrake Emergency Brake Operation of any emergency brake button
    HoldToRun Dead man's switch For vehicles with dead-man's vigilance device
    RunButton Run button
    ReverserPlus Reverser in positive direction
    ReverserMinus Reverser in negative direction
    Reverser0 Set reverser to "0"
    ReverserI Set reverser to "I" or "*"
    ReverserR Set reverser to "R"
    ReverserV Set reverser to "V"
    ParkBrakeOn Park brake on All types of parking brakes which are used for permanent braking and parking of the vehicle, such as the hand brake for cars, the bus/truck parking brake, spring-loaded brakes... If it is a handwheel, the braking force is continuously increased.
    ParkBrakeOff Park brake off If it is a hand wheel, the braking force is continuously reduced.
    ParkBrakeToggle Toggle park brake When the parking brake is released, it is activated and vice versa. Handwheels do not need to be supported
    ParkBrake2On, ...Off, ...Toggle Secondary park brake Same behaviour like the primary park brake.
    RailBrake Rail brake If there is more than one pushbutton, then this event should either actuate the pushbutton with the most rail brakes or the greatest braking power or which is usually used first or mainly
    RailBrake2 Secondary rail brake
    Sanding Sander
    InsertKey_Reverser Insert reverser key Inserting the key that locks the reverser
    Key_Reverser_R Reverser key "closed", then remove Turn the key, which locks the direction reverser, in the "locked" direction, if done, then remove
    Key_Reverser_L Reverser key "open" Key that locks the direction reverser, turn direction "open"
    SwitchToggleButton Button to toggle switch For switching the points with the classic point control by overhead contact or similar.
    SwitchLeft Toggle switch Switch left
    SwitchRight Toggle switch Switch right
    SwitchStraight Toggle switch Switch straight
    BrakePlus Brake lever increase Operating a pure pull brake lever/valve: Usually towards
    BrakeMinus Brake lever decrease Operating a pure pull brake lever/valve: Usually away
    SetBrakeDrive Brake lever "drive" Set the pull brake lever/valve directly to the "drive" position
    SetBrakeRelease Brake lever "release" Set the pull brake lever/valve directly to the "release" position
    SetBrakeClosed Brake lever "closed" Set the pull brake lever/valve directly to the "closed" position
    switch.toggle.front Toggle switch in front Corresponds to [G]
    switch.toggle.back Toggle switch backwards Corresponds to [Shift]+[G]
    TrainProtSysReset Train protection system: Reset To be pressed when a emergency braking has taken place, e.g. PZB90 "Frei" or "Fahrstraßen" button on the Berlin underground.
    TrainProtSysConfirm Train protection system: Confirm To be pressed when a critical situation is to be confirmed, e.g. PZB90 "Wachsam".
    TrainProtSysOverride Train protection system: Override Overriding the triggering when intentionally driving past a red signal, for example - PZB90: "Befehl"

    2.2 Power supply

    ID Shortcut Additional information
    HighVoltageMainSwitchOn High voltage main switch on With main current switch all kinds of switches/contactors are meant, which separate the entire traction electrics from the high voltage circuit and which can also be done by an overload device
    HighVoltageMainSwitchOff High voltage main switch off
    HighVoltageMainSwitchToggle Toggle high voltage main switch
    PantographUp Pantograph up/collector connect
    PantographDn Pantograph down/collector disconnect
    ConverterOn High converter switch on Converter for converting the high current from the catenary or third rail, to the low control voltage.
    ConverterOff High converter switch off
    ConverterToggle Toggle converter switch

    2.3 Lights

    ID Shortcut Additional information
    IndicatorToLeft Indicator to left If necessary, is first moved to the neutral position
    IndicatorToRight Indicator to right If necessary, is first moved to the neutral position
    IndicatorToggleLeft Indicator left or off If the indicator switch is already in the "Left" position, it is set to "Off". Otherwise it is set directly to the "Left" position.
    IndicatorToggleRight Indicator right or off If the indicator switch is already in the "Right" position, it is set to "Off". Otherwise it is set directly to the "Right" position.
    IndicatorOff Indicator off Turn signal switch is set directly to the "off" position.
    IndicatorWarn Warning indicator
    FrontLightPlus Increase outside light The switch for the outside light is (usually) set step by step from the "off" position via "parking light" to "dimmed beam
    FrontLightMinus Decrease outside light The switch for the outside light is (usually) set stepwise from the "low beam" position via "parking light" to "off"
    FrontLightOff Switch outside light off
    FrontLightPark Parking light
    FrontLightDim Dim light
    FrontLightFull Full beam
    FrontLightDaytime Daytime running lamp
    FrontLightFogToggle Toggle fog light
    RearFogLightToggle Toggle rear fog light

    2.4 Signalling equipment

    ID Short cut Additional information
    Bell1 Bell 1 Main or standard bell used
    Bell2 Bell 2 Additional bell
    Horn1 Horn/Pipe/Horn/Macrophone 1
    Main or standard signal
    Horn2 Horn/Pipe/Horn/Macrophone 2
    Additional signal

    2.5 Doors

    ID Shortcut Additional information
    DoorReleaseOn Door release on Only for vehicles without side-selective release, i.e. for one-way vehicles or vehicles with side selection (see DoorSideToggle) or for vehicles in which only all doors can be released at the same time (e.g. old subway cars)
    DoorReleaseLeft Door release left Only for vehicles with side selective release, i.e. no one-way vehicles and only vehicles where both sides can be released independently and without side preselection.
    DoorReleaseRight Door release right dito
    DoorReleaseOff Door release off
    DoorReleaseToggle Toggle door release Only for vehicle that support DoorReleaseOn, as well
    DoorAllOpen Open all doors
    DoorAllClose Close all doors
    Door1Toggle Toggle door one
    Door1Open Open door one
    Door1Close Close door one
    Door1Wing2Toggle Toggle door 1, second wing
    Door1Wing2Open Open door 1, second wing
    Door1Wing2Close Close door 1, second wing
    DoorSideToggle Toggle side of door release Switch door release side
    DoorSideLeft Door release side left
    DoorSideRight Door release side right
    KneelingUp Kneeling off/up
    KneelingDown Kneeling on/down
    KneelingToggle Toggle kneeling
    DoorStepPlattformHigh Door step platform high For vehicles with variable step height. The steps are preselected for entering or exiting from a high platform.
    DoorStepPlattformLow Door step platform low For vehicles with variable step height. The steps are preselected for entering or exiting from a low platform.
    DoorStepStreet Door step street For vehicles with variable step height. The steps are preselected for entering or exiting from the street.
    WheelchairLiftUp Wheelchair lift up
    WheelchairLiftDown Wheelchair lift down

    2.6 Driver's desk

    ID Shortcut Additional information
    WiperToggle Toggle wiper
    WiperLeftToggle Toggle left wiper
    WiperRightToggle Toggle right wiper
    WiperPlus Increase wiper frequency
    WiperMinus Decrease wiper frequency
    DriverHeaterToggle Toggle driver heater
    FrontWindowHeaterToggle Toggle front window heater
    MirrorLeft Flip the left exterior mirror in or out
    MirrorRight Flip the right exterior mirror in or out
    CockpitLightPlus Switch Cockpit light on
    CockpitLightMinus Switch Cockpit light off
    CockpitLightToggle Toggle Cockpit light


    2.7 Line and destination displays

    ID Shortcut Additional information
    DisplaySel1 ... DisplaySel4 Select display 1 to 4 ... to change them with the other events
    DisplayMoveSelUp Increase display selection ... up to higher destination indices
    DisplayMoveSelDn Decrease display selection ... down to lower destination indices
    DisplayMove1Up ... DisplayMove4Up Change display from 1 up to 4 ... up to higher destination indices
    DisplayMove1Dn ... DisplayMove4Dn Change display from 1 down to 4 ... down to lower destination indices


    2.8 "Bord computer"

    As on-board computer is meant here somewhat colloquially any kind of device which serves the primary input and output of electronic, digital data, which is used in particular for communication, PIS and/or the issue of tickets. Typical examples are IBIS, RBL, ticket printer etc.


    In my opinion the most international and general collective term is ITCS, "Intermodal Transport Control System", which is why I use it as a prefix.


    ID Shortcut Additional information
    ITCSEnter Enter key
    ITCSCancel Cancel key
    ITCS0...ITCS9 Numerical keys 0 to 9
    ITCSPlus Plus key
    ITCSStar Star key
    ITCSNext / ITCSPrev Arrow keys to switch through menus etc.
    ITCSFunction Function call key
    ITCSLine "Line" key
    ITCSRoute "Route" key
    ITCS ??? "Course" key
    ITCSTerminus "Destination" key
    ITCSTimeDate Time/Date key
    ITCSEmergencyCall Emergency call key
    ITCSCall Call key / Wish to speak
    ITCSPriorityCall Priority call
    ITCSDepotCall Call depot operational control
    ITCSCloseRangeCall Close range call
    ITCSNextStop Switch to next stop including announcement
    ITCSNextStopMute Switch to next stop without announcement
    ITCSPrevStop Switch to previous stop including announcement
    ITCSPrevStopMute Switch to previous stop without announcement
    ITCSAnnouncementStop Stop announcement
    ITCSTicket0, 1, 2... Selection keys for ticket print
    ITCSSwitchLeft Switch to left
    ITCSSwitchStraight Switch to straight
    ITCSSwitchRight Switch to right
    ITCSSignalRequest Request traffic light / signal
    ITCSAnnounceEnter Announcement "Enter"
    ITCSAnnounceStandClear Announcement "Stay clear"


    3 Gamecontroller axles

    3.1 Vehicle control

    ID Shortcut Direction Additional information
    Throttle Throttle, thrust lever 0 = no throttle
    1 = full throttle
    Serves for control via a pure thrust/gas pedal axis. Combi levers should also react to this.
    Brake Braking lever, braking pedal 0 = no braking force
    1 = emergency braking
    Serves for control via a pure brake pedal/lever axle. However, combination levers should also react to this. The axle should initiate an emergency brake at maximum.
    BrakeWithoutMax Braking lever, braking pedal, without max brake 0 = no braking force
    1 = max. normal braking force
    Serves for control via a pure brake pedal/lever axle. However, combination levers should also react to this. The axle should not initiate emergency braking at maximum.
    ThrottleBrake Throttle-brake combination 0 = emergency braking
    0,5 = neutral
    1 = full throttle
    Serves primarily for the control of a combination setpoint generator. However, individual pedals/levers should also react to this. The axle should at least initiate a quick brake.
    ThrottleBrakeWithoutMax Throttle-brake combination without max brake 0 = max. normal braking
    0,5 = neutral
    1 = full throttle
    Serves primarily for the control of a combination setpoint generator. However, individual pedals/levers should also react to this. The axle should at least not initiate a quick brake.