- Install the Xbox 360 controller drivers
- Test the ACE Edge
- Get USB the VID/PID
- Add VID/PID to DeviceMappings.xml
- Create a new Custom Control Profile
Install the Xbox 360 controller drivers
Download the Xbox 360 controller drivers from Microsoft then install. A reboot may be necessary.
Test the ACE Edge
Run joy.cpl -> Properties -> Test. Move the stick and press all the buttons to test that you are getting inputs. The Throttle two knobs on the throttle are dummies. The button above LB is also false. M1/M2/M3 mode switches are not recognized by joy.cpl. Same with the Xbox button on the Stick body.
X Axis/Y Axis - Joystick pitch/roll Z Axis - Throttle forward back + paddle left and right! Throttle is Xbox right trigger Paddle is Xbox left trigger Y Rotation - R-stick (up/down) X Rotation - R-stick (left right)
Point of View Hat - D-Pad (desc-positions, right thumb) Button 1 - A Button (fire trigger) Button 6 - Right Bumper (pinkie switch) Button 2 - B Button (Red) Button 3 - X Button (Blue) Button 4 - Y Button (Yellow) Button 8 - Start Button (Forward right index finger)
Button 5 - LB [Left Bumper] Button 7 - Back Button 9 - Left Stick Button (Left Index finger / LS Press)
Get USB the VID/PID
We need to register the Vendor ID and Product ID of the Ace-Edge with ED. Run Control Panel -> Device Manager -> Microsoft Common Controller for Windows -> Xbox 360 Controller for Windows -> Details -> Property: Hardware IDs
It should return the above if you only have the Ace-Edge hooked up as a gamepad.
Add VID/PID to DeviceMappings.xml
Find your existing Custom*.binds and make backups in C:\Users\your user id\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings. ED currently comes in 32-bit (1.5), 64-bit (1.5) and 64-bit-only Horizons (2.02). There appears to be multiple directories where DeviceMappings.xml can be modified. But you only need to change the one you intend to play.
(Elite Dangerous Ships 1.5 and Horizons 2.02)
(Elite Dangerous Ships 1.5)
Inside either of those is a ControlSchemes directory. Make a backup of DeviceMappings.xml. Modify DeviceMappings.xml then add the PID and VID to the Gamepad area. I put mine in the end of that section right before the Gamepad tag for the XB1 controller.
<!-- ACE Edge --> <alternative><pid>0F0D</pid><vid>000E</vid></alternative>
Don't forget to save! If you want a sample here is the posted code.
Create a new Custom Control Profile
Start Elite Dangerous. If you did the above right, the joystick D-pad should let you navigate the menu. The Trigger button (A) will work as select. From here you can go to Options -> Controls -> Xbox 360 Controller. From here you can start customizing as you desire.
I discovered that the Paddle didn't work well as yaw or thruster. When I tried to map it to Left/Right Thruster Axis it turned into a permanent right thrust/turn. Instead I treat it as a modifier button in combination with D-pad to provide left/right thrust. That's too bad since this was used as yaw in the AC6 game. By default the yaw is mapped to the R-Stick x axis.
The Throttle D-pad is supposed to mirror the Joystick D-pad but it wasn't reliable to trigger on my stick so I left it alone. The calibration on my throttle was also a bit suspect when running in full range. If I need a reverse switch I can use the index finger button on the throttle. Also the Joystick Start button couldn't be mapped to the game. It appears to be hard coded as an escape key.
I made an AceEdge.binds which can be used as a starting point. Just copy it to the ControlSchemes folder. Update: Found a thread on this in Frontier forums on Ace Edge Z-Rotation does not work.