Keybindings Configuration and Workarounds

#1

Currently Infinity:Battlescape is in Early Access and does have an ingame keyboard/input configuration option.

Open the main settings and select “Keybindings”


At the top you can select a predefined profiles. Select the one that most closely resembles what you are looking for.


The game can support up to four input devices simultaneously, on top of keyboard and mouse.
You can select which device connected to your computer corresponds to which device configured in the keybindings.


Additionally you can set per axis settings for each device to your liking. If the settings in here do not suffice, see the “Special Workarounds” section.


Down here are the actual events. You can set two inputs for each event by left clicking on a field and pressing/using the desired movement. For instance one keyboard and one controller input. Some events have an invert button. Press the “X” to clear the bindings or right click.

Important

The game has different flight modes.
Virtual Navigation Coursor also called “Target” is the default one.
If you want to use your joystick in all modes you have to set the corresponding events.

Use “F4” ingame to switch control modes or whatever you have set the switch control mode keybind to.

Must know game mechanics!

In order to be able to create a good keybindings profile and also use it effectively and not misunderstand what is going on you need to know at least following things!

Control Schemes

Infinity: Batlescape has three control schemes, meaning three different ways to steer your ship.

  • Virtual Navigation (Also called Target)
    Pretty much a virtual Joystick. The farther away from the center the circle gets, the faster the ship is commanded to turn in that direction. Has a fixed maximum rotational speed.
    "ShipX" and “ShipY” only apply to this control mode.

  • Direct
    Directly Control the thrusters of the ship. Joysticks controll the rotational thrusters maximum output. Mouse also does that, but based on how much distance it covers in a specific timeframe. If distance covered in timeframe is larger then what the thruster can output the remainder is added to the next timeframe. This may lead to ships turning farther then intende, especially with ships that have a low thurst to mass ratio. Also has a fixed maximum rotational speed, that one is due to artificial gameplay related limitations.
    "ShipPitch" and “ShipYaw” only apply to this control mode.

  • Capital Control
    Has a orbiting 3rd Person camera (Switch to it with F2, For first person F1 (defaults)) which keeps the ship in the bottom of yours screen and allows you to aim your weapons in most directions.
    Translation controls are transformed into rotational controls. (Hardcoded)
    "CapshipAutoTurn" and “CapshipTurn” only apply to this control mode.
    “CapshipTurn” will make your ship turn towards your crosshair (middle of screen) as long as you hold it down. If you turn on “CapshipAutoTurn”, pressing and releasing “CapshipTurn” will continue turning the ship towards the position you looked at when you released the button unless it gets interrupted by manual rotational controll.

  • Automatic
    Chooses what the game thinks is the best control scheme for the current ship.

Flight Assists

I:B has flight assists that can be toggled on and off. They are on by default.

  • AutoAssist
    Is the flight assist that allows you to set a speed and will automatically fire the required thrusters in order to make you fly in the forward direction of your ship.
    If you turn your ship it will cancel out your slide.
    If you use change your target speed it will speed you up.
    If you set your target speed to zero it will stop you.
    If you switch it off you are free to do all that yourself.
    Target speed only has an effect if AutoAssist is on and formation is set to free! As well as in warp.
    Target Speed has an artificial maximum speed it can be set for gameplay reasons. Manual control (lateral controls, up down, left right, forward backward (ShipXYZ) can be used even when AutoAssist is on. The ship will return to its set speed though. Manual control can not be used to override the artificial maximum speed by default. There is a settings under “gameplay” to disable this behaviour.

  • RotationAssist
    Rotational Assist is completely seperate from AutoAssist. This will try to stop your ships rotation after you have made it turn.
    If you swith it off you are free to do all that by yourself … and of course free to let it drift if you want that.

  • Behaviour in Warp
    While in warp speed is controlled by the target speed setting. It is possible to strafe in warp. There is a kind of “assist” on … it can’t be switched off though.

Weapons

Use the corresponding fire key to fire each weapon. Some weapons have conditions to fire which may have to be met before.

  • Gimballed weapons (Kinetcis and Energy) / Used by the interceptor and Bomber
    These aim towards the lead indicator of your current target. To make them shoot straight: Deselect.

  • Converging weapons (Shotgun) / Used by Bomber
    These automatically converge at the distance of your currently selected target.

  • Missiles / Used by All ships
    These lock on when you aim towards the lead indicator of your target. A “locked” sound will appear on the top left where your weapon status is shown as well as coresponding “locking now” and singular “lock complete” tone. Switch off “Safety Lock” to fire them without a lock.

  • Torpedoes / Used by Bombers and Cruisers
    Act the same as Missiles. Also have proximity fuse if they miss their target.

  • Mines / Used by Destroyers
    Can be dropped and will try to fly towards and detonate near enemies. Will slow to a stop once released. Switch off “Safety Lock” to disable their targeting systems, also stops them from slowing themselves down.

  • Autoaiming Turrets / Used only by the Corvette
    These turrets automatically track a selected target. Firing the turrets is manual.

  • Automatic Turrets / Used by Capital Ships
    These turrets automatically choose and select, track and fire on targets. Usually very low range.

  • Turrets / Used by Capital Ships
    These turrets are controlled by the player looking around. Fired manually. Can have long traversal times. They will try to aim at whatever the player is looking at.

Formation modes

Formation modes can make the ship behave in very peculiar ways … make sure you are not in a formation mode if you observer weird ship behaviour!

  • Free
    Normal behaviour

  • Match Speed
    Matches speed with the current target. Flight assist needs to be on to function.
    Target speed has no effect in this mode.

  • Chase
    Will attempt to close distance to the target. Flight assist needs to be on to function.
    Target speed has no effect in this mode.

  • Orbit
    Will attempt to keep a set distance from the target. Will save current distance to the target when activated. Flight assist needs to be on to function.
    Target speed has no effect in this mode.

  • Fixed
    Will attempt to keep a set position to the target. Will save current position to the target when activated. Flight assist needs to be on to function.
    Target speed has no effect in this mode.


It is also possible to manually go in and add new profiles by creating/copying .xml files in

C:\Users\<Your User>\Documents\I-Novae Studios\Infinity Battlescape\Profiles

These profiles can then be selected ingame. This is useful if you want to have backups or want to have similar

This post serves the purpose as a repository of all working options as well as general guide how to make these configuration files work for your desired setup.


Special Workarounds

How to use vJoy, Joystick Gremlin and Universal Controller Remaper (UCR)

Manual XML Configuration, ReadMe, Info and Events


Usefull Third Party Tools

Joystick Test Application:
http://www.planetpointy.co.uk/joystick-test-application/


This post is set as a wiki post in order for anyone to be able to update the information.

20 Likes
Custom Joystick profile
Using a Space Mouse as a joystick
HOTAS Profiles Compilation
Tutorial for Beginners
Weekly Update #103
Space for Capital Ships Auto Turn bug?
Controls Wigging Out, Not Doing What I Expect
#2

First post ran out of space. Splitting it up…

Special Workarounds

Use Throttle to control main engine / Throttle to Axis / Throttle for ShipZ

Some people own Throttles that don’t have a centerpoint and go from -1 to +1 range.
This is fine if they want to control the flight assist on target speed in an absolute manner.
If you want to control the ships main engines directly though, the game will thinks that you are applying full reverse thrust.

To work around this you can use a third party tool like vJoy and Joystick Gremlin or UCR. See the section below on how to install that.

I have prepared workaround plugin and settings:

Joystick Gremlin Plugin
  1. Make sure you Have vJoy installed and a Joystick configured.
  2. See section below on how to Install Joystick Gremlin
  3. Download my Plugin here: Right Click and Save As
  4. Open Joystick Gremlin
  5. Go to “Plugins”
  6. Add Plugin with the “Add Plugin” button at the bottom.
  7. Make sure an instance of the plugin is created. There should be a pen. If not, click the plus button.
  8. Click on the Gear icon.
  9. Configure the Plugin to your device and buttons. (ALL BUTTONS MUST BE CONFIGURED OR IT WON’T WORK)
  10. Press the “Gamepad” icon at the top to activate Joystick Gremlin (Make sure to deactivate and activate if you changed settings like the invert or toggle settings!)
  11. Should work now. Use the “input viewer” under “Tools” to check.
  12. Activate the vjoy device ingame and bind the axis to the functions (e.g ShipZ) (I suggest adding the vJoy device, then momentarily removing your throttle, bind your axis, and add your throttle at the top again. This has to be done that way as otherwise you might bind both, your original throttle and the now modified to the event. Disabling the hardware throttle while binding will stop that from happening.)
Video Tutorial

https://youtu.be/lSj5KjRLoyw

UCR (AHK Version) Workaround

I have prepared a settings file for UCR (AHK Version)
You can get it here. It uses intermediate axis to achieve the desired behavior. You need to set the input axis under “I:B Throttle Split” and the output virtual Axis under “Non Inverted” and “Inverted”.
You also need to provide intermediate virtual joystick device, unless you want to set the axis in the .xml manually. (Without an intermediate device multiple axis will get trigger in the keymapper)

If additionally a hold to reverse button is wanted it also is included in the UCR configuration.

Place the UCR configuration in you UCR folder. Start UCR (AHK Version). Select “I:B Throttle Transform”. Edit the axis to your setup. Ingame, select the “Game” vJoy device and bind the “ShipZ” axis to it. It should work now.

Special Curves

Some players had special cases where they desired to have special curves on their device.

For that purpose I suggest installing: Joystick Curves
Follow the instructions on the site. You will need to download and install vjoy as described.
After that download and install “DOWNLOAD APPLICATION”! The actual Joystick curve application.

Open the application. Select as the source your device. As the destination a vjoy device.
Tweak the curve as desired.

In-game, instead of selecting your hardware controller, now select the vjoy device. All the axis should have your desired curve now.

Multi Device and Remapping

You can see in the UI as well as “readme.txt” that one can configure four different Input devices beside Keyboard and Mousse. The game lets you select them under Keybindings.

If you want to use more then Four devices there is a workaround. Using third party software like Universal Control Remapper. You can have multiple devices feed into one “Master Device” and use that device as your Pirmary “Joystick0” device.

Your “Master Device” needs to be a virtual one, so sadly you can’t just map all your devices to one of your hardware devices. With vJoy you can create virtual devices.


How to use vJoy, Joystick Gremlin, FreePIE and Universal Controller Remaper (UCR)

Install and configure vJoy
  1. Download and install vJoy (It’s the big green Download Image)
    Direct Download Link
  2. Start “Configure vJoy” from the Start menu or open “vJoyConf.exe” in the installation directory.
  3. Make sure “Enable vJoy” is checked in the lower left corner.
  4. Configure your vJoy device with the ammount of features you need. If you are not sure select tab 1, add device if it’s not added yet, select all axis, enter 15 into “Number of Buttons” and leave everything as is.
  5. Add Device or Apply after you are done.
Install Joystick Gremlin
  1. Donwload and install or extract Joystick Gremlin
  2. Start Joystick Gremlin
  3. See the manual for Instructions how to use it
Install FreePie
  1. Donwload and install FreePie
  2. Start FreePie
  3. Start Scripting or open a provided “.py” File or paste its contents.
  4. Run the script with “F5” or under “Script>Run Script”
Install and configure UCR (C Version)
  1. Download and extract UCR
    Direct Download Link
  2. Start UCR.exe
  3. Use create a new profile with the “Add” button.
  4. Select the desired input and output device. Output should be a vjoy device.
  5. Start remapping your Devices by Selecting the desired plugins.
  6. Add the plugin.
  7. Configure the plugin. Give it a clear name to differentiate it
  8. Do this for every axis and every button.
  9. Press play to run the remapper.
Install and configure UCR (AHK Version)
  1. Download and extract UCR
    Direct Download Link
  2. Start UCR.exe
  3. Use Default Profile or create a new one with the “Add” button.
  4. Start remapping your Devices by Selecting “Plugin Selection” > “Remapper (Axis To Axis)” / "Remapper (Button To Button) etc.
  5. Add the plugin.
  6. Configure the plugin. Give it a clear name to differentiate it.
    image
  7. Do this for every axis and every button.

Use the "Master Device

With UCR running you can now configure the keys the usual way ingame. Make sure to select the “DirectInput vJoy” device as your desired device.

General Tips

If usiing and of these tools while also using the device that you use to create new buttons and functionality, it is advisable to temporarily disable the hardware device in the ingame Keybindings menu under “Devices” while binding the Third Party tool / vJoy device to the controls you like. This way you stop potential double bindings from happening

1 Like
#3

Manual XML Configuration, ReadMe, Info and Events

General

The location of the “Keyboard profile:” .xml files is:

C:\Users\<YourUser>\Documents\I-Novae Studios\Infinity Battlescape\Profiles

.xml edit or added in here will affect the game and be selectable.

There’s another folder that serves as a “original”. It can be found here:

C:\Program Files\I-Novae Studios\Battlescape\Dev\Profiles

(Replace C:\Program Files\ with your custom instalation directory)
.xml edit or added in here will not affect the game!

In this folder there’s a Readme.txt file that serves as a guide on how to edit Profile .xml and also includes a table that shows the complete list of keys supported by the input mapper:

Here’s a paste of said Readme.txt: (from I:B Version 0.6.1.1)

...\I-Novae Studios\Battlescape\Dev\Profiles\Readme.exe
=======================================
Key binding & Mapping in I-Novae Engine
=======================================

Each profile xml file can be edited to customise the key/events bindings.

A single line is under the form:

<Input Event = "<EventName>" Keys = "<string list>" SecKeys = "<string list>" Reverse="<boolean:true|false>" Type = "<string>" Data = "<string>" />

- <EventName> is the name of the event for which the keys are bound to
Ex: Event = "Power"
- Keys and SecKeys are respectively the primary and secondary (alternate) keys which are bound to the event.
It can be a single key, or a list of key combination separated by "+"
Ex.: Keys = "LeftCtrl + X"
- Reverse is a boolean that indicates whether the key values must be inverted (it can be used to invert a specific axis)
Ex: Reverse = "true"
- Type specifies the kind of values and range the input event is expecting. You can specify one of the followings: ToggleButton, AnalogButton, Arrow, Axis or Throttle
It is also used to check for conflicts, or that the mapped keys correspond to the type of intput (ex.: if you specify an "axis" type but provide a binary key instead).
Ranges are as follows:
	ToggleButton: 0.0 or 1.0
	AnalogButton: 0.0 to 1.0 (Ex.: 0.3751)
	Arrow: idle returns a value of -1.0. Otherwise the value represents the normalized angle between 0.0 and 1.0 (Ex:0=up 0.25=right 0.5=down 0.75=left)
	Axis: -1.0 to 1.0 with idle at 0.0
	Throttle: can be assigned an axis, but the range gets remapped to 0.0 to 1.0 instead. This allows the throttle in bottom-most position to return 0.0 instead of -1.0
- Data is an event-specific data.
Ex.: the "SwitchOvercharge" event by default cycles through overcharge modes. But if you specify Data="Weapons", it will switch to weapons overcharge no matter what the previous mode was.


LIST OF ISSUES:
- when pressing an arrow, some devices also report the "arrow angle" as a button, or a bitfield for the arrow angle ID (ex.: on an 8-hat arrow, the device can report 4 buttons which correspond each to a bit in a 4-bitsfield, which encode a total of 8 values)
	-> in detection utility, should arrows ignore buttons?
- the default value when alt-tabbed is zero. This can get remapped to 0.5 for the SetTargetSpeed throttle for example, therefore when alt-tabbing your ship accelerates to 50% !


===============
Valid key names
===============

This table shows the complete list of keys supported by the input mapper:

Origin      Key name            Type            Description
-----------------------------------------------------------------------------------
Mouse       MouseAxisX          Axis            Horizontal mouse axis
Mouse       MouseAxisY          Axis            Vertical mouse axis
Mouse       MouseWheel          Axis            Mouse wheel (also fires wheel up/down keys)
Mouse       MouseWheelUp        ToggleButton    Mouse wheel is going up
Mouse       MouseWheelDown      ToggleButton    Mouse wheel is going down
Mouse       MouseButtonLeft     ToggleButton    Left mouse button click
Mouse       MouseButtonRight    ToggleButton    Right mouse button click
Mouse       MouseButtonMiddle   ToggleButton    Middle mouse button click
Mouse       MouseButtonX1       ToggleButton    Extended mouse button 1 click
Mouse       MouseButtonX2       ToggleButton    Extended mouse button 2 click

-----------------------------------------------------------------------------------
Joystick0   Joystick0Axis0      Axis            Axis 0 on joystick 0
Joystick0   Joystick0Axis1      Axis            Axis 1 on joystick 0
Joystick0   Joystick0Axis2      Axis            Axis 2 on joystick 0
Joystick0   Joystick0Axis3      Axis            Axis 3 on joystick 0
Joystick0   Joystick0Axis4      Axis            Axis 4 on joystick 0
Joystick0   Joystick0Axis5      Axis            Axis 5 on joystick 0
Joystick0   Joystick0Axis6      Axis            Axis 6 on joystick 0 (sometimes mapped to sliders/throttles)
Joystick0   Joystick0Axis7      Axis            Axis 7 on joystick 0 (sometimes mapped to sliders/throttles)

Joystick0   Joystick0Arrow0     Arrow           Arrow 0 on joystick 0
Joystick0   Joystick0Arrow1     Arrow           Arrow 1 on joystick 0
Joystick0   Joystick0Arrow2     Arrow           Arrow 2 on joystick 0
Joystick0   Joystick0Arrow3     Arrow           Arrow 3 on joystick 0

Joystick0   Joystick0Button<N>  ToggleButton    Button #N on joystick 0 (ex.: Joystick0Button7 for button #7); N = 0 to 31

-----------------------------------------------------------------------------------
Joystick1   Joystick1Axis0      Axis            Axis 0 on joystick 1
Joystick1   Joystick1Axis1      Axis            Axis 1 on joystick 1
Joystick1   Joystick1Axis2      Axis            Axis 2 on joystick 1
Joystick1   Joystick1Axis3      Axis            Axis 3 on joystick 1
Joystick1   Joystick1Axis4      Axis            Axis 4 on joystick 1
Joystick1   Joystick1Axis5      Axis            Axis 5 on joystick 1
Joystick1   Joystick1Axis6      Axis            Axis 6 on joystick 1 (sometimes mapped to sliders/throttles)
Joystick1   Joystick1Axis7      Axis            Axis 7 on joystick 1 (sometimes mapped to sliders/throttles)

Joystick1   Joystick1Arrow0     Arrow           Arrow 0 on joystick 1
Joystick1   Joystick1Arrow1     Arrow           Arrow 1 on joystick 1
Joystick1   Joystick1Arrow2     Arrow           Arrow 2 on joystick 1
Joystick1   Joystick1Arrow3     Arrow           Arrow 3 on joystick 1

Joystick0   Joystick1Button<N>  ToggleButton    Button #N on joystick 1 (ex.: Joystick1Button7 for button #7); N = 0 to 31

-----------------------------------------------------------------------------------
Keyboard    A                   ToggleButton
<REDACTED - POST TOO LONG>
Keyboard    F12                 ToggleButton

Keyboard    KeyPad0             ToggleButton    0 on keypad
Keyboard    KeyPad1             ToggleButton    1 on keypad
Keyboard    KeyPad2             ToggleButton    2 on keypad
Keyboard    KeyPad3             ToggleButton    3 on keypad
Keyboard    KeyPad4             ToggleButton    4 on keypad
Keyboard    KeyPad5             ToggleButton    5 on keypad
Keyboard    KeyPad6             ToggleButton    6 on keypad
Keyboard    KeyPad7             ToggleButton    7 on keypad
Keyboard    KeyPad8             ToggleButton    8 on keypad
Keyboard    KeyPad9             ToggleButton    9 on keypad
Keyboard    KeyPadMultiply      ToggleButton    * on keypad
Keyboard    KeyPadDecimal       ToggleButton    . on keypad
Keyboard    KeyPadPlus          ToggleButton    + on keypad
Keyboard    KeyPadClear         ToggleButton    5 on keypad
Keyboard    KeyPadDivide        ToggleButton    / on keypad
Keyboard    KeyPadMinus         ToggleButton    - on keypad
Keyboard    KeyPadEnter         ToggleButton    Enter on keypad

Keyboard    Up                  ToggleButton    Arrow up
Keyboard    Down                ToggleButton    Arrow down
Keyboard    Left                ToggleButton    Arrow left
Keyboard    Right               ToggleButton    Arrow right

Keyboard    Equal               ToggleButton    =
Keyboard    Separator           ToggleButton    |
Keyboard    Subtract            ToggleButton    -
Keyboard    Decimal             ToggleButton    .
Keyboard    Divide              ToggleButton    /
Keyboard    Space               ToggleButton    Space bar
Keyboard    Return              ToggleButton    Return/Enter
Keyboard    LeftCtrl            ToggleButton    Left control
Keyboard    RightCtrl           ToggleButton    Right control
Keyboard    LeftShift           ToggleButton    Left shift
Keyboard    RightShift          ToggleButton    Right shift
Keyboard    LeftAlt             ToggleButton    Left alt
Keyboard    RightAlt            ToggleButton    Right alt
Keyboard    Numlock             ToggleButton
Keyboard    Capslock            ToggleButton
Keyboard    Escape              ToggleButton
Keyboard    PageUp              ToggleButton
Keyboard    PageDown            ToggleButton
Keyboard    End                 ToggleButton
Keyboard    Home                ToggleButton
Keyboard    Insert              ToggleButton
Keyboard    Delete              ToggleButton
Keyboard    Help                ToggleButton
Keyboard    Tab                 ToggleButton
Keyboard    Backspace           ToggleButton
Keyboard    Print               ToggleButton
Keyboard    Scroll              ToggleButton
Keyboard    Pause               ToggleButton
Keyboard    LeftBracket         ToggleButton
Keyboard    RightBracket        ToggleButton
Keyboard    Quote               ToggleButton
Keyboard    SemiColon           ToggleButton
Keyboard    Comma               ToggleButton
Keyboard    Tilde               ToggleButton
Keyboard    Command             ToggleButton    Left System key


==========================================
Mapping of controls on various controllers
==========================================

The following were found experimentally and are only of indicative value.
Other controllers might have different axes/buttons assignment.

Values range from -1 to +1 for axes (left to right, top to bottom).
Note that vertical axes are using DirectInput/Windows standard, which means up is going negative
(like in screen coordinates, top-left of the screen is 0,0).

So you might have to reverse some vertical axes in the input mapper.

Note that triggers are technically axes, but they give values in the 0 to 1 range, so they can be used as buttons in the input mapper too.

                            XBox 360                            XBox 360                            Playstation 4
                            DirectInput                         XInput                              DirectInput

Left stick X                Joystick0Axis0                      Joystick0Axis0                      Joystick0Axis0
Left stick Y                Joystick0Axis1                      Joystick0Axis1                      Joystick0Axis1
Right stick X               Joystick0Axis2                      Joystick0Axis2                      Joystick0Axis4
Right stick Y               Joystick0Axis3                      Joystick0Axis3                      Joystick0Axis5
Left trigger                Joystick0Axis4                      Joystick0Axis4                      Joystick0Axis2 (or Joystick0Button6)
Right trigger               Joystick0Axis5                      Joystick0Axis5                      Joystick0Axis3 (or Joystick0Button7)
Crosspad                    Joystick0Arrow0                     Joystick0Arrow0                     Joystick0Arrow0
    Up                      Joystick0Button11                   Joystick0Button11                   Joystick0Button14
    Right                   Joystick0Button12                   Joystick0Button12                   Joystick0Button15
    Down                    Joystick0Button13                   Joystick0Button13                   Joystick0Button16
    Left                    Joystick0Button14                   Joystick0Button14                   Joystick0Button17
Button down                 Joystick0Button0 (A)                Joystick0Button0 (A)                Joystick0Button1 (X)
Button left                 Joystick0Button2 (X)                Joystick0Button2 (X)                Joystick0Button0 (square)
Button right                Joystick0Button1 (B)                Joystick0Button1 (B)                Joystick0Button2 (circle)
Button up                   Joystick0Button3 (Y)                Joystick0Button3 (Y)                Joystick0Button3 (triangle)
Left option                 Joystick0Button6                    Joystick0Button6                    Joystick0Button8
Right option                Joystick0Button7                    Joystick0Button7                    Joystick0Button9
Shoulder left               Joystick0Button4                    Joystick0Button4                    Joystick0Button4
Shoulder right              Joystick0Button5                    Joystick0Button5                    Joystick0Button5
Left stick press            Joystick0Button8                    Joystick0Button8                    Joystick0Button10
Right stick press           Joystick0Button9                    Joystick0Button9                    Joystick0Button11
System button               Joystick0Button10                                                       Joystick0Button12
Playstation touchpad                                                                                Joystick0Button13

There also is a tool Flavien created in order to help identify what key/axis/button is what, it’s especially helpfull when trying to configure joysticks. The input configuration made it obsolete, so it is recommended you rather use the ingame keybindgins menu under options. The old tool can be found here, it may become incompatible at a certain point:

C:\Program Files\I-Novae Studios\Battlescape\Dev\Profiles\Detect Input Tool\DetectInput.exe

(Replace C:\Program Files\ with your custom installation directory), or (Windows 10)

%USERNAME%\AppData\Local\I-Novae Studios\Battlescape\Dev\Profiles\Detect Input Tool\DetectInput.exe

Events

There is a number of events that can be configured in the .xml files. The ingame Keymapping under options lists most relevant events. There might be some that may be not listed.

The majority of available events are already used/defined in the default profiles.

Still, here’s an attempt to list all known events:

Events used in default mapping profiles of I:B v0.2.7.0 (Input Mapper Version 0.0.0.5) (To be updated)

Default Events
<!-- Ship translation -->
ShipZ Type = "Axis"
ShipForward
ShipBackward
ShipX Type = "Axis"
ShipLeft
ShipRight
ShipY Type = "Axis"
ShipUp
ShipDown

<!-- Ship orientation -->
ShipYaw Type = "Axis"
ShipYawLeft
ShipYawRight
ShipPitch Type = "Axis"
ShipPitchUp
ShipPitchDown
ShipRoll Type = "Axis"
ShipRollLeft
ShipRollRight

<!-- Head orientation in cockpit mode -->
HeadPitch
HeadYaw
Head
HeadReset

<!-- Ship controls -->
MainFire
PrimaryFire
SecondaryFire
Turbo
ToggleReverseFlight
ToggleAutoAssist
Warp
MissileFire
ChaffFire

<!-- Ship systems -->
SystemsMenu
WeaponsMenu
CommsMenu
SwitchFormation
Power
ToggleFrontLights

<!-- Target speed in flight auto assist mode -->
TargetSpeed0
TargetSpeed1
TargetSpeed2
TargetSpeed3
TargetSpeed4
TargetSpeed5
TargetSpeed6
TargetSpeed7
TargetSpeed8
TargetSpeed9
DeltaTargetSpeed Type = "Axis"
IncrTargetSpeed
DecrTargetSpeed

<!-- Targets selection -->
TargetCenter
TargetPrev
TargetNext
TargetClosest
TargetNone

<!-- View controls -->
Zoom
ToggleZoom
CameraCockpitMode
CameraExternalMode
ControlScheme
NextCameraMode

<!-- Other game systems -->
Leaderboard
MainMenu
KeyboardMap
Screenshot
Debug
Debug_RenderHUD

Non Default events confirmed working in I:B v0.3.3.0


Events unknown if still working in I:B v0.3.3.0

SwitchOvercharge
Suicide

MainFire
HeadPitch
HeadYaw
ChangeRedirectMode
ChangeFormationMode
CycleLocations (Probably debug)
Timelapse (Probably debug)
Debug2
SwitchFormation
NextCameraMode

Events confirmed not working in I:B v0.3.3.0


Please feel free to add any from previous versions.

1 Like