X4: Foundations

X4: Foundations

Not enough ratings
Thrustmaster Cougar MFD setup for X4
By Kal_Ryper
This is a guide to show you how to configure and fully utilise at least 2 x MFDs.
   
Award
Favorite
Favorited
Unfavorite
Introduction
  • The MFD setup has been tested with 2 x MFDs, on a PC running Windows 11.
  • A couple of basic demonstrations have been included, should you wish to follow along with your own setup.
  • All configuration is GUI-based.
  • This guide is aimed more at basic configuration, and does not get too advanced.
    • Layers are not covered here.
Problem recognising the MFD's in-game
  • You've plugged your devices in to your PC, and they correctly show under "USB Controllers"
  • However, when you run X4 you don't see them:
    • Settings
      • Controls
        • Manage Controllers / Joysticks
Download T.A.R.G.E.T software from Thrustmaster
  • Go to the Thrustmaster Support site
    • support dot thrustmaster dot com
  • Navigate to "Joysticks" and then "MFD Cougar Pack"
  • I first downloaded and installed the driver.
    • Not sure if this is required, as Windows may already handle it.
    • Drivers -> "Unified Drivers Package" -> version "2018.FFD.2" (at time of writing this guide)
  • Locate the "Software" collapsible section, and download the T.A.R.G.E.T software
    • v3.0.21.910_rev1 (at time of writing this guide)
  • Install the software
  • This adds a "Target Script Editor" and "Target GUI" icon to your desktop
    • This guide will not cover the script editor.
Using the T.A.R.G.E.T software
  • Top left - "Fly now"
    • This is a feature that can link your MFD configuration to a program executable (X4.exe) so you can run this game straight from this U.I.
    • You can't use the path from the Steam icon.
    • Use the file path where the executable is installed on your machine.
      • Right-click game menu item (in Steam) -> Manage -> Browse local files.
    • However, you can skip this step as it is not essential.
    • I've mentioned this because of the prompt "Add a new association first!"
  1. We must have a configuration file though, so click "New Configuration"
  2. Enter the configuration file details, and use "Advanced" type.
  3. Click "OK" to save the configuration file.
  4. Ensure "X4Foundations" is selected, then click "Edit"
  • Select your devices, in this case the two MFDs, and click "Next"
  • Later editing still takes you to this screen first, just click "Next"

You are now in the main editor.

I'd first like to demonstrate to you the limitation of the MFDs, and then how we work around them.

If you just want to dive straight in, skip this next "demonstration" section.
Demonstration: Limitation of the MFDs
Without any further set up of our configuration file, I want to show you the problem we face with USB Controllers.
  • If you are following from the previous section, click:
    • "Save"
    • "Exit to Dashboard"
    • "Yes" to the prompt

Run the configuration
  • You have two options:
  1. Click "Run Configuration" but you will be prompted to select a configuration file
  2. Click "Run", ensuring "X4Foundations" configuration is already selected
  • T.A.R.G.E.T is now running, and should be left running while you play X4.
  • In USB Controllers, the MFDs are "gone" and replaced by a "Thrustmaster Combined" controller.
  • T.A.R.G.E.T is doing this, but will revert to your MFDs when T.A.R.G.E.T stops running.
  • Currently, a Windows controller is limited to 32 buttons
  • 2 x MFDs @ 56 buttons cannot be properly utilised.
  • We will fix this.
  • Run X4
  • Go to Settings -> Controls -> Manage Controllers / Joysticks
  • You should now see the "Thrustmaster Combined" controller in addition to your other controllers.

Button Assignments - the issue
Without any additional configuration through the T.A.R.G.E.T software, we only have 28 buttons for the "Thrustmaster Combined" controller.

To demonstrate, run X4 -> Settings -> Controls -> General
  • Select a button assignment (e.g. Modes -> Travel mode) and assign it a button on MFD 1.
  • In-game, use this button to activate Travel mode.
  • Now, use the same button, but on MFD 2, and Travel mode will stop.
  • You can only link 28 button assignments for this controller, in X4.

Button Assignments - the solution
Egosoft has given us a lot of keyboard mappings, and this is where the T.A.R.G.E.T software empowers our controller. We can assign an MFD button to a keyboard key-press, and that button assignment is unique to that MFD!

For example, we can assign Button 1 (MFD 1) to "Travel Mode", in X4 settings.
Then we can map Button 1 (MFD 2) to a key-press (e.g. SETA), in T.A.R.G.E.T.

If you were following along with the demo, then close X4 and also stop T.A.R.G.E.T by clicking "Stop Profile".
Setting up your MFDs' Configuration
  • Stop !
  • Plan ahead, and decide which 28 buttons you will directly assign in X4 controller settings, and which you will map to a keyboard assignment.
    • By default, Egosoft has given us a large number of keyboard mappings to choose from.
  • To make changes for keyboard assignment mappings, you will have to:
    • Exit the game
    • Stop T.A.R.G.E.T (profile)
    • Make your changes
    • Restart T.A.R.G.E.T (Run configuration)
    • Restart X4

Warning
  • Be mindful of any buttons you do not set keyboard mappings for.
  • Buttons assigned as controller buttons (in X4 settings) will work on both MFDs, unless one MFD has a keyboard event mapped.
    • You don't want to launch a salvo of missiles by accident when you intended to request docking, do you?
    • We can set NULL events, to help avoid this issue (see later in guide)


T.A.R.G.E.T Configuration
1. SELECT CONTROL (left section)
  • Each button can be dragged to section 2 or double-clicked to enable editing.
  • Note (A) - ensure the correct MFD is selected, when assigning buttons.
3. SELECT EVENT (right section)
  • This section will be empty for a new configuration file.
  • After editing and saving, you will see a collapsible tree for each MFD and its button assignments.
  • Unassigned buttons are not listed.
  • A selected button (a) from section 1 will auto-target an existing assignment, and expand one level to display the control action(s).
    • MFD
      • Control Action
        • Event Name
  • Single-click the "event name" to load the assignment in to the "Assign Parameters" section.
2. ASSIGN PARAMETERS (middle section)
  • When a button is selected, this section isn't immediately populated (for an already mapped button). You must select an existing event first. This is because you can have multiple events for a single button.
  • For a new assignment, you are ready to edit.
  • SAVE after every EVENT change you make!
    (a) save changes to the current button event
    (b) create a new event; you can have multiple events for one button
    (c) delete an existing event
    (d) with the cursor in this text box, it will capture your key presses. Alternatively, click the large button to open another interface to select from a wide range of options.
  • SAVE after every EVENT change you make! (yes, it's that important)


"Rocker" switches
  • These are "rocker" switches, located in each corner of the MFD.
  • Be careful when selecting the upper or lower "button" of a switch.
  • You can zoom in, right-click and drag to move the MFD graphic about.
  • Example usage is demonstrated later in this guide.
Config example: Simple Button Event
Section 1
Section 2
Section 3
  • Select the button to assign a keyboard assignment to.
  • Layers - not covered in this guide. If you clicked on them by accident, click again until all are lit.
  • Control action - "Press" is the default, so use this.
  • Key Command - either:
    • Place cursor in the text box and press the required key(s). The above example has no plus-sign to join the two keys. It would be confusing if the plus-sign was part of the assignment.
    • Use the "Virtual Game / Keyboard / Mouse" U.I. (see below for more details on this)
  • Type - "Pulse" is the default, so use this. ("Press" and "Release" are covered in later examples)
  • Delay - no requirement to change this
  • Sequence - this is mentioned later, for a more involved button set up, but no example.
  • Comment - becomes a tool-tip if you hover over the event in section 3
  • Save Event - save changes to an existing event
  • Add Event - create (or add more) event(s) to the control action. This example only needs 1 event.
  • Your list of control actions and their associated events.
  • You can right-click and copy/paste an event to a different action.
  • The delete button allows you to remove individual events.
  • The up/down buttons are for re-ordering multiple events, for a single action.




Virtual Keyboard
  • This is a busy area, so be careful what you click and the order you click it
  • (a) - A button combination has been started, and stays lit
  • (b) - You can have multiple lit for a single combination, but always select these first if you need them.
  • (c) - Your key(s) are logged here, as you click on the interface. Typing in this box will capture your key press(es) as assignment(s).
  • (d) - Use the button, don't use delete or backspace as they are valid button assignments.
  • (e) - Closes the interface and puts your key(s) into the "Key Command" text box.
Config example: Container Magnet
For those tired of holding down a key, a rocker switch can save you.
No more elastic bands around triggers or heavy objects resting on designated keys.

  • Decide which button (up or down) of the switch you want for "on" and "off".
  • Control action = "Release"
  • Type = "Press"


  • First, you must "press" the rocker button but there is no event to trigger here.
  • When you "release" the rocker button, you trigger a keyboard "press" event.
  • And, it remains (virtually) "pressed".
  • Control action = "Press"
  • Type = "Release"


  • When you "press" the other button of the rocker switch, you trigger the keyboard "release" event.
  • This time the "release" action does not do anything.

WARNING: For every "press" action, you must have a "release" action.
Otherwise, you could have a (virtual) stuck key problem.
As demonstrated above, the pair of actions are just assigned to different buttons.
Config example: Repair Laser
  • The set up is almost identical to "Container Magnet" so I won't repeat the assignment here.
  • What's different is the key used.
  • You need the primary "fire" button, which I'm sure you have already mapped to a controller.
    • Instead, you need an alternative keyboard mapping.


This example shows the alternative mapping as: CTRL + SHIFT + R

Put your combination in to the T.A.R.G.E.T configuration event.


Now, you can activate the repair laser, and not worry about having to keep a physical button pressed.
Remember, it is still a primary fire button when piloting a ship.

Repair Laser (advanced)
In your space-suit you have multiple options, so the repair laser might not be the last option you chose. This could be embarrassing, triggering the repair only to be lobbing bombs everywhere.

  • Add a second event, and save it. No need to move it.
  • Edit the new event, so it is a standard button "press" (see above image)
  • Note the events in the tree for this button. We now have "press" and "release" actions.
  • Save Event.
  • And, if you wanted to finish off by re-entering your ship, add another event (see below image)
  • You could assign this event to the existing "press" action, but ensure "Type" is changed.

Config example: Chaining events
  • This set-up includes assigning multiple events to a single control action.
  • Firstly, what is the difference between "chaining" and "sequencing" events?
Chaining
Sequencing
  • an "action" will trigger all assigned events (in order).
  • an "action" will trigger one event from a sequence.
  • The software tags a [S] prefix to the event name.
Example (for 3 events):
  • Press
    • Event 1
    • Event 2
    • Event 3
  • Press
    • Event 1
    • Event 2
    • Event 3
Example (for 3 events):
  • Press
    • Event 1
  • Press
    • Event 2
  • Press
    • Event 3
  • Press
    • Event 1 (and round it goes)

  • It is possible to use chains and sequences together, but it's not covered in this guide.
  • Refer to the TARGET user manual for examples (PDF download from Thrustmaster support site).
  • This example uses "chaining".
  • It does involve a Steam Achievement, so have treated this as a spoiler, which meant clearing the screenshot as it can't be clicked inside a spoiler tag.
  • Use the "Add Event" to create more events, make your changes, and remember to "Save Event" !


I'm making the assumption you are using the default Egosoft key configurations, but for completeness, will duplicate here.
TARGET event
Egosoft Event
Default keyboard binding
Disco Mode - Step 1
Toggle Travel Mode
SHIFT + 1
Disco Mode - Step 2
Toggle Scan Mode
SHIFT + 2
Disco Mode - Step 3
Toggle Long-range Scan Mode
SHIFT + 3
Disco Mode - Step 4
Toggle SETA
SHIFT + 4
(optional step - see notes)
Stop Engines
Backspace

NOTES: Triggering travel drive, as part of this chain, did increase throttle. If it affects you as well, you might want to kill your speed again.
Config example: NULL events
This guide previously mentioned the potential issue of one MFD having a controller button set but no keyboard mapping for the same button on the other MFD.

In this scenario, both buttons would be bound to the same controller action.

To prevent this, you must still assign a keyboard mapping to the twinned button.
Once set, the button is nullified, and essentially does nothing.
  • You must use the "Virtual Keyboad" to set this value.
  • Clicking "Add Null Event" auto-closes this interface and sets the "Key Command"
Epilogue
I hope this was informative and helps you make the most of your MFDs.
And, the configuration examples inspire you to create your own event sequences.

Have fun!