Combining multiple joysticks into one joystick

Image © Stanley Skarshaug

Image © Stanley Skarshaug

Using joysticks and button boxes for simulation-type games gives a new level of immersion. In my opinion, the possibility of using multiple joysticks and button boxes in games is some of the key benefits of PC gaming.

Unfortunately, not all games support multiple controllers, and other games that do support multiple joysticks can have a limitation on the number of analog axes and buttons a single controller can have. In this article, I will show how to combine multiple joysticks, like a HOTAS (Hands-On Stick And Throttle), or HOSAS (Hands-On Stick And Stick aka. Dual Stick) into a single joystick, so you can use your gear on the pickiest games.


The consepts

Warning: this is not hard, but it's a bit complex.

First, we need to create a virtual joystick that can accept input from other software. For this, we will use vJoy.

Secondly, we will need software to map input coming from the physical joysticks to the virtual joystick. For this, we will use Joystick Gremlin.

Third, we will need software to hide the physical joysticks from the games, so that it only sees the virtual joystick. For this, we use HIDhide.

If you have used software like Thrustmaster T.A.R.G.E.T, this will achieve a similar result, except this solution is completely hardware agnostic. In other words, you can mix and match all your equipment from any vendor/brand.


Virtual Joystick

vJoy is a piece of software that can accept joystick input from any other software, and make it appear to the computer like a normal joystick. vJoy does not provide any joystick input modification on its own and is dependent on other software to provide the input it will then virtualize.

vJoy can be downloaded from Sourceforge. Download and install it before proceeding with this guide.

Once installed, create a single vJoy with 128 buttons, 4 hats, and all axis.

Not all games support 128 buttons. In fact, many only support 32 buttons. If you have a vJoy with more buttons than the game support, it will not crash, but only the 32 buttons will register in-game.

Once the vJoy is activated it will work with Windows 10 and later without having to reboot the computer.

Joystick Gremlin

Map input from joysticks to anything else.

Joystick Gremlin is the middleman you need between the physical joystick and vJoy. With Joystick Gremlin you can mix and match the axis and buttons of one or multiple joysticks to one or multiple virtual joysticks.

This is wonderful if you need to make any modifications to your joystick input. Examples can be inverting the analog axis or adding an input curve to your axis. Invert buttons, and remap buttons so to make it more intuitive and better to use in-game.

Joystick gremlin is similar to Thrustmaster T.A.R.G.E.T, but unlike it, it can be used with any joystick from any vendor/brand. This makes it highly versatile. In addition, I would argue it is a lot more intuitive and easier to use.

Joystick Gremlin can be downloaded from the official website. Download and install it before proceeding with this guide.

Once installed you can map the physical axis and buttons to your vJoy device. Save the profile, and click on the run button to make it run.

HID Hide

Hide physical joysticks from your game

HID Hide is the final piece of the puzzle. With Joystick Gremlin and vJoy, the game will see both the physical and virtual joystick inputs.

This will cause issues when trying to map the buttons with button presses or axis movements because the game will register input from both simultaneously. In addition, the benefit of combining multiple joysticks into one will not be achieved.

With HID Hide you select what programs are able to "see" the physical (and virtual) device, and to all other software, it will be hidden. This is genius because you can use software like Virpils "VPC Configuration Tool" and VGKs "VKBDevCfg-C" and Thrustmaster T.A.R.G.E.T. to make firmware updates and configuration while still having the joysticks hidden from the rest of the computer.

HidHide can be downloaded from the project's GitHub page. Download and install it before proceeding with this guide.

On the "Application" tab, you must add all software that needs access to the devices. This includes vJoy, Joystick Gremlin, and other vendor/brand-specific configuration software.

On the "Device" tab you select what device to hide from the applications not added on the "Application" tab. If you want to combine two or more devices into a vJoy device, you must hide all devices except the vJoy device.

If you have multiple vJoy devices, these will be listed in the correct order. In other words, "vJoy 2" will be listed below "vJoy 1", but both will be named vJoy in the list.