Controllers and retro sims part 6: vJoy & Joystick Gremlin
- DarkenedRoom

- Nov 3
- 7 min read

A discussion on the use of vJoy and Joystick Gremlin as an alternative to vendor profiling software or native controller support within sims. This article is probably long overdue after the previous five instalments.
An overview
It's useful to take a overview and see where vJoy & Joystick Gremlin fits into controller handling, as the following diagram shows:

Physical devices
The actual physical device sitting on your desk that you'll control. These can be multiple devices like a Warthog joystick, Warthog throttle and rudder pedals each connecting to your PC with it's own USB cable.
Earlier HOTAS devices were single devices like the Saitek X-52 HOTAS with the throttle connecting to the joystick and a single USB cable running from the joystick to the PC.
Windows devices
These devices are how Windows sees your physical devices. Depending on the device(s) it may see them as a single device (Saitek X-52) or as multiple devices (Warthog joystick and throttle).
Joystick Gremlin
Joystick Gremlin is the application which listens for data from your Windows devices (caused by moving the physical device or pressing a device button), modifies it (if configured to do so) and sends it to the vJoy virtual joystick/controller.
Joystick Gremlin allows profiles to be created allowing you to customise the axes shape or button assignments for a particular app, sim or game.
vJoy
vJoy is the application which creates and configures one or more virtual joystick/controller devices. These virtual devices take data from Joystick Gremlin and send it to your app/sim/game.
vJoy devices can be configured with different axes, buttons or hats and can be configured as force-feedback devices if supported by the physical device.
Application/sim/game or emulator
The final stage is the app/sim/game you want to control with your physical device! You may have to configure the game to use the vJoy device as you would any other controller. If the app is DOSBox or an emulator (PCem, 86Box), it may do it's own joystick input handling before passing it to the game!
Without vJoy/Joystick Gremlin games would receive data direct from the Windows device (configured in-game).
vJoy

vJoy is essentially a virtual joystick/controller which can take its inputs from another application. vJoy was originally designed to provide an open-source replacement for PPJoy. The original vJoy project has been taken up by several maintainers over the years, to add support for Win10, add/improve force-feedback capabilities and the current version has effectively been somewhat sponsored by a commercial interest to get Win10/11 driver signing approved.
Where can you find it?
The current version can be found on the BrunnerInnovation/vJoy GitHub repository in the Releases section. This should be an installer executable you can run to install on Win10/11. vJoy should be installed before Joystick Gremlin.
Usage
These aren't detailed instructions and there are far better tutorials to consult. But an important point to note: The vJoy virtual device is the device communicating with the game, so you'll want to configure the vJoy device accordingly.
If the game only supports 3 axes and 1 hat, then you'll want to configure a vJoy device with 3 axes and 1 hat (buttons are less important so you can configure it with many (e.g. 32) buttons).
Tutorials will normally show a virtuals device with all axes and 4 hats selected (which is fine for a general purpose tutorial) however some sims may try to auto-assign axes and make a mess of it if there are additional axes and hats.
For sims with better controller support you can create a virtual controller with all axes/hats/lots of buttons and assign them in-game as required.
You can configure up to 16 virtual devices with vJoy so more than enough given the number of axes/hats won't change that much between games.
Joystick Gremlin
Taken from the manual (as it'll be more accurate than I am!):
Joystick Gremlin is a program that allows the configuration of joystick like devices, similar to what CH Control Manager and Thrustmaster's T.A.R.G.E.T. do for their respectively supported joysticks. However, Joystick Gremlin works with any device be it from different manufacturers or custom devices that appear as a joystick to Windows. Joystick Gremlin uses the virtual joysticks provided by vJoy to map physical to virtual inputs and apply various other transformations such as response curves to analogue axes.
Effectively Joystick Gremlin is a vendor independent HOTAS profiling app!
Where can you find it?
Joystick Gremlin should be obtained from the website. vJoy should be installed before Joystick Gremlin.
Usage
There is a manual which explains in detail how to get started with Joystick Gremlin. Essentially Joystick Gremlin allows the creation of HOTAS profiles mapping from Physical/Windows devices to the vJoy virtual device, so for example:
Map the Warthog joystick x-axis to the vJoy x-axis.
Map the X-52 throttle z-axis to vJoy z-axis.
Map the TFRP pedals z-axis to the vJoy z-rotation axis.
Map the Warthog joystick button 1 to vJoy button 1.
Map the Warthog joystick button 5 to keypress 'G'.
Now, it would be sort of strange to use an Saitek X-52 throttle with a Warthog joystick but it gives you an idea of the flexibility available!
A brief example
In the below gallery shows a vJoy configuration, Joystick Gremlin configuration pages and finally vJoy use within MiG Alley.
Even though we don't hide the physical/Windows devices (so vJoy is essentially an extra device), this is not a problem for MiG Alley as you can choose the controllers to use or ignore. In this example the vJoy device is used and all other physical/Windows HOTAS devices are ignored.
A note on HidGuardian/HidHide
If you explore Joystick Gremlin you may see references to HidGuardian. HidGuardian is windows device firewall. It effectively hides devices from applications! This may be useful if the game you wish to control tries to auto-detect your devices.
The game may find your vJoy virtual device and the Windows device. This may result in the 'double-input' issue where pressing a joystick button results in the game receiving a button press from both the vJoy and Windows device!
HidGuardian allows you to hide the Windows devices from your game, so only the vJoy device is visible.
Although JG has built in support for HidGuardian, it's no longer recommended having been superseded by HidHide, which adds support for Win10/11, more features and has a friendlier interface. HidHide is available from DualShock4Windows, HidHide and there is some useful background info and installation instructions.
To be honest I'm 'on the fence' when it comes to HidHide, my initial attempts at using it were successful, but didn't seem to have much effect with the sims I was testing with at the time. Since returning to vJ/JG I haven't really had the need to try it again, as I prefer to use TM TARGET when I need to hide or disable HOTAS devices.
However this is a later version of HidHide than I tested with, so you may have a different experience with it, depending on the sim. So your vJoy/Joystick Gremlin combo may become a vJoy/Joystick Gremlin/HidHide combo!
Tutorial
Here's a useful YouTube Joystick Gremlin - Quick Start Guide, covering vJoy, Joystick Gremlin and HidHide. Credit and thanks to RedLir Live.
Setting a preferred device
As some sims may try to auto-detect and assign controllers, they may be more successful if you set a preferred device in the joystick control panel (run joy.cpl from the Start menu).
In the advanced properties select the vJoy device. Although not guaranteed to work (it depends on how the sim was developed), the auto-detecting/auto-assigning sim may use the preferred vJoy device instead of any others.
Remember to switch back if you swap between vJoy and other devices. The joystick control panel dialog boxes are shown below:
When to use vJoy & Joystick Gremlin
There are no hard and fast rules as to when you should vJoy/Joystick Gremlin and your decision may be based on what 'feels' subjectively best to you or the method you're most comfortable with. Instead, here are some points to consider in deciding whether or not to use vJ/JG.
There is a choice of three approaches, although not all hardware setups or sims may support all three:
Native controller support (in-game support).
Vendor profiling software.
vJoy/Joystick Gremlin (vJ/JG).
Higher end applications or sims may have comprehensive native controller support, e.g. DCS, Falcon BMS or Oolite.
Some sims may have good controller support but lack features (mode and/or axis shaping), so vJ/JG may provide a solution to enable these features.
MiG Alley has good native support but limited button assignment (for multiple devices) so vJ/JG is a good solution in this case (and it seems to hate TM TARGET).
Earlier sims may have limited controller support, lack features (mode or axis shaping) or may try to auto-assign controllers/axes, so you may wish to use vendor software or vJ/JG.
Those with a multi-vendor setup (WInWing joystick, TM Throttle, CH pedals) may not be able to use vendor software to create a single virtual controller. Native support or vJ/JG may provide the solution.
Vendor software and/or sim native controller support may lack features you wish to use (mode or axis shaping), vJ/JG may be the only solution.
vJ/JG supports 8 axes, this should be sufficient for nearly every sim, I'm struggling to think of one that would make use of more axes. Falcon BMS may use more, if you include split throttle, MFD mouse control (on throttle) and left/right toe brakes but in that case you would normally use Falcon BMS native controller support.
Some sims that assign controller/axes 'auto-magically' may be tricky to configure. Vendor software or vJ/JG allows the creation of a virtual controller with only the axes/hats/buttons expected by the sim.
vJ/JG may be more susceptible to the 'double-input' issue. Vendor software is effective at disabling vendor hardware when creating a virtual controller. Combining vJ/JG with HidHide may provide a solution to this issue.
Where more than one approach can supply all the needed features, it may come down to what subjectively 'feels' best for you when flying. Don't be afraid to try vJ/JG, any setup can be quickly and easily reversed.
In summary, vJoy/Joystick Gremlin can be easily setup with a little practice. Is fairly easy to configure for a basic axes/hat/button setup (which is a good starting point) and can enhance sim control by provide mode or axis shaping features which may not be natively supported by the sim.
For any sim enthusiast vJoy/Joystick Gremlin is worth investigating!
Finally...
A huge thank you to all the developers and maintainers of vJoy, Joystick Gremlin, HidGuardian and HidHide, your hard work is appreciated!



















Comments