Skip to content

Guide: Keybind Configuration

ShadowDoctorK edited this page Apr 21, 2019 · 13 revisions

Overview

The default key-bind system is designed to allow the most flexibility for users to customize ALICE. The purpose of this guide is to help you better understand how key-binds work in the project.

Keybinds

References

Profile Category: A.L.I.C.E: [01] Keybinds

Table of Contents:

  1. File Locations
  2. A.L.I.C.E Profile.3.0.binds
  3. Targeting Binds Files
  4. Keybind Usage & Structure
  5. Interfacing With Elite

File Locations

By Default the binds files are located at C:\Users\ YOURUSERNAME \AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings

A.L.I.C.E Profile.3.0.binds

The A.L.I.C.E Profile.3.0.binds file is provided so you have a blank template where you can enter your user commands. It is pre-populated with all the Project A.L.I.C.E key-binds already setup. It will get installed to your binds folder by default the first time you start the Project and is the default binds that will be targeted by the project. YOU ARE NOT REQUIRED TO USE THIS. You may use a different binds file to load your key-binds which will be covered later.

Targeting Binds Files

You can see which file is being targeted when you start Project A.L.I.C.E. It will populate the target binds file in the log.

(Example Log Entry) A.L.I.C.E: Targeting Key-binds File: Custom.3.0.binds

Use the Select Key-binds File button to open the file explorer window showing your binds files. Select the file you want to load controls from when you're playing the game. This only has to be done once or when you want to change your target binds file. It is important that the controls you're using in game and the file the project is loading controls from are the same or things most likely won't work correctly.

Keybind Usage & Structure

User & ALICE Controls

Key-binds have been broken down into two types. You have USER Controls and ALICE Controls. Currently, Project A.L.I.C.E will only use KEYBOARD binds only to interface with the game. We'll be using the picture above for all the examples as we go.

Project A.L.I.C.E considers User Controls all the controls in the left column and ALICE Controls all the controls in the right column. "Cycle Next Fire Group" has two controls, N and R CTRL + N, N being the User Control and R CTRL + N being the ALICE Control. In reality, the player has the ability to use either of those controls in the game. We are only defining them like this to relay the way the project views the controls for use.

Loading Key-binds

When loading the binds file Project A.L.I.C.E will try and load controls from the right column (ALICE Controls). If no binds are found or the binds aren't supported Project A.L.I.C.E will attempt to load the left column (User Controls). If the project loads User Controls because ALICE Controls were not found you will get a warning message in the log informing you know that the project is sharing your controls to maintain functionality.

(Example Log Entry) A.L.I.C.E: Voice Macro (Load Key-binds) - Night_Vision_Toggle Is Using The Primary Column's (Users) Key-bind Because No Usable Key-bind Was Set Up In The Secondary (Alice) Column

If no valid controls are found in both the ALICE Controls and the User Controls then you will get a spoken warning alerting you, and you will get an entry in the logs for each missing control.

(Example Log Entry) A.L.I.C.E: No Key-bind Detected For "Charge_ECM"

Changing or Setting Key-binds

You are free to use any keyboard combination you want for Project A.L.I.C.E. The only limitation is that you can only use a max of 4 keys in a single control. I.E. Left Shift + Left Alt + Left Control + H

You are also free to change key-binds in the middle of the game. Project A.L.I.C.E will dynamically load any changes detected and update the new controls for use on the fly. You do not need to restart the game or Project A.L.I.C.E to have these take effect.

Interfacing With Elite

As of right now, the plug-in does not send key-press information directly to the game client. When Project A.L.I.C.E is loaded it will process the key-binds as described above. When it does this it populates the virtual keys as variables in the platform that started the project, i.e. Voice Macro or Voice Attack. Both platforms have Key-bind Commands for each control that is used from your binds files. When one of the controls needs to be activated the command in the platform is activated. This serves two purposes by design. One it allows for full transparency for what is being passed to the game, and two it allows commanders the ability to build their own custom commands without the need to manage the controls from the game.