Difference between revisions of "Controlconfigdefaults.tbl"

From FreeSpace Wiki
Jump to: navigation, search
(Innitial Version)
 
m ($Key Default:: get fancy template action and dating)
(34 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{TableVersion|5641}}
+
{{TableVersionGit| 2021-02-13 UTC | db2bd97669c949e7d68baa9560192b7d3ad96563}}
  
The controlconfigdefaults.tbl can be used to modify the default key bindings in FSO.
+
{{Tables}}
 +
The '''controlconfigdefaults.tbl''' can be used to modify the default key bindings in FSO.
  
==General Format==
+
==#ControlConfigOverride==
*Begins with '''#ControlConfigOverride''' and ends with '''#End'''.
+
* Starts an Override section
*Only entries that you want to change are required.
+
* Begins with '''#ControlConfigOverride''' and ends with '''#End'''.
*Entries not listed will be assigned to their default/hardcoded values.
+
* Only entries that you want to change are required, the rest will use the default binding
 +
* Entries not listed will be assigned to their default/hardcoded values.
 +
{{Table371|
 +
* Multiple #ControlConfigOverride...#End blocks can be provided.
 +
** Each block defines a separate control config preset
 +
** The "Defaults" button in the control config screen may be used to reset to the selected preset, then cycle through to the next preset.
 +
** The first given block is used as the "global" defaults, and is used when working with the key-pressed SEXP and LUA scripts.
 +
** Note: It's a good idea to also use [[Strings.tbl]] to change the "Defaults" text on the button to for example "Cycle\nPresets".
 +
}}
  
==$Bind Name:==
+
==#ControlConfigPreset==
 +
{{Table212|
 +
* Starts a Preset section
 +
* Begins with '''#ControlConfigPreset''' and ends with '''#End'''.
 +
* All keybinds you wish to have bound must be specified, any unspecified keys will be unbound.
 +
}}
 +
 
 +
===$Name:===
 +
{{Table373|
 +
* The name of this control config preset, displayed at the top left corner of the control config screen when selected through the "Defaults" button.
 +
* If not provided, the first [[#ControlConfigOverride]] block will override the hardcoded defaults, all subsequent blocks will be '''<unnamed preset>.'''
 +
{{Table212|
 +
* If not provided, the [[#ControlConfigPreset]] block will be '''<unnamed preset>'''
 +
}}
 +
**Syntax: '''''String'''''
 +
}}
 +
 
 +
===$Bind Name:===
 
*Name of the bind or action to modify the default key of.
 
*Name of the bind or action to modify the default key of.
*Valid entries: [[controlconfigdefaults.tbl#List of Bindings|List of Bindings]]
+
*Valid entries: [[Controlconfigdefaults.tbl#List of Bindings|List of Bindings]]
 
*Required
 
*Required
 
*Syntax: '''String'''
 
*Syntax: '''String'''
===$Key Default:===
+
 
 +
====$Key Default:====
 
*Key to set as default
 
*Key to set as default
*Valid entries: [[controlconfigdefaults.tbl#Allowed Keys|Allowed Keys]]
+
*Valid entries: [[Controlconfigdefaults.tbl#Allowed Keys|Allowed Keys]]
 +
{{Table372|
 +
*May be unbound by specifying '''NONE''' instead of a key}}
 
*Optional
 
*Optional
 
*Syntax: '''String'''
 
*Syntax: '''String'''
===$Joy Default:===
+
 
*joystick button to set as default
+
====$Joy Default:====
 +
*Joystick button to set as default
 
*Optional
 
*Optional
 
*Syntax: '''Integer'''
 
*Syntax: '''Integer'''
===$Key Mod Shift:===
+
 
 +
====$Key Mod Shift:====
 
*Sets the key to require the Shift key
 
*Sets the key to require the Shift key
 
*'''1''' for yes, '''0''' for no
 
*'''1''' for yes, '''0''' for no
 
*Optional
 
*Optional
 
*Syntax: '''Integer'''
 
*Syntax: '''Integer'''
===$Key Mod Alt:===
+
 
 +
====$Key Mod Alt:====
 +
 
 
*Sets the key to require the Alt key
 
*Sets the key to require the Alt key
 
*'''1''' for yes, '''0''' for no
 
*'''1''' for yes, '''0''' for no
 
*Optional
 
*Optional
 
*Syntax: '''Integer'''
 
*Syntax: '''Integer'''
===$Key Mod Ctrl:===
+
 
*Sets the key to require the Ctrl key
+
====$Key Mod Ctrl:====
*'''1''' for yes, '''0''' for no
+
* Sets the key to require the Ctrl key
*Optional
+
* '''1''' for yes, '''0''' for no
*Syntax: '''Integer'''
+
* Optional
===$Category:===
+
* Syntax: '''Integer'''
*Tab where the binding appears in the options menu.
+
 
*Valid entries: TARGET_TAB, SHIP_TAB, WEAPON_TAB, COMPUTER_TAB
+
====$Category:====
*Optional
+
* Tab where the binding appears in the options menu.
*Syntax: '''String'''
+
* Valid entries: TARGET_TAB, SHIP_TAB, WEAPON_TAB, COMPUTER_TAB
===$Has XStr:===
+
* Optional
*Whether or not the binding has an entry in [[tstrings.tbl]]
+
* Only valid in [[#ControlConfigOverride]] blocks
*'''1''' for yes, '''0''' for no
+
* Syntax: '''String'''
*Optional
+
 
*Syntax: '''Integer'''
+
====$Text:====
===$Type:===
+
{{Table212|
*Whether or not the binding needs a continuous press of the key?
+
* The label of the control to use in the controls config menu.
*Valid entries: CC_TYPE_TRIGGER, CC_TYPE_CONTINUOUS
+
* Is overridden by XSTR, if provided
 +
** '''Note:''' This is meant to be a lazy temporary substitution to modifying [[strings.tbl]].  Your released mod should nstill provide its own strings.tbl.
 +
* Optional
 +
* Syntax: '''String'''
 +
}}
 +
 
 +
====$Has XStr:====
 +
* Whether or not the binding has an entry in [[strings.tbl]]
 +
** If '''0''', assumes no XSTR is provided
 +
** If '''1''', assumes an XSTR is provided alongside the other ControlConfig strings according to its internal, hardcoded index
 +
{{Table382|
 +
** If any nonzero integer >1, is the exact XSTR index within [[strings.tbl]]
 +
}}
 +
* Optional
 +
* Only valid in [[#ControlConfigOverride]] blocks
 +
* Syntax: '''Integer'''
 +
 
 +
====$Type:====
 +
*Determines the type of control this is.
 +
 
 +
*Valid entries:
 +
**CC_TYPE_TRIGGER
 +
***Normal control that activates upon the first press. Resetting devices (such as weapons) will keep firing as long as the key/button is held down.
 +
**CC_TYPE_CONTINUOUS
 +
***Control that activates when the key/button is held down, and stays activated until the key/button is released. Ex: Afterburner key.
 
*Optional
 
*Optional
 +
*Only valid in [[#ControlConfigOverride]] blocks
 
*Syntax '''String'''
 
*Syntax '''String'''
  
===Sample===
+
====$Disable:====
 +
{{Table373|
 +
*Determines whether the binding can be used and appears in the options menu. Can be used to hide bindings which are not needed, or to enable bindings which are hidden by default.
 +
*Syntax: '''''Boolean'''''
 +
}}
 +
 
 +
====+Disable====
 +
{{Table212|
 +
* Disables the control
 +
* Optional
 +
* Only valid in [[#ControlConfigOverride]] blocks
 +
* Syntax: (No arguments)
 +
}}
 +
 
 +
==#End==
 +
* All [[#ControlConfigOverride]] and [[#ControlConfigPreset]] sections must be terminated by #End
 +
 
 +
==Sample==
 +
This example does the following...
 +
*Sets Clear Escort List to Alt-Shift-Q
 +
*Sets Target Target's Attacker to Ctrl-Alt-Shift-J, moves it to the Ship Tab, denotes it's type as a trigger and sets it to not have a XString
 +
*Sets Transfer Energy from Shield to Laser to R
 +
 
 
<pre>
 
<pre>
 
#ControlConfigOverride
 
#ControlConfigOverride
Line 80: Line 160:
 
*This is a list of all possible bindings that can be modified.
 
*This is a list of all possible bindings that can be modified.
 
*Must use the string below (without quotes).
 
*Must use the string below (without quotes).
 +
*These bindings are case-sensitive
  
 
===Targeting Ships and Objects===
 
===Targeting Ships and Objects===
Line 88: Line 169:
 
*'Target Next Closest Friendly Ship'
 
*'Target Next Closest Friendly Ship'
 
*'Target Previous Closest Friendly Ship'
 
*'Target Previous Closest Friendly Ship'
*'Target Ship In Reticle'
+
*'Target Ship in Reticle'
 
*'Target Target's Nearest Attacker'
 
*'Target Target's Nearest Attacker'
*'Target Last Ship To Send Transmission'
+
*'Target Last Ship to Send Transmission'
 
*'Turn Off Targeting'
 
*'Turn Off Targeting'
 
*'Target Closest Attacking Ship'
 
*'Target Closest Attacking Ship'
Line 97: Line 178:
 
*'Target Next Uninspected Cargo'
 
*'Target Next Uninspected Cargo'
 
*'Target Previous Uninspected Cargo'
 
*'Target Previous Uninspected Cargo'
*'Target Newest Ship In Area'
+
*'Target Newest Ship in Area'
 
*'Target Target's Target'
 
*'Target Target's Target'
*'Target Next Hostile Bomb Or Bomber'
+
*'Target Next Hostile Bomb or Bomber'
*'Target Previous Hostile Bomb Or Bomber'
+
*'Target Previous Hostile Bomb or Bomber'
  
 
===Targeting Subsystems and Turrets===
 
===Targeting Subsystems and Turrets===
*'Target Subsystem In Reticle'
+
*'Target Subsystem in Reticle'
 
*'Target Next Subsystem'
 
*'Target Next Subsystem'
 
*'Target Previous Subsystem'
 
*'Target Previous Subsystem'
*'Turn Off Targeting Of Subsystems'
+
*'Turn Off Targeting of Subsystems'
 
*'Target Next Live Turret'
 
*'Target Next Live Turret'
 
*'Target Previous Live Turret'
 
*'Target Previous Live Turret'
Line 138: Line 219:
  
 
===Throttle Control===
 
===Throttle Control===
*'Set Throttle To Zero'
+
*'Set Throttle to Zero'
*'Set Throttle To Max'
+
*'Set Throttle to Max'
*'Set Throttle To One-Third'
+
*'Set Throttle to One-Third'
*'Set Throttle To Two-Thirds'
+
*'Set Throttle to Two-Thirds'
 
*'Increase Throttle 5 Percent'
 
*'Increase Throttle 5 Percent'
 
*'Decrease Throttle 5 Percent'
 
*'Decrease Throttle 5 Percent'
Line 151: Line 232:
 
*'Cycle Radar Range'
 
*'Cycle Radar Range'
 
*'Communications Menu'
 
*'Communications Menu'
*'SHOW_NAVMAP - show navmap
+
*'Show Nav Map
*'Add Or Remove Escort'
+
*'Add or Remove Escort'
 
*'Clear Escort List'
 
*'Clear Escort List'
  
Line 159: Line 240:
 
*'Disarm My Target'
 
*'Disarm My Target'
 
*'Disable My Target'
 
*'Disable My Target'
*'Attack The Targeted Subsystem'
+
*'Attack My Subsystem'
 
*'Capture My Target'
 
*'Capture My Target'
 
*'Engage Enemy'
 
*'Engage Enemy'
*'Form On My Wing'
+
*'Form on My Wing'
 
*'Ignore My Target'
 
*'Ignore My Target'
 
*'Protect My Target'
 
*'Protect My Target'
 
*'Cover Me'
 
*'Cover Me'
*'Return To Base'
+
*'Return to Base'
 
*'Rearm Me'
 
*'Rearm Me'
  
Line 209: Line 290:
 
*'Toggle Gliding'
 
*'Toggle Gliding'
 
*'Toggle Auto Speed Matching'
 
*'Toggle Auto Speed Matching'
*'Toggle Auto Targetting'
+
*'Toggle Auto Targeting'
  
 
===Multiplayer Only===
 
===Multiplayer Only===
Line 219: Line 300:
 
*'(Multiplayer) Toggle Network info'
 
*'(Multiplayer) Toggle Network info'
 
*'(Multiplayer) Self Destruct'
 
*'(Multiplayer) Self Destruct'
 +
 +
===Custom Controls===
 +
{{Table382|
 +
* 'Custom Control 1'
 +
* 'Custom Control 2'
 +
* 'Custom Control 3'
 +
* 'Custom Control 4'
 +
* 'Custom Control 5'
 +
 +
These are empty controls for modders and/or scripters to use.
 +
 +
Disabled by default
 +
 +
Default XSTR index is 0 (thus, they do not have an entry in [[strings.tbl]])
 +
 +
The default key bindings are Shift-Alt (1-5) for Custom Control 1-5, respectively.
 +
 +
To use these, create a new entry in a [[#ControlConfigOverride]] block and with the respective name. You should specify a label in [[strings.tbl]], otherwise they'll show up as "Custom Control" in the control config menu.
 +
 +
Example:
 +
* $Bind Name: Custom Control 1
 +
* $Has XStr: 1570
 +
* $Disable: false
 +
}}
  
 
==Allowed Keys==
 
==Allowed Keys==

Revision as of 18:47, 21 March 2021

Revision information.....

FSO Git Commit: Date: 2021-02-13 UTC SHA: db2bd97669c949e7d68baa9560192b7d3ad96563
Note: Please update the revision information when the page is updated. If your edit had nothing to do with new code entries then please do not edit the revision information


List of Tables and related code files
* Notes Modular Tables
** Notes tables which only use modular tables
Ai.tbl* /ai/aicode.cpp
Ai_profiles.tbl* /ai/ai_profiles.cpp
Animation.tbl** /model/modelanimation.cpp
Armor.tbl* /ship/ship.cpp
Asteroid.tbl* /asteroid/asteroid.cpp
Autopilot.tbl* /autopilot/autopilot.cpp
Cheats.tbl* /cheats_table/cheats_table.cpp
Colors.tbl* /globalincs/alphacolors.cpp
Curves.tbl* /math/curves.cpp
Controlconfigdefaults.tbl /controlconfig/controlsconfigcommon.cpp
Credits.tbl* /menuui/credits.cpp
Cutscenes.tbl* /cutscene/cutscenes.cpp
Decals.tbl** /decals/decals.cpp
Fireball.tbl* /fireball/fireballs.cpp
Fonts.tbl* /graphics/font.cpp
Game_settings.tbl* /mod_table/mod_table.cpp
Glowpoints.tbl* /model/modelread.cpp
Help.tbl* /gamehelp/contexthelp.cpp
Hud_gauges.tbl* /hud/hudparse.cpp
Icons.tbl* /mission/missionbriefcommon.cpp
Iff_defs.tbl* /iff_defs/iff_defs.cpp
Lighting_Profiles.tbl* /lighting/lighting_profiles.cpp
Lightning.tbl* /nebula/neblightning.cpp
Mainhall.tbl* /menuui/mainhallmenu.cpp
Medals.tbl* /stats/medals.cpp
Messages.tbl* /mission/missionmessage.cpp
Mflash.tbl* /weapon/muzzleflash.cpp
Music.tbl* /gamesnd/eventmusic.cpp
Nebula.tbl* /nebula/neb.cpp
Objecttypes.tbl* /ship/ship.cpp
Options.tbl* Not In Codebase
Particle effects(-part.tbm)** /particle/effects...
Post_processing.tbl /graphics/gropenglpostprocessing.cpp
Rank.tbl* /stats/scoring.cpp
Scpui.tbl* Not In Codebase
Scripting.tbl* /parse/scripting.cpp
Ships.tbl* /ship/ship.cpp
Sexps.tbl** /parse/sexp/sexp_lookup.cpp
Sounds.tbl* /gamesnd/gamesnd.cpp
Species_defs.tbl* /species_defs/species_defs.cpp
Species.tbl* /menuui/techmenu.cpp
Ssm.tbl* /hud/hudartillery.cpp
Stars.tbl* /starfield/starfield.cpp
Strings.tbl* /localization/localize.cpp
Tips.tbl* /menuui/playermenu.cpp
Traitor.tbl* /stats/scoring.cpp
Tstrings.tbl* /localization/localize.cpp
Virtual_pofs.tbl* /model/modelreplace.cpp
Weapon_expl.tbl* /weapon/weapons.cpp
Weapons.tbl* /weapon/weapons.cpp

The controlconfigdefaults.tbl can be used to modify the default key bindings in FSO.

#ControlConfigOverride

  • Starts an Override section
  • Begins with #ControlConfigOverride and ends with #End.
  • Only entries that you want to change are required, the rest will use the default binding
  • Entries not listed will be assigned to their default/hardcoded values.
FS2 Open, 3.7.2:
  • Multiple #ControlConfigOverride...#End blocks can be provided.
    • Each block defines a separate control config preset
    • The "Defaults" button in the control config screen may be used to reset to the selected preset, then cycle through to the next preset.
    • The first given block is used as the "global" defaults, and is used when working with the key-pressed SEXP and LUA scripts.
    • Note: It's a good idea to also use Strings.tbl to change the "Defaults" text on the button to for example "Cycle\nPresets".

#ControlConfigPreset

FS2 Open, 21.2:
  • Starts a Preset section
  • Begins with #ControlConfigPreset and ends with #End.
  • All keybinds you wish to have bound must be specified, any unspecified keys will be unbound.

$Name:

FS2 Open, 3.7.4:
  • The name of this control config preset, displayed at the top left corner of the control config screen when selected through the "Defaults" button.
  • If not provided, the first #ControlConfigOverride block will override the hardcoded defaults, all subsequent blocks will be <unnamed preset>.
FS2 Open, 21.2:
    • Syntax: String

$Bind Name:

  • Name of the bind or action to modify the default key of.
  • Valid entries: List of Bindings
  • Required
  • Syntax: String

$Key Default:

FS2 Open, 3.7.2:
  • May be unbound by specifying NONE instead of a key
  • Optional
  • Syntax: String
  • $Joy Default:

    • Joystick button to set as default
    • Optional
    • Syntax: Integer

    $Key Mod Shift:

    • Sets the key to require the Shift key
    • 1 for yes, 0 for no
    • Optional
    • Syntax: Integer

    $Key Mod Alt:

    • Sets the key to require the Alt key
    • 1 for yes, 0 for no
    • Optional
    • Syntax: Integer

    $Key Mod Ctrl:

    • Sets the key to require the Ctrl key
    • 1 for yes, 0 for no
    • Optional
    • Syntax: Integer

    $Category:

    • Tab where the binding appears in the options menu.
    • Valid entries: TARGET_TAB, SHIP_TAB, WEAPON_TAB, COMPUTER_TAB
    • Optional
    • Only valid in #ControlConfigOverride blocks
    • Syntax: String

    $Text:

    FS2 Open, 21.2:
    • The label of the control to use in the controls config menu.
    • Is overridden by XSTR, if provided
      • Note: This is meant to be a lazy temporary substitution to modifying strings.tbl. Your released mod should nstill provide its own strings.tbl.
    • Optional
    • Syntax: String

    $Has XStr:

    • Whether or not the binding has an entry in strings.tbl
      • If 0, assumes no XSTR is provided
      • If 1, assumes an XSTR is provided alongside the other ControlConfig strings according to its internal, hardcoded index
    FS2 Open, 19.0:
      • If any nonzero integer >1, is the exact XSTR index within strings.tbl

    $Type:

    • Determines the type of control this is.
    • Valid entries:
      • CC_TYPE_TRIGGER
        • Normal control that activates upon the first press. Resetting devices (such as weapons) will keep firing as long as the key/button is held down.
      • CC_TYPE_CONTINUOUS
        • Control that activates when the key/button is held down, and stays activated until the key/button is released. Ex: Afterburner key.
    • Optional
    • Only valid in #ControlConfigOverride blocks
    • Syntax String

    $Disable:

    FS2 Open, 3.7.4:
    • Determines whether the binding can be used and appears in the options menu. Can be used to hide bindings which are not needed, or to enable bindings which are hidden by default.
    • Syntax: Boolean

    +Disable

    FS2 Open, 21.2:

    #End

    Sample

    This example does the following...

    • Sets Clear Escort List to Alt-Shift-Q
    • Sets Target Target's Attacker to Ctrl-Alt-Shift-J, moves it to the Ship Tab, denotes it's type as a trigger and sets it to not have a XString
    • Sets Transfer Energy from Shield to Laser to R
    #ControlConfigOverride
    
    $Bind Name:		Clear Escort List
    $Key Default:		KEY_Q
    $Key Mod Shift:		1
    $Key Mod Alt:		1
    
    $Bind Name:		Target Target's Nearest Attacker
    $Key Default:		KEY_J
    $Key Mod Shift:		1
    $Key Mod Alt:		1
    $Key Mod Ctrl:		1
    $Category:		SHIP_TAB
    $Has XStr:		0
    $TYPE:			CC_TYPE_TRIGGER
    
    $Bind Name:		Transfer Energy Shield->Laser
    $Key Default:		KEY_R
    
    #End
    

    List of Bindings

    • This is a list of all possible bindings that can be modified.
    • Must use the string below (without quotes).
    • These bindings are case-sensitive

    Targeting Ships and Objects

    • 'Target Next Ship'
    • 'Target Previous Ship'
    • 'Target Next Closest Hostile Ship'
    • 'Target Previous Closest Hostile Ship'
    • 'Target Next Closest Friendly Ship'
    • 'Target Previous Closest Friendly Ship'
    • 'Target Ship in Reticle'
    • 'Target Target's Nearest Attacker'
    • 'Target Last Ship to Send Transmission'
    • 'Turn Off Targeting'
    • 'Target Closest Attacking Ship'
    • 'Target Next Escort Ship'
    • 'Target Closest Repair Ship'
    • 'Target Next Uninspected Cargo'
    • 'Target Previous Uninspected Cargo'
    • 'Target Newest Ship in Area'
    • 'Target Target's Target'
    • 'Target Next Hostile Bomb or Bomber'
    • 'Target Previous Hostile Bomb or Bomber'

    Targeting Subsystems and Turrets

    • 'Target Subsystem in Reticle'
    • 'Target Next Subsystem'
    • 'Target Previous Subsystem'
    • 'Turn Off Targeting of Subsystems'
    • 'Target Next Live Turret'
    • 'Target Previous Live Turret'

    Weapons

    • 'Fire Primary Weapon'
    • 'Fire Secondary Weapon'
    • 'Cycle Forward Primary Weapon'
    • 'Cycle Backward Primary Weapon'
    • 'Cycle Secondary Weapon Bank'
    • 'Cycle Secondary Weapon Firing Rate'
    • 'Launch Countermeasure'

    Controls

    • 'Forward Thrust'
    • 'Reverse Thrust'
    • 'Bank Left'
    • 'Bank Right'
    • 'Pitch Forward'
    • 'Pitch Backward'
    • 'Turn Left'
    • 'Turn Right'
    • 'Right Thrust'
    • 'Left Thrust'
    • 'Up Thrust'
    • 'Down Thrust'
    • 'Afterburner'
    • 'Glide When Pressed'
    • 'Bank When Pressed'
    • 'Match Target Speed'

    Throttle Control

    • 'Set Throttle to Zero'
    • 'Set Throttle to Max'
    • 'Set Throttle to One-Third'
    • 'Set Throttle to Two-Thirds'
    • 'Increase Throttle 5 Percent'
    • 'Decrease Throttle 5 Percent'

    HUD Controls

    • 'Toggle High HUD Contrast'
    • 'Toggle HUD'
    • 'Toggle HUD Wireframe Target View'
    • 'Cycle Radar Range'
    • 'Communications Menu'
    • 'Show Nav Map
    • 'Add or Remove Escort'
    • 'Clear Escort List'

    Squadmate Messaging

    • 'Attack My Target'
    • 'Disarm My Target'
    • 'Disable My Target'
    • 'Attack My Subsystem'
    • 'Capture My Target'
    • 'Engage Enemy'
    • 'Form on My Wing'
    • 'Ignore My Target'
    • 'Protect My Target'
    • 'Cover Me'
    • 'Return to Base'
    • 'Rearm Me'

    Views

    • 'Chase View'
    • 'External View'
    • 'Toggle External Camera Lock'
    • 'Free Look View'
    • 'Current Target View'
    • 'Increase View Distance'
    • 'Decrease View Distance'
    • 'Center View'
    • 'View Up'
    • 'View Rear'
    • 'View Left'
    • 'View Right
    • 'Top-Down View'
    • 'Target Padlock View'

    ETS and Shields

    • 'Increase Weapon Energy'
    • 'Decrease Weapon Energy'
    • 'Increase Shield Energy'
    • 'Decrease Shield Energy'
    • 'Increase Engine Energy'
    • 'Decrease Engine Energy'
    • 'Equalize Energy Settings'
    • 'Equalize Shields'
    • 'Augment Forward Shield'
    • 'Augment Rear Shield'
    • 'Augment Left Shield'
    • 'Augment Right Shield'
    • 'Transfer Energy Laser->Shield'
    • 'Transfer Energy Shield->Laser'

    Misc

    • 'Enter Subspace (End Mission)'
    • 'Increase Time Compression'
    • 'Decrease Time Compression'
    • 'Toggle Auto Pilot'
    • 'Cycle Nav Points'
    • 'Toggle Gliding'
    • 'Toggle Auto Speed Matching'
    • 'Toggle Auto Targeting'

    Multiplayer Only

    • '(Multiplayer) Message All'
    • '(Multiplayer) Message Friendly'
    • '(Multiplayer) Message Hostile'
    • '(Multiplayer) Message Target'
    • '(Multiplayer) Observer Zoom To Target'
    • '(Multiplayer) Toggle Network info'
    • '(Multiplayer) Self Destruct'

    Custom Controls

    FS2 Open, 19.0:
    • 'Custom Control 1'
    • 'Custom Control 2'
    • 'Custom Control 3'
    • 'Custom Control 4'
    • 'Custom Control 5'

    These are empty controls for modders and/or scripters to use.

    Disabled by default

    Default XSTR index is 0 (thus, they do not have an entry in strings.tbl)

    The default key bindings are Shift-Alt (1-5) for Custom Control 1-5, respectively.

    To use these, create a new entry in a #ControlConfigOverride block and with the respective name. You should specify a label in strings.tbl, otherwise they'll show up as "Custom Control" in the control config menu.

    Example:

    • $Bind Name: Custom Control 1
    • $Has XStr: 1570
    • $Disable: false

    Allowed Keys

    • Not all keys are checked by FSO for key bindings, so some of these may not work.
    • List coppied from controlsconfigcommon.cpp and edited to make readable.
    • Must use the string below (without quotes).
    • List of keys
    'KEY_0'
    'KEY_1'
    'KEY_2'
    'KEY_3'
    'KEY_4'
    'KEY_5'
    'KEY_6'
    'KEY_7'
    'KEY_8'
    'KEY_9'
    'KEY_A'
    'KEY_B'
    'KEY_C'
    'KEY_D'
    'KEY_E'
    'KEY_F'
    'KEY_G'
    'KEY_H'
    'KEY_I'
    'KEY_J'
    'KEY_K'
    'KEY_L'
    'KEY_M'
    'KEY_N'
    'KEY_O'
    'KEY_P'
    'KEY_Q'
    'KEY_R'
    'KEY_S'
    'KEY_T'
    'KEY_U'
    'KEY_V'
    'KEY_W'
    'KEY_X'
    'KEY_Y'
    'KEY_Z'
    'KEY_MINUS'
    'KEY_EQUAL'
    'KEY_DIVIDE'
    'KEY_SLASH'
    'KEY_SLASH_UK'
    'KEY_COMMA'
    'KEY_PERIOD'
    'KEY_SEMICOL'
    'KEY_LBRACKET'
    'KEY_RBRACKET'
    'KEY_RAPOSTRO'
    'KEY_LAPOSTRO'
    'KEY_ESC'
    'KEY_ENTER'
    'KEY_BACKSP'
    'KEY_TAB'
    'KEY_SPACEBAR'
    'KEY_NUMLOCK'
    'KEY_SCROLLOCK'
    'KEY_CAPSLOCK'
    'KEY_LSHIFT'
    'KEY_RSHIFT'
    'KEY_LALT'
    'KEY_RALT'
    'KEY_LCTRL'
    'KEY_RCTRL'
    'KEY_F1'
    'KEY_F2'
    'KEY_F3'
    'KEY_F4'
    'KEY_F5'
    'KEY_F6'
    'KEY_F7'
    'KEY_F8'
    'KEY_F9'
    'KEY_F10'
    'KEY_F11'
    'KEY_F12'
    'KEY_PAD0'
    'KEY_PAD1'
    'KEY_PAD2'
    'KEY_PAD3'
    'KEY_PAD4'
    'KEY_PAD5'
    'KEY_PAD6'
    'KEY_PAD7'
    'KEY_PAD8'
    'KEY_PAD9'
    'KEY_PADMINUS'
    'KEY_PADPLUS'
    'KEY_PADPERIOD'
    'KEY_PADDIVIDE'
    'KEY_PADMULTIPLY'
    'KEY_PADENTER'
    'KEY_INSERT'
    'KEY_HOME'
    'KEY_PAGEUP'
    'KEY_DELETE'
    'KEY_END'
    'KEY_PAGEDOWN'
    'KEY_UP'
    'KEY_DOWN'
    'KEY_LEFT'
    'KEY_RIGHT'
    'KEY_PRINT_SCRN'
    'KEY_PAUSE'
    'KEY_BREAK'