ℹ️ if you are using Wayland, this will probably still work assuming you have xwayland installed.
This is a tool which will listen for Presses on certain keys (1-3 by default), and will then spam other keys (left, top and right arrow by default) as long as those keys are pressed. The "spamming" will only take place if
- the active window is Elite: Dangerous (the window name is
steam_app_359320
) - the Tool is active (you can toggle this by pressing
-
on the numpad)
Assumes X11 / Linux. No support for Mac / Windows / whatever.
If you want to build from source, you might need to install these packages:
libasound2-dev build-essential libxi-dev libxtst6 pkg-config xorg-dev
(apt) or the equivalent for your Package Manager.
You can download the binary straight from Github and place it somewhere in $PATH
.
cargo install --git https://github.com/CMDR-WDX/elite-pip-macro
.
Make sure ~/.cargo/bin
is in your $PATH
(or call it directly: ~/.cargo/bin/elite-pip-macro
See Requirements Section above in case the build fails because of system dependencies.
Alternatively you can install the binary AUR package.
paru -S elite-pip-macro-bin
yay -S elite-pip-macro-bin
You can also install from the AUR.
paru -S elite-pip-macro
yay -S elite-pip-macro
Note
This will compile the package from source. If you do not want to compile the program, then please use the binary provided under Releases or the binary AUR package.
by default the Macro is set up to
- Spam
LeftArrow
if1
is pressed (SYS) - Spam
UpArrow
if2
is pressed (ENG) - Spam
RightArrow
if3
is pressed (WEP)
To effectively use this setup you want to unbind the UI Focus to Left, Chat, Bottom and Right Panel.
I recommend rebinding in-game actions from 1
, 2
, 3
and 4
to F1
, F2
, F3
and F4
respectively.
You can also define your own inputs and outputs. See elite-pip-macro run --help
for more info.
To override the keys, you need to get the keycode. Use elite-pip-macro key-repl
. This will print the Key and Key Code of any key you press.
Keep in mind that the Name does not neccesarily represent the Key "value". For example, if I press Y
on my German keyboard, key-repl
will return Pressed key KeyZ, which has Keycode "52"
.
Keycodes define the Key Position, not the Key Value. So simply press the key you want to use and note its keycode.
You can then use the run
command and pass the modified configuration. If you (for whatever reason) want to Press Q
to put pips to ENG, you can elite-pip-macro run --in-eng=24
.
Generally, --in-*
is the key you have to press, while --out-*
is the key that gets spammed.