Vjoy 2.18 |verified| May 2026
Understanding vJoy 2.18: The Essential Virtual Joystick Driver
In the world of PC gaming and simulation, hardware compatibility can often be a hurdle. Whether you are trying to use an old console controller, a DIY button box, or complex flight simulation gear, you frequently need a bridge between your physical device and the game’s input system. This is where vJoy 2.18 comes in.
As one of the most stable and widely used versions of the software, vJoy 2.18 serves as a "virtual" device driver that tricks your operating system into thinking a standard joystick is plugged in, even when it isn't. What is vJoy 2.18?
vJoy is an open-source implementation of a DirectInput virtual device. Unlike a physical joystick that plugs into a USB port, vJoy exists entirely in software.
Version 2.1.8 is particularly significant because it solidified support for Windows 10 and improved the "Feeder" mechanism—the way external programs send data to the virtual joystick. It allows developers and power users to take input from any source (keyboard, mouse, Wii remotes, or even eye-trackers) and translate those movements into joystick axes and button presses. Key Features of vJoy 2.18
Massive Input Capacity: Supports up to 16 virtual devices, each with up to 32 buttons and 8 axes.
Force Feedback (FFB): Version 2.18 includes robust support for FFB, allowing for a more immersive experience in racing and flight sims.
Configurability: Through the "Configure vJoy" utility, users can enable or disable specific axes (X, Y, Z, Rx, Ry, Rz, etc.) to match the requirements of a specific game.
Signed Drivers: vJoy 2.18 features digitally signed drivers, which is crucial for modern Windows security (avoiding the need to run in "Test Mode"). Common Use Cases 1. Using Non-Standard Controllers vjoy 2.18
If you want to use a Nintendo GameCube controller or an older MIDI device to play Elite Dangerous or Star Citizen, vJoy acts as the translator. You use a "feeder" application (like UCR or Joystick Gremlin) to map your device to vJoy 2.18. 2. Controller Merging
Some older games only recognize a single input device. If you have a separate throttle, stick, and pedals, you can use vJoy to merge them into one "Virtual Device" so the game sees them as a single controller. 3. Mouse-to-Joystick Conversion
For players who prefer (or require) playing flight simulators with a mouse, vJoy 2.18 allows the mouse coordinates to be mapped to the X and Y axes of a virtual joystick, providing smoother control than raw keyboard input. How to Install and Configure vJoy 2.18 Installation
Download: Ensure you download the vJoy 2.1.8 executable from a reputable source like GitHub (jshafer88 or Shaul's original repository).
Run as Admin: Right-click the installer and run it as an administrator.
Security Prompt: Windows may ask if you trust the driver software from "Shaul Eizikovich." Select Install to proceed. Configuration Once installed, search your Start menu for Configure vJoy. Select "Device 1." Check the boxes for the axes you need. Set the number of buttons. Click Apply.
If successful, you will see a "vJoy Device" appear in your Windows Game Controllers (joy.cpl) menu. Troubleshooting Tips
"vJoy Driver is not installed" Error: This often happens if the driver wasn't properly signed or if another driver is conflicting. Try a clean reinstall and reboot. Understanding vJoy 2
Device Not Detected: Ensure the "Enable vJoy" checkbox is ticked in the configuration utility.
Windows 11 Compatibility: While 2.18 was designed for Windows 10, it generally works on Windows 11. However, ensure your "Core Isolation" settings aren't blocking the driver. The Verdict
vJoy 2.18 remains the gold standard for virtual input. While there are newer forks and experimental versions, 2.18 offers the best balance of compatibility and features for the average gamer. It is an essential tool for anyone looking to push the boundaries of their gaming setup.
Introduction
vJoy is a free, open-source software that allows users to create virtual joystick devices on their computers. The software has been around since 2008 and has been widely used by gamers, simulation enthusiasts, and developers. The latest version, vJoy 2.18, was released in 2022, and it comes with several improvements and new features.
What is vJoy?
vJoy is a device driver that creates a virtual joystick device on a computer. The software allows users to create multiple virtual joysticks, each with its own set of axes, buttons, and POV (point of view) hats. These virtual joysticks can be used by games and simulations that support joystick input.
Key Features of vJoy 2.18
- Multi-axis support: vJoy 2.18 supports up to 16 axes per device, allowing for precise control in games and simulations.
- Button and POV support: The software supports up to 128 buttons and 4 POV hats per device.
- Multiple device support: Users can create up to 16 virtual joystick devices, each with its own configuration.
- Configurable axes and buttons: The software allows users to configure the axes and buttons to suit their needs.
- XInput and DirectInput support: vJoy 2.18 supports both XInput and DirectInput, making it compatible with a wide range of games and simulations.
- Improved performance: The software has been optimized for better performance and lower latency.
Use Cases
- Gaming: vJoy 2.18 is useful for gamers who want to use a joystick or other controller with games that don't natively support their device.
- Simulation: The software is widely used in simulation environments, such as flight simulators, where users need precise control over their virtual aircraft.
- Development: Developers can use vJoy 2.18 to test and develop games and simulations that require joystick input.
How to Use vJoy 2.18
Using vJoy 2.18 is relatively straightforward:
- Download and install: Download the software from the official website and follow the installation instructions.
- Configure the device: Launch the vJoy configuration utility and create a new virtual joystick device.
- Configure axes and buttons: Configure the axes and buttons to suit your needs.
- Launch the game or simulation: Launch the game or simulation and select the vJoy device as the input device.
Conclusion
vJoy 2.18 is a powerful tool that enables users to create virtual joystick devices on their computers. With its multi-axis support, button and POV support, and configurable axes and buttons, the software is widely used in gaming, simulation, and development environments. The improved performance and lower latency in vJoy 2.18 make it an excellent choice for users who require precise control over their virtual devices.
Troubleshooting checklist
- If the device doesn't appear: run Device Manager → Show hidden devices → check "vJoy Device" under Human Interface Devices.
- Permission errors: reinstall as Administrator and ensure driver signing options allow the driver.
- Conflicts with other virtual drivers: temporarily remove other virtual controllers and test.
- Mapping tools show no input: verify vJoy is enabled in the mapper and the correct vJoy device ID is selected.
- Calibration issues: use Windows Game Controllers → Properties → Calibrate.
5. Use Cases & Integration Examples
- Flight Simulators – Feed telemetry from external MFDs or Android tablets into X-Plane/MSFS.
- Racing Sim Pedals – Combine separate USB pedals into one virtual joystick for older sims.
- Disabled Gamers – Map head tracking, eye tracking, or sip/puff switches to joystick axes.
- Automation / Testing – Automate UI tests for games or control software using Python to drive vJoy.
- Stream Deck Integration – Convert button presses into joystick inputs for games without keyboard rebinding.
Python Code Snippet (Send data to vJoy):
import vjoy
j = vjoy.VJoyDevice(1)
j.set_axis(vjoy.HID_USAGE_X, 16384) # 25% of range
j.set_button(1, 1) # Press button 1
Issue: Blue Screen of Death (BSOD) on Windows 11
Fix: This is rare with 2.18. Update your chipset drivers. If persistent, uninstall vJoy, reboot, reinstall in Safe Mode.
6. Alternatives to vJoy 2.18 (For Modern Systems)
If you encounter compatibility issues on Windows 11 or require more features, consider: Multi-axis support : vJoy 2
- vJoyFeeder – Fork with better Win11 driver signing.
- Joystick Gremlin (with vJoy backend) – Advanced remapping and macros.
- x360ce – Emulates Xbox 360 controller (easier for modern games).
- reWASD (commercial) – Virtual controller with UI and key mapping.
4. API Overview
vJoy 2.18 provides a C/C++ API. Key functions:
| Function | Purpose |
|----------|---------|
| vJoyEnabled() | Checks if driver is installed |
| GetVJDStatus(uint32_t device) | Returns status (free, owned, busy) |
| AcquireVJD(uint32_t device) | Locks device for exclusive use |
| RelinquishVJD(uint32_t device) | Releases device |
| SetAxis(long value, uint32_t device, uint32_t axis) | Sets axis value (0–32767) |
| SetBtn(bool state, uint32_t device, uint32_t button) | Sets button press/release |
| SetContPov(uint32_t value, uint32_t device, uint32_t pov) | Sets POV hat angle |
2. Technical Assessment (Performance)
- Driver Stability: Excellent. vJoy 2.18 is notoriously stable. Unlike some newer experimental builds, 2.18 rarely suffers from memory leaks or driver crashes under heavy load. It handles high-frequency polling (updates per second) effectively, which is crucial for high-end flight simulation.
- Latency: Low. Input lag is minimal to imperceptible when using a competent feeder application (such as Joystick Gremlin or FreePIE).
- Configuration: The "Configure vJoy" utility is robust in this version. It allows users to easily toggle the number of buttons (up to 128), axes (8 axes), and POV hats. The interface is utilitarian but functional.
5. Known Issues & Troubleshooting
- Installation Failure: The most common "bad report" regarding v2.18 involves failed installations on modern Windows versions. This is usually due to:
- Previous versions not being fully uninstalled (registry keys left behind).
- Secure Boot/Driver Signature settings blocking the unsigned driver.
- HID Guardian: vJoy 2.18 often requires separate configuration of "HID Guardian" if the user wants to hide the physical controller to prevent "ghost" inputs. Newer implementations handle this more gracefully.



