EDControls
This page has details about how I setup my mouse/keyboard and joystick controls in the game Elite: Dangerous.
Joystick
Saitek X52 Pro
When my mouse hand started to have cramps I finally knew that I had to get a joystick. The question was: Which model should I buy? This question was not an easy one because I had to find a joystick that would work on the Mac, but the information which models work on which platforms was not readily available, or confusingly presented. For instance, the Saitek X52 Pro product page lists Windows in the system requirements but not Mac OS X, but on the other hand it mentions X-Plane 10 for Mac under "Flight Simulation Software Compatibility".
In the end I decided to go for the Saitek X52 Pro, because I found a few hints that it might work on the Mac, and since it was an established product (I think the year of first manufacture was 2007) I reckoned that I would have found more explicit information if it didn't work on the Mac. As it turned out, my conclusions were correct and the joystick worked in a true plug'n'play fashion. Elite: Dangerous even has a built-in set of control mappings for the X52 Pro which I only had to adapt a little bit.
Ironically, I found this KB article that lists joysticks tested by Frontier Development on the Mac only after I had bought the Saitek X52 Pro.
Edit: Here's a YouTube video showing how to disassemble the throttle - I needed to do this to remove a piece (the so-called "detent") that had broken lose inside the throttle case, which was causing my throttle to be blocked sometimes at the zero position and sometimes at the full throttle position. In case it should ever become necessary, here's a short guide how to disassemble the Joystick.
Controls changed from the defaults
Controls for flying the ship:
- Mode Switches > Open Galaxy Map = G (default = none)
- G is originally bound to "Galaxy Cam Pitch Down"
- Mode Switches > Open System Map = M (default = none)
- M is originally bound to "Switch Cockpit Mode"
- Mode Switches > Systems Panel = 2 (default = 4)
- Since I am a Solo player I use the Systems panel much more frequently than the Comms panel, so I want it to be bound to a key that is closer to the the one I use for the Target panel (the panel used most frequently).
- 2 is originally bound to "Comms Panel"
- Mode Switches > Comms panel = 4 (default = 2)
- 4 is originally bound to "Systems Panel"
- Mode Switches > Switch Cockpit Mode = H (default = M, X52PROB16)
- Toggles between Combat Mode and Analysis Mode
- Miscellaneous > Landing Gear = Joystick toggle button 1 up (T1) (default = T2)
- T1 is originally bound to "Cycle next fire group"
- Flight Miscellaneous > Supercruise = J (default = none)
- J is originally bound to "Toggle frame shift drive"
- It's possible to jump to a distant star system directly from normal flight, i.e. not from supercruise. However, the attempt to initiate the FSD fails if the target system is obscured behind another astronomical body. It is usually most efficient to go to supercruise in order to maneouver into a position where the distant system is no longer obscured. With normal control mappings you have to select a different target, one that is in the local system, in order to be able to engage supercruise. Then afterwards you have to retarget the desired distant star system. This control mapping allows you to engage supercruise no matter what your current target is.
- Flight Miscellaneous > Toggle Frame Shift Drive = Joystick toggle button 1 down (T2) (default = T3)
- T2 is originally bound to "Landing Gear"
- I generally find it easier to remember to push a toggle button down, and enabling the FSD is one of my most frequently used commands, especially when escaping from an interdiction or an otherwise tight situation
- Miscellaneous > Cargo Scoop = Joystick toggle button 2 up (T3) (default = T4, Home key)
- T3 is originally bound to "Toggle Frame Shift Drive"
- Weapons > Cycle Next Fire Group = Joystick toggle button 2 down (T4) (default = T1)
- T4 is originally bound to "Cargo Scoop"
- Weapons > Firing deploys hardpoints = off (default = on)
- I often have to fire to make use of a discovery scanner, but I don't want to deploy hardpoints every time that I do so
- Cooling > Silent Running = none (default = T5)
- It is much too dangerous to leave Silent Running mapped on a button that I might accidentally hit while I am exploring; reading this story scared me A LOT!
- Cooling > Deploy heat sink = Joystick toggle button 3 up (T5) (default = none)
- T5 is originally bound to "Silent Running"
- It makes sense to have a dedicated control for that, otherwise the heat sink launcher needs to be bound to a fire group
- Miscellaneous > Ship Lights = Joystick toggle button 3 down (T6) (default = T6)
- Targeting > Target next system in route = R (default = none)
- Targeting > Cycle next/previous subsystem = Throttle control scroll wheel down/up (default = none)
- The ED configuration screen shows the control mapping as X52PROB17/X52PROB18
- This control mapping is useful to quickly find the Power Plant subsystem of a target enemy
- Miscellaneous > Weapon Colour > W (default = none)
- W is originally not bound
- Miscellaneous > Engine Colour > E (default = none)
- E is originally not bound
- Miscellaneous > Night Vision > V (default = none)
- V is originally not bound
- This binding also works when driving the SRV
Galaxy map controls:
- I would very much like to bind numeric pad key to the various Galaxy Cam controls, so that I could use the right hand to navigate around the galaxy map and the left hand to use the mouse. Unfortunately this is not possible at the moment because numeric pad keys are bound to Fighter Orders controls, and Fighter Orders controls are also effective in the Galaxy Map.
- Galaxy Map > Galaxy Cam Pitch Up = Crsr Right (default = none)
- I define this as a secondary binding and leave the primary default binding (T) intact
- The primary default binding is unusable because the fingers of the left hand are already overloaded with 8 other Galaxy Cam controls
- Galaxy Map > Galaxy Cam Pitch Up = Crsr Left (default = none)
- I define this as a secondary binding and leave the primary default binding (G) intact
- The primary default binding is unusable because the fingers of the left hand are already overloaded with 8 other Galaxy Cam controls
- Galaxy Map > Galaxy Cam Zoom In = Crsr Up (default = none)
- I define this as a secondary binding and leave the primary default binding (Z, actually the Y key on my Swiss German keyboard) intact
- The primary default binding is unusable because the key is hard to reach when the left hand is positioned over the primary navigation keys (WASD)
- Galaxy Map > Galaxy Cam Zoom Out = Crsr Down (default = none)
- I define this as a secondary binding and leave the primary default binding (X) intact
- The primary default binding is unusable because the key is hard to reach when the left hand is positioned over the primary navigation keys (WASD)
- Galaxy Map > Galaxy Cam Select Current System = C (unknown default, I'm assigning this after an update)
Full Spectrum System Scanner controls:
- I add secondary bindings to many of the FSS camera controls so that I can use them with the keyboard.
- Full Spectrum System Scanner > Enter FSS Mode = F (default = ', which on my keyboard is actually ä)
- F is originally not bound
- Full Spectrum System Scanner > Leave FSS = F (default = ', which on my keyboard is actually ä)
- I'm replacing the default, which is a secondary binding only.
- The primary default binding is Joystick button "A", which I leave intact.
- F is originally not bound
- Full Spectrum System Scanner > Camera pitch increase/decrease = Num 8 / Num 5 (default = none)
- Full Spectrum System Scanner > Camera yaw increase/decrease = Num 6 / Num 4 (default = none)
- Full Spectrum System Scanner > Zoom in to target = Num Enter (default = Joystick fire button)
- I define this as a secondary binding and leave the primary default binding intact
- Full Spectrum System Scanner > Zoom out
- Primary = Joystick pinkie switch (default = L Alt)
- Secondary = Num 0 (default = none)
- Full Spectrum System Scanner > Stepped zoom in/out = W/S (default = Throttle hat switch down/up)
- Full Spectrum System Scanner > Tuning = Throttle, inverted axis (default = ?)
- Full Spectrum System Scanner > Tuning right/left = D/A (default = Throttle hat switch right/left)
- Full Spectrum System Scanner > Absolute tuning = Throttle slider, inverted axis (default = none)
- For this to work, the regular tuning axis must be unbound.
- If the regular tuning axis is bound, the tuning position doesn't stay put after I change it with absolute tuning - the position indicator immediately starts to slowly move back towards whatever position it has according to the regular tuning axis.
- Full Spectrum System Scanner > FSS tuning sensitive = About 25% (default = ?)
- This applies to both the tuning right/left and the absolute tuning controls.
- Full Spectrum System Scanner > Target current signal = Num + (default = Joystick button "B")
- I define this as a secondary binding and leave the primary default binding intact
Controls for driving the SRV. Many of the changes in this section mirror the changes in the previous section for ship-flying controls.
- Driving > Handbrake = Joystick toggle button 1 down (T2) (same as default)
- Driving Miscellaneous > Cargo Scoop = Joystick toggle button 2 up (T3) (default = T4, Home key)
- T3 is originally not bound
- Driving > Cycle Next Fire Group = Joystick toggle button 2 down (T4) (default = T1)
- T4 is originally not bound
- Driving > Headlights = Joystick toggle button 3 down (T6) (default = none)
- T6 is originally not bound
- Driving Mode Switches > Systems Panel = 2 (default = 4)
- Same idea as the change for the ship further up
- 2 is originally bound to "Comms Panel"
- Driving Mode Switches > Comms panel = 4 (default = 2)
- 4 is originally bound to "Systems Panel"
- Driving Mode Switches > Open Galaxy Map = G (default = none)
- G is originally bound to "Galaxy Cam Pitch Down"
- Driving Mode Switches > Open System Map = M (default = none)
- M is originally bound to "Switch Cockpit Mode"
- Driving Mode Switches > Switch Cockpit Mode = H (default = M, X52PROB16)
- Toggles between Combat Mode and Analysis Mode
- Driving > Toggle SRV turret = T (default = Joystick target button (protected by safety cover))
- I define this as a secondary binding and leave the primary default binding intact
- T is originally not bound
Camera suite:
- Camera Suite > Ship - Toggle Camera Suite = Right Ctrl + Right Alt (default = Left Ctrl + Left Alt + Space)
- Camera Suite > SRV - Toggle Camera Suite = Right Ctrl + Right Alt (default = Left Ctrl + Left Alt + Space)
- Further down on this site find an extensive remapping of camera suite controls
Default keyboard controls that I use frequently
- Toggle orbit lines = Circumflex (^)
- This is shown as "=" in the controls setup, probably because the circumflex key is the "=" key on an English keyboard
Important bindings
I made the following list when I first familiarized myself with my new joystick. These days the lists are not terribly important anymore.
- Thrusters = Throttle button reachable with index finger
- Engine Boost = Throttle button "i"
- Select Target Ahead = Joystick button "B"
- Cycle Next / Previous Ship = Joystick hat switch 2: Left/right
- Cycle Next / Previous Hostile Ship = Joystick hat switch 2: Up/down
- Primary Fire = Single click of joystick fire button
- Secondary Fire = Joystick button "C"
- Currently I have assigned this button to Discord's "Push to talk" function. Don't know how this interferes with ED control management.
- Deploy Hardpoints = Joystick target button
- Divert Power to Engines = Joystick hat switch 1: Up
- Divert Power to Weapons = Joystick hat switch 1: Right
- Divert Power to Systems = Joystick hat switch 1: Left
- Balance Power Distribution = Joystick hat switch 1: Down
- UI Focus = Joystick pinkie switch
- UI Panel Select = Joystick button "B"
- Disable Flight Assist = Throttle wheel click
- Headlook = Throttle button "E"
- Landing Gear = Joystick toggle button 1 up (T1)
- Enable Frame Shift Drive = Joystick toggle button 1 down (T2)
- Cargo Scoop = Joystick toggle button 2 up (T3)
- Cycle Next Fire Group = Joystick toggle button 2 down (T4)
- Deploy Heat Sink = Joystick toggle button 3 up (T5)
- Shiplights = Joystick toggle button 3 down (T6)
- Go back one menu level ("Back" button) = Backspace
SRV bindings
- Driving > Toggle SRV turret = Joystick target button (protected by safety cover)
- This enables and disables turret mode
- I also like to bind T to this function
Fighter bindings
Fighter Orders
- Recall Fighter = Num 0
- Orders fighter to dock, or requests to dock with main ship when piloting a fighter.
- Defend = Num 1
- Fighter/main ship behaves defensively. The fighter/main ship attacks only if the fighter/main ship is attacked.
- Engage at will = Num 2
- Fighter/main ship behaves aggressively. The fighter/main ship attacks any hostile within range.
- Attack Target = Num 3
- Fighter/main ship attacks current target.
- Maintain Formation = Num 4
- Fighter/main ship holds fire. The fighter/main ship holds in formation to you (what does this mean?) and ignores any attacks.
- Hold position / Follow me = Num 5 / Num 6
- Fighter/main ship either holds position, or follows you.
- Open Orders = No binding
- Opens the "Orders" panel.
- The "Orders" panel is a sub-panel of the "Role" panel, which is bound to 3.
Available controls
This sections contains a summary of all the controls that the Saitek X52 Pro has and that can be mapped to a game function. I don't recall where I got the control names from.
Joystick controls:
- Joystick with 3 axes
- Pitch (nose lift/dive) = Joystick forward/backward
- Roll (turn upside down to the left/right) = Joystick left/right
- Yaw (look left/right) = Joystick twist left/right
- Hat switch 1 (center)
- Hat switch 2 (upper-left)
- Button A
- Button B
- Button C
- Target button (protected by a safety cover)
- Mode switch (knob on the side that can be turned)
- Trigger button - light press
- Trigger button - hard press
- Pinkie switch
- Toggle button 1 (left)
- Toggle button 2 (middle)
- Toggle button 3 (right)
Throttle controls:
- Throttle with 1 axis
- Hat switch (at the back, access with index finger)
- Scroll wheel (at the back, access with index finger)
- Wheel
- Button
- Button D (in front, access with thumb)
- Button E (on top, access with either thumb or index finger)
- Button I (in front at bottom, access with thumb)
- Rotary 1 (around button E)
- Rotary 2 (around button I)
- Left mouse button (in front at bottom)
- Mouse controller (in front at bottom)
- Slider (in front, access with thumb)
Research
Thrustmaster T.Flight Hotas X
- Price = CHF 43.20
- https://www.digitec.ch/de/s1/product/thrustmaster-tflight-hotas-x-ps3-pc-spielsteuerung-233210?tagIds=1
- Officially runs on PC, no mention of Mac
- One comment in this macrumors.com thread (by cal6n) says that it *should* work on Mac, though
Saitek PC Flight Control System X52
- Price = CHF 144
- https://www.digitec.ch/de/s1/product/saitek-pc-flight-control-system-x52-spielsteuerung-202143
- This thread says that this joystick works on the Mac, even together with Elite: Dangerous (which I find a bit strange since the Mac version of Elite: Dangerous hasn't been published at the time of the post)
Saitek PC Flight Control System X52 Pro
- Price = CHF 177.-
- https://www.digitec.ch/de/s1/product/saitek-pc-flight-control-system-x52pro-spielsteuerung-202144
- I've seen evidence that this joystick used to work on a Mac, together with X-Plane
- If the Saitek X52, which is the little brother of the X52 Pro, works on the Mac (see above), then it can be hoped that the X52 Pro also works
Saitek X-55 Rhino H.O.T.A.S. System (Schwarz)
- Price = CHF 178
- https://www.digitec.ch/de/s1/product/saitek-x-55-rhino-hotas-system-schwarz-spielsteuerung-2477020
- Looks cool :-)
Logitech Extreme 3D Pro Precision Flight Stick - G-Series
- Price = CHF 62.40
- https://www.digitec.ch/de/s1/product/logitech-extreme-3d-pro-precision-flight-stick-g-series-spielsteuerung-436604
- The title of the Logitech product page mentions that this joystick runs on Mac; the product page, however, only mentions PC
Thrustmaster TM Hotas Warthog Joystick, PC
- Price = CHF 356
- https://www.digitec.ch/de/s1/product/thrustmaster-tm-hotas-warthog-joystick-pc-spielsteuerung-240680
- The ulimate HOTAS, with metal parts etc.
- This guy in the Mac forum casually mentions that he uses this stick
Mouse / Keyboard
Controls changed from the defaults
A lot of the following shortcuts come from Dejan Kober's beginner tutorials
- Yaw left/right = Q/E (default = A/D)
- Thrust (strafe) left/right = A/D (default = Q/E)
- Thrust (strafe) up/down = W/S (default = R/F)
- Throttle accelerate/deccelerate = Left Shift/Left CTRL (default = W/S)
- Flight landing overrides > Thrust (strafe) forward/backward = Left Shift/Left CTRL (default = none)
- Mouse wheel = Select next / previous target (default = none)
- Target panel = 1 (default = ?)
- Systems panel = 2 (default = ?)
- Galaxy map = 3 (default = ?)
- System map = 4 (default = ?)
- Comms panel = 5 (default = ?)
- Sensors Panel = 6 (default = none)
- Interface mode > UI Back = Left Shift
- Flight Assist button mode = Toggle (default = Hold)
- Reset mouse = § (default = none)
- Jettison all cargo = none (default = End)
- I don't want to accidentally hit a key and destroy all my cargo
- Firing deploys hardpoints = off (default = on)
- I often have to fire to make use of a discovery scanner, but I don't want to deploy hardpoints every time that I do so
Rarely used controls
Some controls I use so rarely that I simply can't be bothered to remember them. Since calling up the controls menu from within ED is slow and time-consuming, I write those controls down here for easy reference.
Wing controls
- Selecting wingmen
- Wingman 1 = 7
- Wingman 2 = 8
- Wingman 3 = 9
- Select Wingman's target = 0 (this selects the target of whichever wingman you have currently selected)
- Wingman Nav-Lock = ' (this slaves your FSD to the FSD of whichever wingman you have currently selected)
The camera suite
Elite Dangerous 2.3 introduced a new camera suite that allows for much better external views of the cockpit and the ship than the rather limited debug camera in earlier versions. Alas, Frontier Development did not provide any documentation for the new camera suite, so I had to figure out what it does by myself. The following sections have what I understood so far.
Camera modes
When you are in camera mode, you can switch between free camera mode and fixed camera mode. "Free" camera mode is an official term by Frontier Development, "fixed" camera mode on the other hand is a term that I have just invented. I am using to be better able to talk between the two camera modes.
When you enter camera mode, you are initially in fixed camera mode.
Fixed camera mode
In fixed camera mode the only thing you can do is switch between a suite of 9 different cameras set at a fixed position:
- 2 general cockpit cameras (front/back)
- 4 pilot-bound cockpit cameras, 2 cameras to view the ship's commander from 2 different angles, and another 2 that do the same for the co-pilot
- 3 cameras that are located outside of the ship (front/back/below)
While you are viewing the scene from a fixed camera you can do the following things:
- Show/hide the camera HUD (typically used to make a screenshot)
- Exit camera mode. The game remembers which fixed camera you were using, so when you re-enter camera mode the next time you will immediately be back at that fixed camera's position.
- Switch to another fixed camera, either by directly selecting a fixed camera's control binding (by default these are the 1-9 keys on the numeric keyboard) or by cycling to the previous/next fixed camera (not bound by default)
- Switch to free camera mode
- Steer the ship. All controls not bound to camera functions are used for controlling the ship.
Free camera mode
When you switch to free camera mode, the idea is that you gain more control over the camera.
- In free camera mode inside the cockpit, your control over the free camera is still severely limited: All you can do is increase/decrease the zoom level.
- In free camera mode outside the ship, though, you get full control over the camera's location, speed, rotation, zoom and focus.
- You may still be able to steer the ship, because all controls not bound to camera functions still control the ship.
Entering/exiting free camera mode:
- Cameras inside the cockpit: You use the same control to enter and exit free camera mode. The control simply acts as a toggle. When in free camera mode you can also select a different fixed camera - this not only switches to that fixed camera, it also exits "fixed camera" mode.
- Cameras outside of the ship: You use a different control to enter and exit free camera mode. When in free camera mode you cannot select a different fixed camera.
Attached/detached camera
When you enter free camera mode, the camera starts out being attached to the ship. This means that wherever the ship goes, the camera travels with it.
You can detach the camera from the ship by using the appropriate control binding. The free camera effectively becomes a fixed camera in space and you can no longer control its location. All control bindings now go directly to the ship.
While the camera is detached, you can perform any kind of cool flying maneouver and capture your actions from the fixed location of the camera.
Once you are finished you can re-attach the camera to the ship. You now regain full control over the camera.
Camera controls / ship controls
When you enter free camera mode, you initially have full control over the camera. If you have set up a control binding to be used both for camera control and for ship control, then the binding controls the camera, not the ship. In case of a conflict, the camera therefore takes precedence because it can be said to have the "focus".
You can switch from camera control to ship control by using the appropriate control binding. The free camera effectively becomes a fixed camera and you can no longer control its location. All control bindings now go directly to the ship.
While ship control is in effect, the camera is still attached to the ship and will follow its every movement, so this is not the same as detaching the camera (see previous section).
Once you are finished you can switch back to camera control. You now regain full control over the camera.
Speed
The camera moves with a certain speed. If you want to move the camera farther away from the ship, or closer to the ship, this takes time depending on the current camera speed.
Using the appropriate control binding you can control the camera's movement speed.
Distance
The maximum distance you can move the camera away from the ship is 3000m.
Stabiliser off
TODO: The free camera HUD shows a function labelled "Stabiliser off". It is shown as "unbound". What does this function do and how can I bind a control to the function?
Zoom/blur
Whenever you are in free camera mode you can zoom the camera image between zoom level 0.0 and 4.0.
Unfortunately, the more you zoom in the blurrier the image becomes. I assume that's because the game simply scales up the image that is seen by the camera.
TODO: Wait, there *is* a control that has to do with blurring. What does it do?
Open questions
When you enter free camera mode, the camera immediately starts to travel away from the ship. TODO: How do I stop this?
Control bindings
Camera Suite
- Toggle Camera Suite (both ship and SRV) = Right Ctrl + Right Alt (default = Left Ctrl + Left Alt + Space)
- Previous/next Camera = Num + / Num - (default = none)
- Enter Free Camera = Joystick toggle button 1 down (T2) (default = T5)
- Camera Cockpit Front / Back = Num 1 / Num 2 (same as default)
- Camera CMDR 1 / 2 = Num 3 / Num 4 (same as default)
- Camera Co-Pilot 1 / 2 = Num 5 / Num 6 (default = none / Num 6)
- Camera Front / Back / Low = Num 7 / Num 8 / Num 9 (same as default)
Free Camera
- Toggle HUD = H (default = none)
- Exit Free Camera = Joystick toggle button 2 down (T4)
- Forward axis = Throttle inverted (same as default)
- Forward only throttle reverse = Throttle button "D" (same as default)
- Move forward / backward = none (same as default)
- These are really not required because the standard throttle controls are used for forward and backward movement. Forward = throttle axis, button "D" reverses to make movement backward
- Lateral axis = None (default = Joystick yaw axis inverted)
- Lateral means the same as "strafing" in a first-person shooter
- The default control is set up very weirdly: Because the yaw axis is inverted, yaw left/right performs a lateral movement to the right/left, so exactly in the opposite direction from what I am expecting
- Move left / right = Throttle hat switch left / right (default = none)
- Move up / down = Throttle hat switch up / down (same as default)
- Pitch axis = Joystick pitch axis inverted (same as default)
- Yaw axis = Joystick yaw axis (default = Joystick roll axis inverted)
- The default control is set up very weirdly: Because the roll axis is inverted, roll left/right performs a yaw movement to the right/left, so exactly in the opposite direction from what I am expecting
- Roll axis = Joystick roll axis (default = ?)
- Roll left / right = none (default = Throttle hat switch left / right)
- Camera / Ship Controls Toggle (aka "Lock to vehicle") = Joystick toggle button 3 down (T6) (same as default)
- Attach / Detach Camera (aka "Lock to world") = Joystick toggle button 3 up (T5) (same as default)
- Zoom / blur toggle = Num / (default = X52Prob16)
- TODO: What is this? In the configuration XML file this setting is named "ToggleAdvanceMode"
- Decrease / increase blur = Hat switch 1 left / right (same as default)
- Increase / decrease zoom/focus = +/- Mouse z-axis, i.e. mouse wheel (default = none)
- Increase / decrease speed = Num +/- (default = none)
- This is used to control the speed with which the camera moves
- Stabiliser On/Off Toggle (aka "Toggle rotation lock") = Num * (default = none)
Store Camera
- Hold to rotate = none (default = ?)
- Pitch axis (nose lift/dive) = Joystick forward/backward (default = ?)
- Yaw axis (look left/right) = Joystick twist left/right (default = ?)
- Store camera zoom in/out = W/S (default = ?)
- Store toggle = Num Enter (default = ?)