2020-11-08 12:41:36 +01:00
|
|
|
|
# bindED
|
|
|
|
|
|
|
|
|
|
This VoiceAttack plugin reads keybindings in Elite:Dangerous and stores them as
|
|
|
|
|
VoiceAttack variables. It has originally been written by Gary (the developer of
|
|
|
|
|
VoiceAttack) [and published on the VoiceAttack
|
|
|
|
|
forums](https://forum.voiceattack.com/smf/index.php?topic=564.0).
|
|
|
|
|
|
|
|
|
|
You can find the [original README here](ReadMe.txt).
|
|
|
|
|
|
|
|
|
|
I have taken the original source code and added automatic detection of the
|
2020-11-08 14:58:31 +01:00
|
|
|
|
correct bindings file and support for non-US keyboard layouts (see below for
|
|
|
|
|
details).
|
|
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
### Reading Bindings into VoiceAttack
|
|
|
|
|
|
2020-11-08 21:12:00 +01:00
|
|
|
|
You don<6F>t have to do anything! When VoiceAttack loads, bindED will automatically
|
|
|
|
|
detect your bindings. It will also keep a watchful eye on Elite<74>s bindings
|
|
|
|
|
folder and reload them when there is a change!
|
|
|
|
|
|
|
|
|
|
If something goes awry, you can still manually call the `loadbinds` plugin
|
|
|
|
|
context to force a refresh.
|
|
|
|
|
|
|
|
|
|
If you are not using a US QWERTY keyboard layout, see below.
|
2020-11-08 14:58:31 +01:00
|
|
|
|
|
|
|
|
|
### Saving the List of Variables
|
|
|
|
|
|
|
|
|
|
Invoke the `listbinds` plugin context (make sure to tick <20>Wait for the plugin
|
|
|
|
|
function to finish before continuing<6E>!). That will set a variable
|
|
|
|
|
`~bindED.bindsList` containing all the variable names that you can e.g. write to
|
|
|
|
|
a file.
|
|
|
|
|
|
|
|
|
|
By default the list is separated by `\r\n`, you can override that behaviour by
|
|
|
|
|
setting `bindED.separator` before invoking the plugin.
|
2020-11-08 12:41:36 +01:00
|
|
|
|
|
|
|
|
|
## Automatic Bindings Detection
|
|
|
|
|
|
|
|
|
|
Elite creates a file `StartPreset.start` in the Bindings directory that contains
|
|
|
|
|
the name of the currently active profile. The plugin now reads that file and
|
|
|
|
|
loads the correct profile automatically.
|
|
|
|
|
|
|
|
|
|
Should the file for some reason a) not exist, b) be empty or c) contain an
|
|
|
|
|
invalid preset name the old default is used: the most recently changed `.binds`
|
|
|
|
|
file.
|
|
|
|
|
|
|
|
|
|
You can still manually provide a bindings file to use instead by setting it as
|
|
|
|
|
the plugin context, as before.
|
|
|
|
|
|
|
|
|
|
## Support for non-US Keyboard Layouts
|
|
|
|
|
|
|
|
|
|
If you are using any non-US layout you might have noticed that some binds don<6F>t
|
|
|
|
|
work. Elite internally uses keycode values (a number assigned to each key on the
|
|
|
|
|
keyboard) for its bindings but for some reason both displays and saves them as
|
|
|
|
|
keysyms (the label on the key), according to the UK QWERTY keyboard layout. That
|
|
|
|
|
means VoiceAttack can<61>t just send the keysym it reads from a binding, it has to
|
|
|
|
|
translate it into the corresponding keycode.
|
|
|
|
|
|
|
|
|
|
The original plugin contained a `EDMap.txt` file that contains infomration on
|
|
|
|
|
that conversion _for the US keyboard layout_. If you are using any other layout
|
|
|
|
|
that information will be incorrect for any symbols that are on a different key
|
|
|
|
|
than they are on the US layout.
|
|
|
|
|
|
|
|
|
|
I have added the option to use maps for other keyboard layouts. In order to do
|
2020-11-08 21:12:00 +01:00
|
|
|
|
so you will have to set a text variable in VoiceAttack called `bindED.layout#`
|
|
|
|
|
to the layout you want to use. BindED will be notified of the variable changing
|
|
|
|
|
and reload your bindings with the appropriate key map. If the variable is not
|
2020-11-08 12:41:36 +01:00
|
|
|
|
set it will defaut to <20>en-us<75>, leaving the original behaviour intact.
|
|
|
|
|
|
|
|
|
|
I have included a map file for [Neo2](https://neo-layout.org)
|
|
|
|
|
(`EDMap-de-neo2.txt`) which is the layout that I am using personally. If you are
|
|
|
|
|
on a different layout, you will have to create a corresponding map file yourself
|
|
|
|
|
or prod me to add it. E.g. for the french AZERTY it would be `EDMap-fr-fr.text`
|
2020-11-08 21:12:00 +01:00
|
|
|
|
and set `bindED.layout#` to <20>fr-fr<66>. For US Dvorak, `EDmap-en-us-dvorak` and
|
2020-11-08 12:41:36 +01:00
|
|
|
|
<EFBFBD>en-us-dvorak<61>. You can see where this is going.
|
|
|
|
|
|
|
|
|
|
For more information on [creating new supported keyboard layouts see the
|
2020-09-23 19:37:40 +02:00
|
|
|
|
Wiki](https://github.com/alterNERDtive/bindED/wiki/Keyboard-Layouts).
|