HID Guardian - nlp80/irFFB GitHub Wiki

Windows will only allow one application to send FFB data to your wheel at any given time. Applications 'acquire' the wheel in order to send FFB data (and read position, etc). Unfortunately, once you've acquired the wheel, there's no way to prevent other applications from 'stealing' it from you.

irFFB attempts to retain acquisition of the wheel by reacquiring it whenever Windows tells us that we've lost it. Unfortunately this doesn't appear to work 100% of the time on all systems.

In addition, to use irFFB's direct modes, we need iRacing to open, read and send FFB data to the vJoy virtual device instead of your wheel. We arrange this by calibrating the steering in iRacing and ensuring that it selects the vJoy axis. This can be tricky because iRacing can detect both the vJoy axis and your wheel axis changing during calibration.

For many, neither of these issues present a problem. For the remainder, or just to increase robustness, irFFB can install and configure the HidGuardian filter driver. HidGuardian is a part of the ViGEM project and allows us to hide your wheel from other applications. If HidGuardian is installed and enabled, irFFB will hide your wheel from any other application (including iRacing), which makes life a lot simpler.

Using HidGuardian

Access the HidGuardian dialog from irFFB's settings menu. Click install and accept the UAC prompt. irFFB will download, install and configure HidGuardian and begin using it. The first time irFFB uses HidGuardian to hide a specific device, it will prompt you to unplug your wheel and plug it back in (or reboot if that's easier). Once you've done this, you should find that only irFFB can see your wheel (it even disappears from Windows' 'Game Controllers' application).

Note: Once HidGuardian is installed you should not move the irFFB binary because it installs itself as a Windows service, which will fail to start if the binary is moved!

To make your wheel visible to other applications, disable HidGuardian in the irFFB HidGuardian dialog. irFFB will prompt you to unplug your wheel and plug it back in and you should then find that your wheel is visible to all applications again.

Details

When you install HidGuardian a new virtual device will be created in the 'System' tree in Device Manager. irFFB configures HidGuardian as HIDClass upper filter driver. irFFB also installs itself as a Windows service to allow communication between the main irFFB process and the HidGuardian driver.