-
Notifications
You must be signed in to change notification settings - Fork 0
Installation Guide
This is a run-down of basic configuration steps for the various programs involved. You can skip whatever you already have configured, or perhaps this will be helpful for getting these programs working, even if you're not using the filtering plugin itself.
If using Joystick Gremlin, you could completely bypass Logitech's software. But the drivers seem to be necessary/better.
If things aren't working, or the X56 devices aren't showing up in Windows itself, sometimes you need to delete the Logitech drivers and reinstall them.
This can be the case if you see "Driver Not Loaded" in the bottom right corner of the X56 H.O.T.A.S app (called HUD)
- Follow the steps here, under "Uninstall a Logitech controller driver"
- NOTE: HidHide will also prevent Windows and the X56 H.O.T.A.S app from seeing the devices, so make sure it's disabled/not installed yet, if you're checking this. You might be fine and not need to uninstall!
To set up the drivers, install the X56 H.O.T.A.S app (HUD.exe)
- Download from the support page, the first entry under Windows 10
- Alternately, here is a direct download link from the same page
- Install and run
- You should see Driver Version [XXXX] in the bottom right of the app
All of the physical inputs from our devices will ultimately be filtered, and only non-Ghost Inputs will be passed along to a vJoy device. The vJoy device is the joystick that your game will see.
To set up vJoy, install the latest build that is compatible with your computer
- Download the latest release. There is another, newer fork that is not compatible with Windows 11 (as of January 2023)
- Alternately, here is a direct download link from the same page
- Open the app called Configure vJoy
- Click tab 1
- Click Add Device
- Configure that virtual device to have at least as many buttons as your device
- Side note: no two vJoy devices can have the exact same configuration, so you may need to set more buttons than you need to distinguish two devices
- Another Side note: add all axes, since Joystick Gremlin doesn't always map axes 1:1... sometimes physical axis 3 = virtual axis 6 etc
- Once satisfied, click Apply
- Now, close the app and reopen to do the next virtual device (if needed)
- vJoy config seems to hang if you try to make multiple edits at once
Hid Hide ensures that our game, etc, can only see the virtual device, post-filtering, and not also the real joystick. This hides your real joysticks from any programs except the ones you specify
- Download the latest release
- Alternately, here is a direct download link from the same page
- Open the app called HidHide Configuration Client
- Add Joystick Gremlin's .exe to the white-list on the main page
- Switch to the Devices tab
- Double click on each physical device
- Check the box marked Joystick under that device
- Click the Enabled button at the bottom of the page
Joystick Gremlin will be responsible for monitoring your physical joystick, passing those inputs to the plugin (which will filter them), and remapping them onto the vJoy device(s) you configured earlier
- Download the latest release
- Alternatively, here is a direct download link from the same page
This is just a Joystick Gremlin thing, not a plugin thing, but it's a good step to take
- Click Tools > Calibration
- Select a physical device
- Move every axis through it's full range of motion (min to max), and then recenter it
- When all axes are completed, click Centered to grab those values
- Click Save to make sure JG is using the whole axis range
- Repeat with any other physical devices
- Download the latest release of the plugin
- Unzip and save somewhere you can find it
- In Joystick Gremlin, go to the Plugins tab
- Click Add Plugin
- Navigate to and add ghost-input-filter.py
This is where the fun begins...
- Click the Gear icon on the default instance
- For each Physical-Device-to-Virtual-Device-Remapping that you want:
- Set the desired Profile Mode to which this remapping should apply
- Click the Press button
- Move an axis/button/hat on the physical device The other options should work as default, but you can hover over their labels to see a description of what they do
Out of the box, this plugin will map all of your buttons, axes, and hats to vJoy devices. This is similar to Joystick Gremlin's 1:1 Mapping preset
If you want to map axes or hats yourself using the Joystick Gremlin GUI (for example, so you can apply your own Response Curves, etc)
- Deselect Axis Remapping Enabled? or Hat Remapping Enabled? as needed
Also, any time you change settings for the plugin:
- Disable and Reenable Joystick Gremlin for the new settings to take effect
In Joystick Gremlin, all of your bindings and plugins are saved to a single file.
Use File > Save Profile to keep everything you've set up
You can see real-time results from your mappings, to ensure everything is working correctly.
-
Input Viewer
- Click Tools > Input Viewer
- Select the Physical and Virtual axes/buttons/hats
- Click and move things around to see the virtual results
- Try clicking multiple buttons at the same time... they should not be transmitted to the vJoy device
- This threshold defaults to ~50ms.
- Button presses that are farther apart than that will be transmitted
-
Log
- Click Tools > Log display
- The User tab will show the output from the pluging
- Anytime a ghost input is detected and blocked, it will be logged here
- Any time you want, hit F8 (by default) to generate a summary
- This shows an overview for each device, including:
- Number of button presses allowed
- Number of button presses blocked (ghost inputs)
- Percentages, rates, breakdowns by button and by simultaneity (how many buttons at once were triggered)
- This shows an overview for each device, including:
Once everything is working, you just need to boot up your game and redo your mappings (since they were likely using the Physical device before, but now we want to map the vJoy device instead)
Unfortunately, there's not a very easy way to do this automatically (depending on the game and your comfort level with editing the binding files yourself).
After that, have fun!!