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 night 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.

Our Configuration

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.

My setup consists the Thrustmaster T16000M FCS Flight Pack with an additional Thrustmaster T16000M, as well as two VKB Gladiator Ks giving me:

Throttle

Pedals

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.

Prerequisites

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.

vJoy

Joystick Gremlin

devreorder

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 dinput8 DLL wrapper called devreorder which acts as a sort of firewall, only allowing configured applications to see specific devices, as well as guaranteeing the order of the devices we do want the game to see.

Install vJoy

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

from the Start menu

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.

Setting up devreorder

Note: If devreorder doesn't work with your game, HidGuardian is another option to hide inputs from your game

Download the latest release here (the zip file)

Unzip x64/dinput8.dll to your Star Citizen LIVE\Bin64 folder next to StarCitizen.exe

to your Star Citizen folder next to Unzip devreorder.ini to your Star Citzen LIVE folder (where Data.p4k is)

Configure devreorder

Use the DeviceLister tool in the devreorder release zip to list active joystick devices.

Edit devreorder.ini in our SC LIVE folder, and copy the vJoy Device GUID (including the brackets, e.g. {a3c2c570-0f81-11ea-800a-444553540000} ) to the [visible] section. In my case, I have two vJoy devices I'm playing with, so my config (without comments) will look like this:

[order] {5dfaa060-0f83-11ea-8003-444553540000} {a3c2c570-0f81-11ea-800a-444553540000} [visible] {5dfaa060-0f83-11ea-8003-444553540000} {a3c2c570-0f81-11ea-800a-444553540000}

Note: I'm also using the [order] section since I have two vJoy devices that I want the game to see. This way they will always show up to the game in the same order.

To test that devreorder is working, launch Star Citizen and look at the console ouput (or LIVE\Game.log ) and look for the line Input initialization . If things are working, you should only see your visible devices, like so:

<2020-09-24T17:51:34.892Z> Input initialization <2020-09-24T17:51:35.223Z> - Connected joystick0: vJoy Device {BEAD1234-0000-0000-0000-504944564944} <2020-09-24T17:51:35.318Z> - Connected joystick1: vJoy Device {BEAD1234-0000-0000-0000-504944564944}

Install Joystick Gremlin

Simply download and install the latest MSI version from: https://whitemagic.github.io/JoystickGremlin/download/

Verify Setup

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.

Configuration Guide

Now the groundwork is all done. We'll continue the guide in part 2.