bindED/README.md

78 lines
3.5 KiB
Markdown
Raw Normal View History

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
correct bindings file and support for non-US keyboard layouts (see below for
details).
2020-11-09 12:25:55 +01:00
## Migrating from the Old Plugin
If you use this as a drop-in replacement for the initial version all commands
invoking the plugin will throw an error message. Gary has asked me to change the
plugin<EFBFBD>s GUID, and the plugin with the old one will no longer be found.
2020-11-09 12:25:55 +01:00
_That is irrelevant in basically all cases and can safely be ignored_. Binds
will be read automatically when VoiceAttack starts, and when they change.
## Usage
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 12:41:36 +01:00
## Support for non-US Keyboard Layouts
Shipped layouts:
* en-US
* en-GB
* de-neo2
2020-11-08 12:41:36 +01:00
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.
2020-11-09 22:44:04 +01:00
The original plugin contained a `EDMap.txt` file that contains information on
2020-11-08 12:41:36 +01:00
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
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`
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-11-09 12:25:55 +01:00
Wiki](https://github.com/alterNERDtive/bindED/wiki/Keyboard-Layouts).
## Troubleshooting
If you run into any kinds of trouble with missing bindings the first step should
be to import and load the included `bindED-reports` profile. It will generate
both a list of bind names used by Elite and a report of binds that do not have a
keyboard shortcut assigned, and put them on your Desktop.
Need help beyond that? Please [file an
issue](https://github.com/alterNERDtive/bindED/issues/new) or [hop into
2021-01-28 17:26:34 +01:00
Discord](https://discord.gg/YeXh2s5UC6).