Release Autohotkey Macros for PC Elite. Mouse/Keyboard use

Hello mates.
This post is a little gift for those that play Elite Dangerous on PC with mouse+keyboard.
It uses 2 autohotkey scripts (the base one calls the other, so don't worry about it) to make your life easier.
It requires a mouse with 1 extra button (those buttons on the side for the thumb)
Keybind macros for fast pip management:
xbutton 1 + w: flee mode - 4 pips to engines and 2 pips to shields
xbutton 1 + s: defensive mode - 4 pips to shields and 2 pips to weapons
xbutton 1 + a: pursuit mode - 4 pips to engines and 2 pips to weapons
xbutton 1 + d: combat mode - 4 pips to weapons and 2 pips to shields
xbutton 1 + e: offensive mode - 3 pips to weapons and 3 pips to shields
xbutton 1 + q: dodge mode - 3 pips to engines and 3 pips to shields

I used this configuration to match my keyboard keys and keep it all tight:
SHIFT: throttle to zero
SHIFT+w: thrust forward
SHIFT+s: thrust backward
w: thrust up
s:thrust down
a: thrust left
d: thrust right
q: roll left
e: roll right
space: boost
mousewheel up: throttle to 50%
mousewheel down: throttle to -50%
Xbutton1 + mousewheel up: throttle to 75%
Xbutton1 + mousewheel down: throttle to -75%

As you can see, by using pip macros in those keys, one can dogfight and actively manage the pips without going for other keys.
-----

Another macro used is an emergency elite process shutdown.
Why? Sometimes, one needs to close a malfunctioning window, before it freezes the whole Windows OS.
-----

The second script is based on a script called livewindows.
It creates a tiny window on the bottom right corner of the screen, and when it detects the Elite game client, it starts watching it.
(You need to play in any windowed mode.)
Now you can alt/tab and watch your browser while having a little peek of what's going on in the game. You will see when the hyper-jump ends, or when you reach a super-cruise destination.
When outside the Elite game client, any press on the mouse Xbutton1 (first alternate button), will immediately make the Elite window active and roll the mousewheel down to stop you ship. No more crashing into stars!

Changing the keybinds is easy, and Autohotkey has a great community support.

Anyway, here it is the link. There's also an elite icon there, used by the script to change the taskbar symbol.
https://drive.google.com/drive/folders/1pDEowswCiWecXw0YzvEW-x9-2x5eHptf?usp=sharing

Cheers!

PS: you need Autohotkey installed, or at least, the portable version.
https://www.autohotkey.com/
 
Last edited:
Here's My voice-attack profile... It does something similar....


Power Engines = Weapons: 1, Shields: 1, Engines: 4
Power Escape = Weapons: 0, Shields: 2, Engines: 4
Power Reset / Balanced = Weapons: 2, Shields: 2, Engines: 2
Power Shields = Weapons: 2, Shields: 4, Engines: 4
Power Weapons = Weapons: 4, Shields: 2, Engines: 0

Although you can easily customize it...

You do need the voice attack Elite Dangerous plugin which reads the binds and assigns them as variable identifiers which map to the keys in question... Never update the script again... Change binds in Elite Dangerous, and this voice attack profile is already up-to-date...

https://www.dropbox.com/s/e38zrzm5tec8td2/Acecool-Elite Dangerous-Profile-Feb2019.vap?dl=0

Other commands:

Load System - this loads the dll / and binds
Reconnect - Toggle between solo and online play
Deploy Rover - Deploys the rover, and recovers the rover by going through the menus - found a way to easily find each menu option... Another way could be to center view and then click, but this uses arrow keys so you can still look around...
Recall Ship - Dismisses and recalls your ship
Request Docking - Requests docking clearance by going through the menus
Toggle Landing Gear - Does what it says
Charge ECM - ...
Charge Shields - Uses shield cell
Deploy Heatsink - ...
Fire Chaff - ... Countermeasures
Initiate Self-Destruct Sequence - Not sure if I added this in yet...
Surrender Cargo - Drops your cargo...
All Stop - Sets throttle to 0
Boost - Performs the speed boost
Engage Jump - Engages Hyperspace Jump
Engage Warp - Engages Super-Cruise
Alert Stations - Standby all defensive systems
Battle Stations - Bring all defensive and offensive systems online
Landing Stations - Prepare for atmospheric / planetary body landing
Silent Running - Manages silent running mode + lighting
Power x which are shown above...
Hostile - Targets next hostile target
Last - Previous target
Last Hostile - Previous Hostile Target
Last System - Targets previous sub-system
Next - targets next
Route Navigation - Targets next system in route
System - Targets next sub-system
Target - Targets ahead
Target Thread - Highest Threat is targeted
Target Wingman 1, 2 or 3 - Targets Wingman 1, 2 or 3
Targets Target - Targets your targets target
Wing Navigation - Locks navigation to wing




Most of these are implemented and working as intended... The docking and rover options can be interrupted if you press keys, however the delays built in should ensure it works every time if you let it do its thing and it can actually be faster than you in navigating the menus - if you have a faster computer you can lower the delay... I can't recall but I may have added a variable for delays, or that was a planned feature...

Any and all voice commands can be changed to whatever you want without having to change anything else... Any and all binds use the current binds that you have set and if you change the, simply say Load System to reload the binds module and update the bind variables ( you also need to say it if you restart voice attack )... You can add your own hotkeys, if you want, to these actions - meaning if you have Stream Deck and you don't want to have to recode everything, you can easily set up odd hotkeys such as ctrl shift alt 0, 1, 2, 3, etc... or F1 through F24 along with these... Then your stream deck will use the most up to date binds you set without having to edit any scripts...
 
hi, for some reason when implementing a list of commands like

{Down},{Left},{Left},{Left},{Left},{Left},{Right},{Right},{Right},{Left},{Left},{Left}

for PIP management I dont get the same result as if I entered them manually. It's like only half of them are being detected.
 
So, guys, I've upgraded this into something even better:
The virtual keyboard. I posted it on Nexus. Hope it helps a lot of people.
This one has proper delays between key presses, so it should work better.
screenshot.jpg


Nexus link:
Johnny Hazzard's Xpress Keys
 
Here's My voice-attack profile... It does something similar....


Power Engines = Weapons: 1, Shields: 1, Engines: 4
Power Escape = Weapons: 0, Shields: 2, Engines: 4
Power Reset / Balanced = Weapons: 2, Shields: 2, Engines: 2
Power Shields = Weapons: 2, Shields: 4, Engines: 4
Power Weapons = Weapons: 4, Shields: 2, Engines: 0

Although you can easily customize it...

You do need the voice attack Elite Dangerous plugin which reads the binds and assigns them as variable identifiers which map to the keys in question... Never update the script again... Change binds in Elite Dangerous, and this voice attack profile is already up-to-date...

https://www.dropbox.com/s/e38zrzm5tec8td2/Acecool-Elite Dangerous-Profile-Feb2019.vap?dl=0

Other commands:

Load System - this loads the dll / and binds
Reconnect - Toggle between solo and online play
Deploy Rover - Deploys the rover, and recovers the rover by going through the menus - found a way to easily find each menu option... Another way could be to center view and then click, but this uses arrow keys so you can still look around...
Recall Ship - Dismisses and recalls your ship
Request Docking - Requests docking clearance by going through the menus
Toggle Landing Gear - Does what it says
Charge ECM - ...
Charge Shields - Uses shield cell
Deploy Heatsink - ...
Fire Chaff - ... Countermeasures
Initiate Self-Destruct Sequence - Not sure if I added this in yet...
Surrender Cargo - Drops your cargo...
All Stop - Sets throttle to 0
Boost - Performs the speed boost
Engage Jump - Engages Hyperspace Jump
Engage Warp - Engages Super-Cruise
Alert Stations - Standby all defensive systems
Battle Stations - Bring all defensive and offensive systems online
Landing Stations - Prepare for atmospheric / planetary body landing
Silent Running - Manages silent running mode + lighting
Power x which are shown above...
Hostile - Targets next hostile target
Last - Previous target
Last Hostile - Previous Hostile Target
Last System - Targets previous sub-system
Next - targets next
Route Navigation - Targets next system in route
System - Targets next sub-system
Target - Targets ahead
Target Thread - Highest Threat is targeted
Target Wingman 1, 2 or 3 - Targets Wingman 1, 2 or 3
Targets Target - Targets your targets target
Wing Navigation - Locks navigation to wing




Most of these are implemented and working as intended... The docking and rover options can be interrupted if you press keys, however the delays built in should ensure it works every time if you let it do its thing and it can actually be faster than you in navigating the menus - if you have a faster computer you can lower the delay... I can't recall but I may have added a variable for delays, or that was a planned feature...

Any and all voice commands can be changed to whatever you want without having to change anything else... Any and all binds use the current binds that you have set and if you change the, simply say Load System to reload the binds module and update the bind variables ( you also need to say it if you restart voice attack )... You can add your own hotkeys, if you want, to these actions - meaning if you have Stream Deck and you don't want to have to recode everything, you can easily set up odd hotkeys such as ctrl shift alt 0, 1, 2, 3, etc... or F1 through F24 along with these... Then your stream deck will use the most up to date binds you set without having to edit any scripts...
Hi, this set of voice commands will really help me, as I'm down 75% on my fingers - and old injury - so thanks for sharing this.
A few questions on the install and setup, as I have not done this before (started playing ED late January 2021):
  1. Which directory does the app need to be in?
  2. How is the .vap installed?
Thanks for the heads-up on a recommended voic command plugin!
 
hi, for some reason when implementing a list of commands like

{Down},{Left},{Left},{Left},{Left},{Left},{Right},{Right},{Right},{Left},{Left},{Left}

for PIP management I dont get the same result as if I entered them manually. It's like only half of them are being detected.
As Troopi said: You have to insert a 50-450 microsecond pause to allow the client to recognise the input key ... it all depends upon the the efficiency of your PC system - i.e. the lower spec PC that you use, the longer the sleep value you need to allow the input to be processed. Otherwise, the next sent key may not fully register in the game client.

Hence my AHK docking macro (running on a Ryzen 5-1500X) looks like this:-

RequestDocking() {
SendInput {"1"}
Sleep 50
SendInput {"e"}
Sleep 50
SendInput {"e"}
Sleep 50
SendInput {RightArrow}
Sleep 50
SendInput {SpaceBar}
Sleep 50
SendInput {"1"}
return
}

... and my AHK PIPs setting macro is like this:-

SetPips() {
SendInput {"DownArrow"} ; Standard setting 2, 2, 2
Sleep, 50
SendInput {"RightArrow"} ; Weapons +1
Sleep, 50
SendInput {"LeftArrow"} ; System +1
Sleep, 50
return
}
 
Last edited:
Top Bottom