A complete set of VoiceAttack key bindings

I was new to VoiceAttack until a few weeks ago and found Dizzy B. High's tutorial and samples very useful: https://forums.frontier.co.uk/showthread.php?p=800992

He suggests creating a layer of 'keybind commands' which perform the actions that you have set up in the Elite Dangerous bindings file using the Controls panel on the main menu. Then, when you want to do something in VoiceAttack, you create a command which executes one or more of these lower level keybind commands. It's all explained in his tutorial.

As an example, you could create a command in VoiceAttack called '((BalancePower)) - Keybind', using Dizzy B's terminology, and then create a second command which is triggered when you say 'Balance Power'. This command executes the '((BalancePower)) - Keybind', which hits the key that you've mapped to <ResetPowerDistribution> in ED.

The idea of separating what you want to do from the binding that does it is a powerful one. It means you can change your key bindings without finding and replacing all of the places where you use them; you only need to edit the 'keybind command'.

This got me thinking that it would be useful to be able to extract the key bindings directly from an ED .binds file and create from them a set of VoiceAttack commands. These commands, and nothing else, could be stored in a VoiceAttack profile which could be imported to a new or existing profile which holds all of your clever VoiceAttack sequences.

Where I'm up to with this is only part of the way there. I have extracted from my ED bindings file the names of all of the elements that can have keyed input, and I've created a Voice Attack profile containing them:

Spoken CommandDescriptionCategory
kbUseAlternateFlightValuesToggleToggles input between regular and alternate flight controlskey binding - Alternate Flight Controls
kbDeployHeatSinkDeploy heat sinkkey binding - Cooling
kbToggleButtonUpInputSilent Runningkey binding - Cooling
kbBuggyToggleReverseThrottleInputReverse thrust input when Forward Only selectedkey binding - Drive Throttle
kbDecreaseSpeedButtonMaxDeceleration for SRVkey binding - Drive Throttle
kbIncreaseSpeedButtonMaxAcceleration for SRVkey binding - Drive Throttle
kbAutoBreakBuggyButtonApply handbrake in SRVkey binding - Driving
kbBuggyPitchDownPitch SRV down when airbornekey binding - Driving
kbBuggyPitchUpPitch SRV up when airbornekey binding - Driving
kbBuggyPrimaryFireButtonFire SRV weaponkey binding - Driving
kbBuggyRollLeftButtonRoll left in SRVkey binding - Driving
kbBuggyRollRightButtonRoll right in SRVkey binding - Driving
kbBuggySecondaryFireButtonOperate datalink scannerkey binding - Driving
kbHeadlightsBuggyButtonTurn SRV headlights on/offkey binding - Driving
kbSteerLeftButtonSteer left in SRVkey binding - Driving
kbSteerRightButtonSteer right in SRVkey binding - Driving
kbToggleBuggyTurretButtonToggle SRV turretkey binding - Driving
kbToggleDriveAssistToggle drive assistkey binding - Driving
kbVerticalThrustersButtonProvides temporary lift to the SRVkey binding - Driving
kbEjectAllCargo_BuggyJettison all cargo currently onboard the SRVkey binding - Driving Miscellaneous
kbIncreaseEnginesPowerBuggyDivert power to engineskey binding - Driving Miscellaneous
kbIncreaseSystemsPowerBuggyDivert power to systemskey binding - Driving Miscellaneous
kbIncreaseWeaponsPowerBuggyDivert power to weaponskey binding - Driving Miscellaneous
kbToggleCargoScoop_BuggyDeploy/retract SRV cargo scoopkey binding - Driving Miscellaneous
kbFocusCommsPanel_BuggyFocus on the expanded communications panelkey binding - Driving Mode Switches
kbFocusLeftPanel_BuggyFocus on left side panel interfacekey binding - Driving Mode Switches
kbFocusRadarPanel_BuggyDirectly focus on the sensor interfacekey binding - Driving Mode Switches
kbFocusRightPanel_BuggyFocus on right side panel interfacekey binding - Driving Mode Switches
kbGalaxyMapOpen_BuggyOpen and close the galaxy mapkey binding - Driving Mode Switches
kbHeadLookToggle_BuggyEnables the ability to look around in the SRVkey binding - Driving Mode Switches
kbQuickCommsPanel_BuggyOpen minimised version of the communications panelkey binding - Driving Mode Switches
kbSystemMapOpen_BuggyOpen and close the System Mapkey binding - Driving Mode Switches
kbUIFocus_BuggyNavigate cockpit UI in SRVkey binding - Driving Mode Switches
kbSelectTarget_BuggySelects the highlighted targetkey binding - Driving Targeting
kbBuggyTurretPitchDownButtonSRV turret pitch downkey binding - Driving Turret Controls
kbBuggyTurretPitchUpButtonSRV turret pitch upkey binding - Driving Turret Controls
kbBuggyTurretYawLeftButtonSRV turret yaw leftkey binding - Driving Turret Controls
kbBuggyTurretYawRightButtonSRV turret yaw rightkey binding - Driving Turret Controls
kbBackwardThrustButton_LandingDigital input for controlling backward manoeuvring thrustkey binding - Flight Landing Overrides
kbDownThrustButton_LandingDigital input for controlling downward manoeuvring thrustkey binding - Flight Landing Overrides
kbForwardThrustButton_LandingDigital input for controlling forward manoeuvring thrustkey binding - Flight Landing Overrides
kbLeftThrustButton_LandingDigital input for controlling left manoeuvring thrustkey binding - Flight Landing Overrides
kbPitchDownButton_LandingDigital input for pitching the ship upkey binding - Flight Landing Overrides
kbPitchUpButton_LandingDigital input for pitching the ship upkey binding - Flight Landing Overrides
kbRightThrustButton_LandingDigital input for controlling right manoeuvring thrustkey binding - Flight Landing Overrides
kbRollLeftButton_LandingDigital input for rolling the ship leftkey binding - Flight Landing Overrides
kbRollRightButton_LandingDigital input for rolling the ship to the rightkey binding - Flight Landing Overrides
kbUpThrustButton_LandingDigital input for controlling upward manoeuvring thrustkey binding - Flight Landing Overrides
kbYawLeftButton_LandingDigital input for yawing the ship to the leftkey binding - Flight Landing Overrides
kbYawRightButton_LandingDigital input for yawing the ship to the rightkey binding - Flight Landing Overrides
kbHyperspaceEnable FSD for hyperspace jumpkey binding - Flight Miscellaneous
kbHyperSuperCombinationEngage/Disengage Frame Shift Drivekey binding - Flight Miscellaneous
kbOrbitLinesToggleToggle display of orbit lineskey binding - Flight Miscellaneous
kbSupercruiseEnable FSD for supercruisekey binding - Flight Miscellaneous
kbToggleFlightAssistToggle Flight Assistance Systemkey binding - Flight Miscellaneous
kbUseBoostJuiceTemporary boost to main driveskey binding - Flight Miscellaneous
kbPitchDownButtonDigital input for pitching the ship upkey binding - Flight Rotation
kbPitchUpButtonDigital input for pitching the ship upkey binding - Flight Rotation
kbRollLeftButtonDigital input for rolling the ship leftkey binding - Flight Rotation
kbRollRightButtonDigital input for rolling the ship to the rightkey binding - Flight Rotation
kbYawLeftButtonDigital input for yawing the ship to the leftkey binding - Flight Rotation
kbYawRightButtonDigital input for yawing the ship to the rightkey binding - Flight Rotation
kbYawToRollHold or toggle to convert all yaw input into rollkey binding - Flight Rotation
kbBackswardKeyDecrease Throttlekey binding - Flight Throttle
kbForwardKeyIncrease Throttlekey binding - Flight Throttle
kbSetSpeed100Directly set speed to 100%key binding - Flight Throttle
kbSetSpeed25Directly set speed to 25%key binding - Flight Throttle
kbSetSpeed50Directly set speed to 50%key binding - Flight Throttle
kbSetSpeed75Directly set speed to 75%key binding - Flight Throttle
kbSetSpeedMinus100Directly set speed to 100% reversekey binding - Flight Throttle
kbSetSpeedMinus25Directly set speed to 25% reversekey binding - Flight Throttle
kbSetSpeedMinus50Directly set speed to 50% reversekey binding - Flight Throttle
kbSetSpeedMinus75Directly set speed to 75% reversekey binding - Flight Throttle
kbSetSpeedZeroDirectly set speed to zerokey binding - Flight Throttle
kbToggleReverseThrottleInputToggle between forward and reverse when throttle axis is forward onlykey binding - Flight Throttle
kbBackwardThrustButtonDigital input for controlling backward manoeuvring thrustkey binding - Flight Thrust
kbDownThrustButtonDigital input for controlling downward manoeuvring thrustkey binding - Flight Thrust
kbForwardThrustButtonDigital input for controlling forward manoeuvring thrustkey binding - Flight Thrust
kbLeftThrustButtonDigital input for controlling left manoeuvring thrustkey binding - Flight Thrust
kbRightThrustButtonDigital input for controlling right manoeuvring thrustkey binding - Flight Thrust
kbUpThrustButtonDigital input for controlling upward manoeuvring thrustkey binding - Flight Thrust
kbCamPitchUpPitch up in the galaxy mapkey binding - Galaxy Map
kbCamTranslateBackwardPan backwards in the galaxy mapkey binding - Galaxy Map
kbCamTranslateDownPan down in the galaxy mapkey binding - Galaxy Map
kbCamTranslateForwardPan forwards in the galaxy mapkey binding - Galaxy Map
kbCamTranslateLeftPan left in the galaxy mapkey binding - Galaxy Map
kbCamTranslateRightPan right in the galaxy mapkey binding - Galaxy Map
kbCamTranslateUpPan up in the galaxy mapkey binding - Galaxy Map
kbCamTranslateZHoldSets the y axis to function as the z translation axiskey binding - Galaxy Map
kbCamYawLeftRotate left in the galaxy mapkey binding - Galaxy Map
kbCamYawRightRotate right in the galaxy mapkey binding - Galaxy Map
kbCamZoomInZoom in on the galaxy mapkey binding - Galaxy Map
kbCamZoomOutZoom out on the galaxy mapkey binding - Galaxy Map
kbHeadLookPitchDownLook down within the cockpitkey binding - Headlook Mode
kbHeadLookPitchUpLook up within the cockpitkey binding - Headlook Mode
kbHeadLookResetReset current view to centre and forwardkey binding - Headlook Mode
kbHeadLookYawLeftLook left within the cockpitkey binding - Headlook Mode
kbHeadLookYawRightLook right within the cockpitkey binding - Headlook Mode
kbCycleNextPanelSelect the next panel in the cockpit interfacekey binding - Interface Mode
kbCyclePreviousPanelSelect the previous panel in the cockpit interfacekey binding - Interface Mode
kbUI_BackGo back in the cockpit interfacekey binding - Interface Mode
kbUI_DownMove down in the cockpit interfacekey binding - Interface Mode
kbUI_LeftMove left in the cockpit interfacekey binding - Interface Mode
kbUI_RightMove right in the cockpit interfacekey binding - Interface Mode
kbUI_SelectSelect current item in the cockpit interfacekey binding - Interface Mode
kbUI_UpMove up in the cockpit interfacekey binding - Interface Mode
kbEjectAllCargoEject all cargokey binding - Miscellaneous
kbFireChaffLauncherReleases a cloud of sensor-distorting chaffkey binding - Miscellaneous
kbHMDResetReset Head Mounted Displaykey binding - Miscellaneous
kbIncreaseEnginesPowerIncrease power to the engineskey binding - Miscellaneous
kbIncreaseSystemsPowerIncrease power to systemskey binding - Miscellaneous
kbIncreaseWeaponsPowerIncrease power to weaponskey binding - Miscellaneous
kbLandingGearToggleToggle raising and lowering of landing gearkey binding - Miscellaneous
kbMicrophoneMuteToggle muting your microphonekey binding - Miscellaneous
kbPhotoCameraToggleToggles the classified camerakey binding - Miscellaneous
kbRadarDecreaseRangeZoom sensors to view a narrower rangekey binding - Miscellaneous
kbRadarIncreaseRangeZoom sensors to view a wider rangekey binding - Miscellaneous
kbResetPowerDistributionReset the power balancekey binding - Miscellaneous
kbShipSpotLightToggleToggle the ship's lights on and offkey binding - Miscellaneous
kbToggleCargoScoopToggle cargo scoopkey binding - Miscellaneous
kbUseShieldCellDedicated input to use a shield cellkey binding - Miscellaneous
kbFocusCommsPanelOpen up and focus on the expanded communications panelkey binding - Mode Switches
kbFocusLeftPanelDirectly focus on the left side panel interfacekey binding - Mode Switches
kbFocusRadarPanelDirectly focus on the sensor interfacekey binding - Mode Switches
kbFocusRightPanelDirectly focus on the right side panel interfacekey binding - Mode Switches
kbGalaxyMapOpenOpen and close the galaxy mapkey binding - Mode Switches
kbHeadLookToggleEnables ability to look around via the dedicated inputskey binding - Mode Switches
kbPauseBring up the game menu (without pausing the game)key binding - Mode Switches
kbPGScoreSummaryInputShow CQC scoreskey binding - Mode Switches
kbQuickCommsPanelOpen up a minismised communications panelkey binding - Mode Switches
kbSystemMapOpenOpen and close the system mapkey binding - Mode Switches
kbUIFocusInitiate cockpit UI actionkey binding - Mode Switches
kbMouseResetInstantly centres the mousekey binding - Mouse Controls
kbCycleNextHostileTargetCycle forwards through the list of known hostile targetskey binding - Targeting
kbCycleNextSubsystemCycles forwards through the current target's subsystemskey binding - Targeting
kbCycleNextTargetCycles forwards through the list of known contactskey binding - Targeting
kbCyclePreviousHostileTargetCycles backwards through the list of known hostile targetskey binding - Targeting
kbCyclePreviousSubsystemCycles backwards through the current target's subsystemskey binding - Targeting
kbCyclePreviousTargetCycles backwards through the list of known contactskey binding - Targeting
kbSelectHighestThreatSelect the target of highest threatkey binding - Targeting
kbSelectTargetSelects the highlighted targetkey binding - Targeting
kbTargetNextRouteSystemTarget the next system in your planned routekey binding - Targeting
kbTargetsTargetSelect target for currently selected ship in your wingkey binding - Targeting
kbTargetWingman0Selects the first ship in your current wingkey binding - Targeting
kbTargetWingman1Selects the second ship in your current wingkey binding - Targeting
kbTargetWingman2Selects the third ship in your current wingkey binding - Targeting
kbWingNavLockSlave your Frame Shift Drive to the selected wingmankey binding - Targeting
kbCycleFireGroupNextCycles forwards through your fire groupskey binding - Weapons
kbCycleFireGroupPreviousCycles backwards through your fire groupskey binding - Weapons
kbDeployHardpointToggleDeploy/retract hardpointskey binding - Weapons
kbPrimaryFireFire primary weapons/moduleskey binding - Weapons
kbSecondaryFireFire secondary weapons/moduleskey binding - Weapons
The Spoken Commands have a different format from Dizzy B's. I've used the node names from the .binds file and prefixed them with 'kb'. By setting the Minimum Confidence Level in the VoiceAttack command editor to 100, I've found that VA does not recognise these commands when I speak them. If you have a vocal system that involuntarily emits a sound like 'kb' then that's a different story.

I've given each command a description and category that matches what you see in ED's Controls UI. If, like me, you are not an experienced VoiceAttack user, and are just starting out with setting up your commands, then I think there are several advantages to:


  • Creating the keybinding layer, described above.
  • Using a complete set of keybind commands. When you want to create a new sequence in VA the relevant key bindings will already be there (although they may be empty).
  • Using the same names for your keybind commands as used by Elite Dangerous (with the 'kb' prefix to make it harder for VA to recognise them). When the second part of my project is complete, it should be straightforward to take an updated .binds file and port it to VoiceAttack.

This approach should also make sharing VoiceAttack techniques easier. I envisage a process in which the key binding profile is loaded first into a new profile, followed by merging in the higher level commands.

If you think you might find any of this useful, I've attached my Personal Keybindings file to this post as a .txt file. It contains all of the VoiceAttack commands inside the spoiler above. It would make sense to rename it to .vap before importing it to VA.


Fly Dangerously, Commanders!
 
Thanks Andrew, my profile has got to rediculous levels now - 4032 commands! am in the process of slowly organizing things to make it more efficient, will bookmark your topic.

Cheers
 
Thanks for that and good timing as I set mine up yesterday (For the second time). My recently discovered issue with voice command is.... I'm not to keen on speaking out loud. Plus my girlfriend isn't too keen on hearing random words occurring all evening. So may not use it for long as it's fate seems doomed [yesnod]
but still...I will watch the video. Thanks.

additional... I really wanted it for (request docking permission) but it pulls up the LHP and says it is done...but it isn't. So not sure if that can work. Maybe it's something to do with trackIR or the X52pro.

Flimley.
 
Last edited:
Plus my girlfriend isn't too keen on hearing random words occurring all evening. So may not use it for long as it's fate seems doomed.

"I'll make a cup of tea in a minute." could be your spoken command for: GalaxyMapOpen.
"Do you fancy Prague next Spring?" could map to FireChaffLauncher, etc. :)
 
Good news.... I managed to make "request docking" work. For me it involved first... Adding some keyboard binds in the second column of my "custom" elite dangerous controls alongside the x52pro controls that govern the LHP. Then secondly creating a series of macros from them in voice attack to work its way through the LHP's menus and back to Navagation when finished.

Hooray. That's really what I wanted this program for.
 
Last edited:
Thanks for that and good timing as I set mine up yesterday (For the second time). My recently discovered issue with voice command is.... I'm not to keen on speaking out loud. Plus my girlfriend isn't too keen on hearing random words occurring all evening. So may not use it for long as it's fate seems doomed [yesnod]
but still...I will watch the video. Thanks.

additional... I really wanted it for (request docking permission) but it pulls up the LHP and says it is done...but it isn't. So not sure if that can work. Maybe it's something to do with trackIR or the X52pro.

Flimley.

Like you i am not too kean on speaking out loud when the wife or family is present. One way around this if you still want the verbel replies from VA for immersion is to map the VA commands to a the joystick buttons as well as the keyboard and click the "when i press this key\button" in the VA profile, then everytime i press "chaff" on my joystick button, VA would reply "chaff launched"

Also the request docking problem, i have this setup in the saitek sst software as a macro, and it works great at the press of a button on my x52.
(the trick is just get the right sequence of button presses and getting the pauses right.)
 
Hahahha. Read above you as I did indeed program all the button sequences in. Once learnt how to connect voice attack to elite controls menu. :)
 
Top Bottom