Just need the configs? For SC head to TL;DR
A note on the update: If you followed the previous version of this guide, you no longer need HidGuardian! Also Joystick Gremlin no longer needs to run as an administrator.
The Problem We’re Trying to Solve
Using multiple joysticks on Windows can be a huge pain. There is no guarantee of the input device order when your machine reboots or when they’re plugged, even if you follow the same order every time. This is compounded for Star Citizen where you’re asked to remove the USER folder each time there is an update, and the configuration interface has a long way to go before it’s not a pain to use.
In addition to the difficulties that arise with Windows, each game allows for varying levels of controller input configuration that might suite our needs. In Star Citizen’s case, it doesn’t allow binding multiple inputs to the same action, for example, if I wanted to have a Ship Lights toggle on my throttle as well as my joystick.
Luckily, there has been a lot of effort into creating configuration tools that exist outside of games to fine tune your setup, and setup configurations that might not even be possible within the game itself.
The goal of this guide is to help you get some base configurations and tools installed, and give you enough understanding of the components to tweak and build your own configurations. I’ll be supplying my configurations as a quick starting off point though.
- Left Joystick (T16K or VKB Gladiator K LH)
- Right Joystick (T16K or VKB Gladiator K RH)
In Star Citizen, I like to use a HOTAS (Hand On Stick And Throttle) setup while cruising, and a HOSAS (Hand On Stick and Stick) while dogfighting, or when I need more fine control over my movements.
One of the first issues we run into with a configuration like this is that Star Citizen doesn’t allow you to bind multiple inputs to the same action. For example, I want to be able to strafe forward/back/left/right using the left joystick as well as the mini-stick on the front of the throttle. By setting up everything outside of the game, we can create configurations like this quite easily.
To get started, we need to install a few tools and drivers. We’ll only need to do these steps once. We’ll be using three tools for our setup.
- Joystick Gremlin
vJoy is a virtual joystick device for windows that is going to allow the inputs from all of our separate physical devices to be mapped to a single virtual device. This makes the configuration in-game much easier and consistent since we don’t have to worry about our device IDs on windows changing every time we reconnect them.
Just because we’re mapping the inputs from our physical devices to vJoy doesn’t mean that games don’t stop seeing the original inputs too. This means that you’ll have a difficult time guaranteeing that you can get the game to only use the vJoy inputs, rather than the device inputs. To solve that issue, we’re going to use a tool called HidHide which acts as a sort of firewall, only allowing configured applications to see specific devices.
Installing vJoy is a more straight forward matter:
- Install the latest vJoy release. Use the jshafer817 fork if you’re running the latest version of Windows 10
- Run Configure vJoy from the Start menu
- Make sure the Enable vJoy box is checked at the bottom left of the window
- vJoy Device 1
- Ensure all of the Axes boxes are checked
- Set Number of Buttons to 64
- Set POV Hat Switch to Continuous, and select 4 for POVs
- All options in Force Feedback should be unchecked
- Click Apply
Note: While you can definitely setup multiple vJoy devices, you could run into the same problem of your game not correctly ordering them. So make sure you configure devreorder to preserve the order of the multiple vJoy devices.
Find the latest release from https://github.com/ViGEm/HidHide/releases and reboot your computer after installation.
Install Joystick Gremlin
Simply download and install the latest MSI version from: https://whitemagic.github.io/JoystickGremlin/download/
Now that Joystick Gremlin is installed, we need to configure HidHide to allow JG to see the devices, and hide them from
everything else. To do this launch the
HidHide Configuration Client from the start menu.
- On the
Applicationstab, click the
+button and browse to the
Joystick Gremlinexe (by default this is
C:\Program Files (x86)\H2ik\Joystick Gremlin\joystick_gremlin.exe)
- On the
Devicestab, ensure the checkboxes next toy our devices are
checkedand the checkbox for the vJoy devices are
not checked. Also ensure the
Enable device hidingcheckbox at the bottom is
checked. If you ever need to disable hiding, you can simply uncheck this box.
At this point, Joystick Gremlin should have a tab for each of your devices in its main window, as well as a Keyboard, vJoy Device #1 and Settings tabs.
Now the groundwork is all done. We’ll continue the guide in part 2.
Need Help? Have an issue/comment? Feel free to join my Discord: https://discord.gg/CVBMxJq