INTRO: It took me way too long to get this finally working properly, so hopefully this will save some of you some pain. This will work for single joysticks (i.e., throttle + twist included), but should work for other types with a few tweaks. I'm using it with my 20+ year-old Microsoft Sidewinder Precision 2 to be able to fly with FA OFF with precision, since I found ED to be extremely sensitive and I could never get the ship stabilized on all axes.
– vJoy Device Driver (
– Joystick Gremlin (
– HidHide (
SOFTWARE INSTALLATION & CONFIGURATION:
– Install vJoy following the instructions on screen. You'll need to reboot after it's done.
– Run "Configure vJoy" from your start menu.
– I only have one joystick connected, so this part might be different for you: Select the tab for your device (if you have one joystick, that would be tab 1) and specify your joystick's configuration by…
— Selecting the axes: For example, in my joystick left-right is X, up-down is Y and twist is Rz (R = Rotation). You should have a general idea of what's what by entering your joystick's config from the Start menu ("Set up USB game controllers").
— Number of buttons: Should be self-explanatory.
— POV Hat Switch: Always select "Continuous" (required by Joystick Gremlin) and choose the number of HAT switches on your joystick from the list.
— Make sure "Enable vJoy" at the bottom left is checked.
— Don't forget to click "Apply."
– Install Joystick Gremlin by following the instructions on screen. You will need to reboot once it's done.
– Run Joystick Gremlin.
– Select your joystick from the tabs.
– From the menu above, select "Actions -> Create 1:1 mapping." This will map each input from your REAL joystick to the VIRTUAL joystick, so when, for example, you move your stick, that movement will be mimicked by the virtual joystick.
– Now it's time to set up the curves. Select the vJoy Device from the tab (if you only configured one virtual joystick, it will show as "vJoy Device #1).
– We'll set up a curve for the X axis as an example, but you can do the exact same thing for any axis (if you think you know how to do this, safely skip to the next bold item):
— Click on the X axis.
— On the right panel, "Response Curve" should already be selected in the drop-down (otherwise, select it). Click "Add."
— There is your curve. The bottom-left quadrant is your "normal" left motion, while the upper-right quadrant is your "normal" right motion. The green line is the current sensitivity curve (right now it's a straight line). If, for example, you set up the green line on the left side to pass through the top-left quadrant instead of the bottom one, the joystick will actually output a rightward movement when you move your stick to the left!
— Let's set up a curve that has low sensitivity close to the center, but becomes highly sensitive the further away the stick moves from it:
— Set "Curve Type" to "Cubic Bezier Spline" on the top-left of the panel.
— Check "Diagonal Symmetry" on the top-right.
— Drag the little square (the one that's close to the bottom-left corner of the green line) straight up until it touches the horizontal line that runs across the middle of the square (the X axis).
— You are done, there's your curve.
— You might also want to adjust the Deadzone for this axis, at the bottom of the grey square in the right panel. The center of those sliders is the "centered" position, so you can adjust the blue markers to individually set up a deadzone for the left and the right stick movement.
— Do the same for the other axes as desired.
SAVE AND ACTIVATE THE VIRTUAL JOYSTICK SETUP:
– In the menu at the top, select "File -> Save Profile" and save the profile you just set up at a location of your choosing.
– Now click on the gamepad-looking icon on the top-left to activate the virtual joystick output. It will turn green. NOTE: For me it throws an error when I click it sometimes, but everything works just fine afterwards.
SETTING UP ELITE DANGEROUS TO USE THE vJOY VIRTUAL JOYSTICK OUTPUT:
– Run ED.
– Go to the control you want to set up (e.g., flight controls / yaw).
– Now alt-tab to Joystick Gremlin.
– From the top menu, select "Tools -> Input Repeater".
– Alt-tab back to ED.
– DON'T TRY TO BIND ANYTHING YET! Simply move ONCE the joystick axis you will want to bind next and release it. For example, move the joystick to the left ONCE and release it.
– Now click on the control you want to bind as you normally would in ED. That control should now immediately set itself up without any input required from your joystick.
– REPEAT THE LAST 2 STEPS FOR EACH CONTROL YOU WANT TO BIND.
NOTE, IN CASE YOU WANT TO KNOW WHAT THIS "INPUT REPEATER" THING IS ALL ABOUT: You need to do things this way so that ED detects your VIRTUAL joystick (the one with the curves) instead of your REAL one. When you try to bind a joystick axis to ED, ED will try to detect the first motion it receives from your joystick. This means that if you move your joystick when trying to bind an axis, ED might detect your REAL joystick input (the one without the curves applied) rather than your VIRTUAL joystick input (which has the curves applied). What "Input Repeater" does is flood ED with a VIRTUAL version of the LAST input it received from your joystick, so when e.g. you move your joystick to the left once, it will continue sending a "virtual left" movement all the time without you moving the REAL stick, so if you then attempt to bind a control in ED, ED will get a VIRTUAL stick movement (which is being repeated automatically), but not a REAL stick movement, since your REAL stick will be centered.
– Once you are done binding everything, don't forget to Alt-Tab back to Joystick Gremlin and disable INPUT REPEATER by once again selecting "Tools -> Input Repeater" from the top menu.
REMEMBER THAT FROM NOW ON, YOU WILL NEED TO KEEP JOYSTICK GREMLIN RUNNING AND ACTIVATE THE PROFILE (by clicking on the gamepad-looking icon on the top-left) OR YOUR BINDINGS IN ED WILL NOT WORK (THE JOYSTICK WILL DO NOTHING).
AND THAT'S IT! UNLESS…
… the curves are not working – ED is responding to inputs from your REAL joystick instead of the VIRTUAL one.
– In that case, you can use HidHide (that optional software I mentioned at the beginning) as a last resort to hide your REAL joystick from ED, so that it only responds to the VIRTUAL one. Sorry, I won't go into the specifics of setting it up here.
AND LAST, BUT NOT LEAST, DO ALL OF THE ABOVE AT YOUR OWN RISK. I can't vouch for any of the software above or guarantee that your computer won't explode or become sentient and kill you and your loved ones – all I know is that I've been using it for a while and everything looks fine for me.