vJoy for Microsoft Flight Simulator: Extra Axes and Buttons
Microsoft Flight Simulator — MSFS 2020 and MSFS 2024 — already supports a wide range of yokes, sticks and throttles directly. So why add vJoy? Most readers arrive for one of three reasons: they need extra axes or buttons beyond what a single physical device offers, they want a feeder such as Joystick Gremlin or UCR to reshape or combine controls before the simulator sees them, or they are feeding a specialised input — a DIY panel, a scripted control, or a second device — into the sim as a standard joystick. vJoy supplies that standard virtual device. It is a DirectInput virtual joystick driver, offering up to 8 axes, up to 128 buttons and up to 4 POV hats per device, and a feeder application does the actual mapping work.
Used well, this gives MSFS a clean extra controller you can bind like any other. Used casually, it creates the best-known frustration in this cluster, covered in the limitations section below: every vJoy device carries the same name. Read that section before you create four virtual devices and try to tell them apart in the control settings.
What you need
- vJoy from our download page — start with BrunnerInnovation 2.2.2.0 on Windows 10 or Windows 11. Keep 2.1.9.1 in mind as the fallback if your chosen feeder misbehaves on 2.2.x.
- A feeder: Joystick Gremlin for curves and merging (see our Joystick Gremlin guide), or UCR for remapping (see our UCR (Universal Control Remapper) guide). vJoy alone writes nothing.
- A clear plan for the extra axes or buttons: write down the function, the physical source, the vJoy axis or button it will use, and the MSFS command it will drive.
- Your main yoke or stick bound and working in MSFS first, so you can tell new problems from old ones.
Setup, step by step
- Install vJoy, reboot if prompted, and open Configure vJoy. Create one vJoy device to start, with the number of axes and buttons your plan needs. Resist creating several devices until the first one is bound and tested.
- Start your feeder and map one physical control to one vJoy axis. Open joy.cpl and confirm that moving the physical control moves the virtual axis smoothly across its full range.
- In MSFS, open Options, then Controls Options, and select the vJoy device. Because of the naming limitation described below, select devices carefully and use the search and filter behaviour in the controls screen to confirm you are editing the intended one.
- Bind the new axis or button to a single simulator function. For an axis, check sensitivity and dead zones in MSFS after binding, and avoid stacking a strong Gremlin curve under a strong MSFS curve on the same control.
- Fly a short test in a simple aircraft. Confirm the new control does only what you intended, across the full travel, with no interference with your yoke, throttle or pedals.
- Only now add the next axis or button, one at a time. If you need a second vJoy device, create it after the first is documented, and label your notes with how you will tell the devices apart — differing axis and button counts are the practical workaround summarised below.
- Save your MSFS control profile under a name that mentions vJoy, and back up your feeder profile with it. A simulator update is much less stressful when both halves of the setup can be restored together.
Binding tips
Keep virtual and physical roles separate. If Gremlin is reshaping a physical throttle quadrant and passing it through vJoy, bind the vJoy result in MSFS and clear the direct binding for that same physical axis, or the simulator will read both. Name profiles plainly, test after every change, and photograph or export working settings before experimenting. For buttons, map the functions you touch in flight — radios, lights, autopilot controls — before filling a device with rarely used commands you will not remember.
The limitation: every device is named “vJoy Device”
In MSFS 2024, the documented pain point is that all vJoy devices are named “vJoy Device” in the simulator. That limitation is discussed on the official forum and is the reason multi-device vJoy setups can become confusing in the controls screen. The practical workaround summary is to make devices distinguishable by configuration — for example by giving them differing axis and button counts — and to use HidHide where a physical device also needs to be kept out of the simulator’s list. Our dedicated troubleshooting post, vJoy devices all named “vJoy Device” in MSFS, walks through that problem in full. Read it before building a three-device panel setup.
One more planning habit pays off in MSFS more than in most simulators: keep a short change log for the virtual setup. Note the date, the feeder profile name, which vJoy axes you bound, and what you changed in the simulator sensitivity screens. MSFS updates arrive regularly, and community aircraft add their own control expectations. When something feels different after an update, the log tells you whether the change came from the simulator, an aircraft, or your own last edit. Without it, every update becomes a guessing game across three layers of settings, and pilots often end up rebuilding a setup that only needed one binding restored.
Hardware and game links for this setup
For a yoke-led cockpit, readers compare the VelocityOne via Amazon — check current price. If you still need the simulator or an edition upgrade, check game keys at Loaded — check price and Green Man Gaming — check price before buying.
Affiliate links — we may earn a commission at no cost to you. See our affiliate disclosure.
Continue with the vJoy setup guides by game hub, the Joystick Gremlin guide for curve shaping, and our vJoy for DCS World setup if you fly both simulators with the same hardware.
