vJoy
FREE 100% SAFE

vJoy

(59 votes, average: 3.47 out of 5)
3.5 (59 votes)
Updated June 19, 2026
01 — Overview

About vJoy

vJoy is a virtual joystick driver. vJoy installs a controller that the system treats as the real thing, except no physical hardware sits behind it. Games and applications see a standard joystick, complete with axes, buttons, and POV hats, but the position data is fed in by software rather than by your hand on a stick.

That distinction matters, and it trips people up constantly. This is not an emulator that translates a keyboard or mouse into joystick movements on its own. It is the empty vessel. On its own it does nothing. Something has to feed it, which is where the separate feeder application comes in, and where the real power and the real complexity both live.

Why would you want a joystick that has no joystick attached? Because once you have a virtual device the system accepts as genuine, you can pipe almost anything into it. Head trackers, DIY Arduino boards, mouse input, multiple physical controllers merged into one.

If a game only listens to joystick axes, this is how you make it listen to whatever you actually have.

What the driver actually exposes

A single vJoy installation can present multiple independent virtual devices to the system, so you are not limited to one stick. Each device carries a generous set of inputs. You get the standard axes (X, Y, and Z), the rotation axes (Rx, Ry, Rz), plus a slider and a dial, which covers throttles, rudders, and the odd extra control most setups need. Button counts run high, far more than any physical pad offers, and you can assign up to four POV hat switches per device.

Those POV hats can run in two modes. Discrete gives you fixed directional steps, the classic four or eight-way hat. Continuous reports an angle in hundredths of a degree, which matters for anything that needs smooth directional input rather than snapping to compass points.

You pick per device, and you can strip out axes you do not need so the system is not scanning dead inputs.

The three tools that ship with it

After installing vJoy, you get a small cluster of utilities, and learning what each one does saves a lot of confusion. The Configure utility is where you define each virtual device. How many axes are active, how many buttons, how many POV hats and in which mode. Apply a change and you will hear the familiar device-disconnect and device-connect sounds as the system re-registers the controller.

The Feeder is a test bench. It hands you sliders for the active axes and toggles for the buttons, so you can shove values into the virtual device by hand and confirm a game is reading them. It is not meant for actual play. It exists so you can prove the pipeline works before you wire up something more serious.

The Monitor is the diagnostic window. It shows raw input arriving in real time, axis travel and button states lighting up as data comes in. When a third-party feeder is routing data into the device and something is not landing in your game, the Monitor is where you find out whether the problem is upstream or down.

Feeders are where the work happens

On its own, vJoy just sits there. To make it useful you connect a feeder, and there is a whole ecosystem of them. Some read serial data from an Arduino. Some pull orientation from head-tracking software like OpenTrack and convert it into analog axes a flight sim can use. Others merge separate rudder pedals, a throttle, and a stick into one unified controller, which solves a problem flight sim players hit all the time when a game refuses to bind multiple devices at once.

If you write code, you can build your own. The SDK exposes the device through C and C++, C#, VB.NET, and a handful of older languages, so a mouse-to-joystick or keyboard-to-joystick bridge is a realistic weekend project.

You acquire the device, check that the axes and buttons you expect exist, then push state updates as fast as you like. Tools like PPJoy cover similar ground, but the driver here has become the default target that most modern feeders write against.

Who really uses this

Flight and space sim communities lean on it heavily. DCS World, Microsoft Flight Simulator, and Star Citizen players use it to combine a tangle of separate hardware into something a single game profile can handle, or to feed head-tracking data into a cockpit camera. Hardware tinkerers building custom button boxes or RC-style controllers rely on it as the bridge between their wiring and the games that would otherwise ignore it.

If your needs are simpler, say you just want a gamepad to act as a keyboard, this is the wrong tool and overkill besides. Something like JoyToKey or reWASD does that directly without asking you to assemble a feeder pipeline.

vJoy earns its place only when you need a genuine virtual joystick that arbitrary inputs can drive.

The rough edges

Be ready for friction. Because this is a kernel-level driver, installing it can throw a security prompt about an unverified or unsigned publisher, and you have to choose to proceed. That alone scares off a chunk of users, fairly or not.

And the learning curve is steep if you have never dealt with drivers and feeders. vJoy plus a feeder plus the right configuration is three moving parts that all have to agree, and a mistake in any one of them means a game sees nothing.

Documentation exists but assumes a fair bit of technical comfort. This is not click-and-play software, and it does not pretend to be.

Conclusion

vJoy is built for a specific kind of user. Flight and space sim enthusiasts, hardware tinkerers, and developers who need a virtual joystick that arbitrary inputs can drive. Its input ceiling is generous, its tooling is practical, and its SDK opens the door to custom bridges that no off-the-shelf remapper could match.

It asks something in return. You have to understand that the driver is half of a system, accept a security prompt during install, and put in the time to wire up a feeder that actually does the work. For casual remapping, look elsewhere. But for the people who need it, there is no cleaner way to turn anything that produces data into a controller a game will respect.

02 — Verdict

Pros & Cons

The good
  • Presents multiple independent virtual joysticks the system treats as real hardware
  • Generous input ceiling with many axes, a high button count, and up to four POV hats per device
  • Continuous or discrete POV modes give you precise or stepped directional control
  • Bundled Configure, Feeder, and Monitor tools cover setup, testing, and live debugging
  • Open SDK across several languages lets you build custom input bridges
  • The de facto target for head trackers, DIY boards, and device-merging feeders
The not-so-good
  • Useless on its own, you must pair it with a feeder to do anything
  • Kernel driver installation can trigger an unsigned-publisher security warning
  • Steep learning curve with three separate moving parts to configure
  • Overkill for simple gamepad-to-keyboard remapping needs
03 — FAQ

Frequently asked questions

No, and this is the most common misunderstanding. It is a virtual joystick driver, an empty device that a separate feeder application has to drive. It does not translate inputs by itself.

Arduino boards over serial, head-tracking software, mouse and keyboard bridges, and custom programs written against the SDK. Many existing feeders target it directly.

Each device offers the standard and rotation axes plus a slider and dial, a high button count, and up to four POV hat switches that run in continuous or discrete mode.

Yes, with the right feeder. This is a major reason flight sim players use it, combining separate pedals, throttles, and sticks into a single device a game can bind.

It installs a kernel-level driver, which can prompt a warning about an unverified publisher. You choose whether to continue with the installation.

No. The whole point is that the virtual device exists without any hardware behind it, waiting for a feeder to supply its position data.

Specifications

Technical details

Latest version2.1.9.1
File namevJoySetup.exe
MD5 checksum2AB668A12EBDEA3BD8FA1D5A2CA7CB45
File size 10.95 MB
LicenseFree
Supported OSWindows 11 / Windows 10 / Windows 8 / Windows 7
Author Justin Shafer
Alternatives

Similar software

Community

User reviews

guest
1 Comment
Oldest
Newest Most Voted
Michael Bradley
Michael Bradley
4 years ago

I hope to figure out how to map my Eclipse CH Yoke to FH4. The yoke works great in F1 games and MSFS 2020, so why not FH4?