Elite: Dangerous
Posted: Tue Apr 09, 2019 12:08 am
In the beginning...I built ControlMyJoystick to get my SpaceNavigator (which I used with CAD) into Elite: Dangerous. The 6DOF controller would be perfect for ED, and it is.
Here's my latest profile for Elite: Dangerous. The main thing is to see how the axis are mapped and bound to the game. All the other controls can be bound however you like.
There is an insane amount of binds in this game and you can easily wind up with 40+ binds. Crazy, but fun. This profile uses a minimal amount of binds for flight and rover, but nothing for MultiCrew.
-----------------------------------
This profile uses a DxWare SpaceMouse Enterprise, voice and smartphone. Copy and paste these instructions into notepad so that you don't have to flip back to this tab all the time during setup.
If you don't have a DxWare controller, you can use a joystick instead (you'll need to copy the DxWare axis curves and button assignments over to your joytick).
There will be alot of switching back and forth between CMJ and ED, so set ED to run in a window, and CMJ to run ON TOP (View/Stay on top).
------------------------
PROFILE TARGETING
Set the profile target as 'Elite - Dangerous (CLIENT)' and enable targeting.
------------------------
OUTPUT/JOYSTICK MAPPING
Before we start axis mapping in ED, you need to set up Output/Joysick axis mapping in CMJ. By default it is set to DxWare, but if you are using a joystick, you will need to change this.
1) In CMJ, go to the Output/Joystick tab.
2) Double-click on an axis and select the source data for this axis.
3) Do this for each axis.
You can actually mix source data, so for example you could use DxWare for the flight axis, and use the slider from a joystick or throttle controller as the Slider axis.
If you physically move your DxWare or joystick axis, you should see it reflected here in the Output/Joystick axis indicators. It shows the data after curves have been applied, and this is what the game will see.
------------------------
THE GOLDEN RULE OF BINDING
Never physically touch your controllers while binding in Elite: Dangerous. This must be done by voice, or menu commands in CMJ.
If you don't do it this way, it won't work properly.
------------------------
START ELITE DANGEROUS
It's best to run ED in windowed mode and it is also in an already-flying state, so you could start a Training Mission - Mining Training as that will start with you in flight. This will give you a safe place to experiment with the bindings. Just wait until their voice blurb at the beginning is complete and you are free to fly the ship.
------------------------
CAUTION: selecting EMPTY and clicking APPLY will erase your current bindings!
1) Go to the ED Controls setup screen (also known as EDConfig).
2) You can either modify your current EDConfig or create a new blank one, or start with a pre-configured binding like Classic Keyboard. To create a blank config, select EMPTY from the presets. It will remain as EMPTY until you make a change, then it will say CUSTOM. If you do EMPTY, you will have a LOT of rebinding to do.
FLIGHT CONTROLS
Note: We're going to set this the old fashioned way, but I see that there is a new ED ALTERNATE FLIGHT CONTROLS which also may work.
Note: Don't set a deadzone or invert in-game. This will be done in CMJ curves.
1) Go to EDConfig FLIGHT ROTATION and click on double-click YAW AXIS. It will bring up up a message 'MOVE AXIS FOR...YAW AXIS'. You want to bind CMJ's Output/Joystick/RZ axis to this.
2) In CMJ, click on the RZ axis in the Output/Joystick tab.
3) To bind, speak 'Bind Axis - Both', or right-click for a popup menu and select 'Bind Axis - Left and Right'.
4) In EDConfig, you should see that [JOY RZ-AXIS] is now bound to Yaw Axis. So now when you twist the controller around the Z axis, it will yaw.
5) Apply your changes and go back into the game. Try moving your controller around the RZ axis - you should see it yaw the ship.
6) Now let's adjust the curve for this axis. The default, flat curves are horrible for flight, so you'll need to tweak it to suit your tastes (and ship configuration).
7) In CMJ, go to the Input/DxWare tab and double-click on the RZ Raw in the grid. This brings up the curve editor.
8) Try selecting a curve preset and drag around the curve sliders. You should be able to move the controller and see the effects immediately without closing the curve editor. You will also see the effects of the curve in the DxWare axis indicators on the same tab.
...Now repeat these steps for...
- ROLL AXIS - use the CMJ RY Axis. You will need to set 'Inverted' in the CMJ RY axis curve editor, and pick a nice curve.
- PITCH AXIS - use the CMJ RX Axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
..And for thrusters, go to FLIGHT THRUST and...
- LATERAL THRUST AXIS - use the CMJ TX axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
- VERTICAL THRUST AXIS - use the CMJ TZ axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
- THRUST FORWARD AND BACKWARD axis - use the CMJ TY axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
Now you should be able to use your thrusters to pull up to an asteroid and move around it. Tweak your curves until it feels just right.
------------------------
RENAME THE CURVE GROUP
You are currently using the CMJ Default Curve Group, so you can right-click on it and rename it to 'Mining'. You can create a new curve group for combat, if you wish as the curves will likely need to be different, and you may choose to disable the thruster axis for combat.
------------------------
NON-AXIS BINDINGS
You can send keystrokes, mouseclicks and movements or joystick button clicks in response to button presses on your controller, voice or smartphone command. This will require that we make some macros.
We won't do all the in-game functions, since there are so many. But let's try the basics:
------------------------
DEPLOY HARDPOINTS
We can bind this to a CMJ-generated joystick button, mouse click or keystroke - it's up to you which one you want to use. The simplest is to use a keystroke.
Go to the ED WEAPON/DEPLOY HARDPOINTS binding and set it to use 'H'.
There is already a Toggle Hardpoints macro created that sends the 'H' button to ED to deploy the hardpoints. Run this macro by selecting it and pressing the Run button, or by speaking 'Toggle Hardpoints' or by pressing the DxWare.Fit button on your controller. Because ED doesn't have a deploy hardpoints and a separate retract hardpoints binding, this really is just a hardpoints toggle.
ControlMyJoystick can't actually know that the hardpoints did deploy or undeploy as the game does not provide this information.
------------------------
LANDING GEAR
Let's toggle the landing gear with the DxWare.menu button on the controller. This requires us to first map the controller button to a CMJ output/joystick button. This is known as a passthrough mapping. You could send a joystick button in a macro, but we don't need to, we'll pass-it-through to the driver.
1) Go to the CMJ Output/Joystick tab and open up the button list. Double click on B001 and then press the Menu button on the DxWare controller and click Ok. Now pressing the Menu button on the controller will cause the Joystick driver to emit a Button 1 press and release event.
2) In ED, go to MISCELLANEOUS/LANDING GEAR and double-click it to receive a binding.
3) in CMJ, select B001 and say 'Bind Button', or right click and bind it from the menu.
We also added a Toggle Gear macro which does the same thing, but you can trigger it with voice.
------------------------
ROVER
I use drive assist on, with the following settings:
- RZ for steering
- RY for roll
- RX for Pitch
- Mouse button 4 for vertical thrust
- Mouse wheel for throttle
------------------------
Feel free to tweak this profile as needed.
Have fun!
Here's my latest profile for Elite: Dangerous. The main thing is to see how the axis are mapped and bound to the game. All the other controls can be bound however you like.
There is an insane amount of binds in this game and you can easily wind up with 40+ binds. Crazy, but fun. This profile uses a minimal amount of binds for flight and rover, but nothing for MultiCrew.
-----------------------------------
This profile uses a DxWare SpaceMouse Enterprise, voice and smartphone. Copy and paste these instructions into notepad so that you don't have to flip back to this tab all the time during setup.
If you don't have a DxWare controller, you can use a joystick instead (you'll need to copy the DxWare axis curves and button assignments over to your joytick).
There will be alot of switching back and forth between CMJ and ED, so set ED to run in a window, and CMJ to run ON TOP (View/Stay on top).
------------------------
PROFILE TARGETING
Set the profile target as 'Elite - Dangerous (CLIENT)' and enable targeting.
------------------------
OUTPUT/JOYSTICK MAPPING
Before we start axis mapping in ED, you need to set up Output/Joysick axis mapping in CMJ. By default it is set to DxWare, but if you are using a joystick, you will need to change this.
1) In CMJ, go to the Output/Joystick tab.
2) Double-click on an axis and select the source data for this axis.
3) Do this for each axis.
You can actually mix source data, so for example you could use DxWare for the flight axis, and use the slider from a joystick or throttle controller as the Slider axis.
If you physically move your DxWare or joystick axis, you should see it reflected here in the Output/Joystick axis indicators. It shows the data after curves have been applied, and this is what the game will see.
------------------------
THE GOLDEN RULE OF BINDING
Never physically touch your controllers while binding in Elite: Dangerous. This must be done by voice, or menu commands in CMJ.
If you don't do it this way, it won't work properly.
------------------------
START ELITE DANGEROUS
It's best to run ED in windowed mode and it is also in an already-flying state, so you could start a Training Mission - Mining Training as that will start with you in flight. This will give you a safe place to experiment with the bindings. Just wait until their voice blurb at the beginning is complete and you are free to fly the ship.
------------------------
CAUTION: selecting EMPTY and clicking APPLY will erase your current bindings!
1) Go to the ED Controls setup screen (also known as EDConfig).
2) You can either modify your current EDConfig or create a new blank one, or start with a pre-configured binding like Classic Keyboard. To create a blank config, select EMPTY from the presets. It will remain as EMPTY until you make a change, then it will say CUSTOM. If you do EMPTY, you will have a LOT of rebinding to do.
FLIGHT CONTROLS
Note: We're going to set this the old fashioned way, but I see that there is a new ED ALTERNATE FLIGHT CONTROLS which also may work.
Note: Don't set a deadzone or invert in-game. This will be done in CMJ curves.
1) Go to EDConfig FLIGHT ROTATION and click on double-click YAW AXIS. It will bring up up a message 'MOVE AXIS FOR...YAW AXIS'. You want to bind CMJ's Output/Joystick/RZ axis to this.
2) In CMJ, click on the RZ axis in the Output/Joystick tab.
3) To bind, speak 'Bind Axis - Both', or right-click for a popup menu and select 'Bind Axis - Left and Right'.
4) In EDConfig, you should see that [JOY RZ-AXIS] is now bound to Yaw Axis. So now when you twist the controller around the Z axis, it will yaw.
5) Apply your changes and go back into the game. Try moving your controller around the RZ axis - you should see it yaw the ship.
6) Now let's adjust the curve for this axis. The default, flat curves are horrible for flight, so you'll need to tweak it to suit your tastes (and ship configuration).
7) In CMJ, go to the Input/DxWare tab and double-click on the RZ Raw in the grid. This brings up the curve editor.
8) Try selecting a curve preset and drag around the curve sliders. You should be able to move the controller and see the effects immediately without closing the curve editor. You will also see the effects of the curve in the DxWare axis indicators on the same tab.
...Now repeat these steps for...
- ROLL AXIS - use the CMJ RY Axis. You will need to set 'Inverted' in the CMJ RY axis curve editor, and pick a nice curve.
- PITCH AXIS - use the CMJ RX Axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
..And for thrusters, go to FLIGHT THRUST and...
- LATERAL THRUST AXIS - use the CMJ TX axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
- VERTICAL THRUST AXIS - use the CMJ TZ axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
- THRUST FORWARD AND BACKWARD axis - use the CMJ TY axis. You will need to set 'Inverted' in the CMJ RX axis curve editor, and pick a nice curve.
Now you should be able to use your thrusters to pull up to an asteroid and move around it. Tweak your curves until it feels just right.
------------------------
RENAME THE CURVE GROUP
You are currently using the CMJ Default Curve Group, so you can right-click on it and rename it to 'Mining'. You can create a new curve group for combat, if you wish as the curves will likely need to be different, and you may choose to disable the thruster axis for combat.
------------------------
NON-AXIS BINDINGS
You can send keystrokes, mouseclicks and movements or joystick button clicks in response to button presses on your controller, voice or smartphone command. This will require that we make some macros.
We won't do all the in-game functions, since there are so many. But let's try the basics:
------------------------
DEPLOY HARDPOINTS
We can bind this to a CMJ-generated joystick button, mouse click or keystroke - it's up to you which one you want to use. The simplest is to use a keystroke.
Go to the ED WEAPON/DEPLOY HARDPOINTS binding and set it to use 'H'.
There is already a Toggle Hardpoints macro created that sends the 'H' button to ED to deploy the hardpoints. Run this macro by selecting it and pressing the Run button, or by speaking 'Toggle Hardpoints' or by pressing the DxWare.Fit button on your controller. Because ED doesn't have a deploy hardpoints and a separate retract hardpoints binding, this really is just a hardpoints toggle.
ControlMyJoystick can't actually know that the hardpoints did deploy or undeploy as the game does not provide this information.
------------------------
LANDING GEAR
Let's toggle the landing gear with the DxWare.menu button on the controller. This requires us to first map the controller button to a CMJ output/joystick button. This is known as a passthrough mapping. You could send a joystick button in a macro, but we don't need to, we'll pass-it-through to the driver.
1) Go to the CMJ Output/Joystick tab and open up the button list. Double click on B001 and then press the Menu button on the DxWare controller and click Ok. Now pressing the Menu button on the controller will cause the Joystick driver to emit a Button 1 press and release event.
2) In ED, go to MISCELLANEOUS/LANDING GEAR and double-click it to receive a binding.
3) in CMJ, select B001 and say 'Bind Button', or right click and bind it from the menu.
We also added a Toggle Gear macro which does the same thing, but you can trigger it with voice.
------------------------
ROVER
I use drive assist on, with the following settings:
- RZ for steering
- RY for roll
- RX for Pitch
- Mouse button 4 for vertical thrust
- Mouse wheel for throttle
------------------------
Feel free to tweak this profile as needed.
Have fun!