Using VKB controllers with MobiFlight - MobiFlight/MobiFlight-Connector GitHub Wiki

Using VKB controllers with MobiFlight

Since there is no official beta yet, you need to download and install an unofficial build for now. Once an official beta or release build is available, you can use the standard update channels to access VKB device support.

Fundamentals

Since VKB devices present themselves as standard HID joysticks, standard button and axis inputs are available in all versions of MobiFlight Connector since 9.1. However, advanced functionality like fast rotary encoders and LED outputs requires specific support from newer MobiFlight Connector versions.

In addition to an up-to-date version of MobiFlight connector, a definition file for the controller is required. Due to the modularity of VKB controllers, particularly in the GNX ecosystem, it is impossible to provide definitions for every imaginable controller unit. If you bought a ready-to-use device from a VKB dealer or followed one of the GNX assembly guides to the letter, a definition file is already bundled with MobiFlight Connector. If you have set up a custom combination of modules, a custom definition may however be necessary.

LEDs

Out of the box, the LEDs of a VKB controller follow events configured in VKB's configuration program, VKBDevCfg. While there are powerful tools for LED event configuration available, they can only rely on information within the joystick itself, not data provided by the simulator. This is where MobiFlight Connector comes in. For each programmable LED on the controller, MobiFlight Connector can take over control of the LED to use as an output device. Note that once the PC has taken control of an LED, it will no longer respond to events set in VKBDevCfg until the controller is disconnected and reconnected.

LEDs on VKB controllers may have multiple color channels. Typically, the main power/status LED is blue/red (the color channels are physically separated on Gladiator NXT bases), whereas the LEDs on most GNX modules are green/red. RGB LEDs may be present on some grips, as well as the STECS base.

In MobiFlight connector, each color channel is presented as a separate output device. Mixed colors, like purple or amber, may be created by simultaneously turning on multiple color channels of the same LED. Note that brightness adjustment of LEDs, as well as the controller's internal blink patterns, are currently not available via MobiFlight Connector, but the red and green channels of GNX module LEDs have been adjusted to display an amber color if both are turned on.

Encoders

By default, VKB controllers will emulate button pulses from encoder turns to provide their position changes in a standard DirectInput-compatible format. However, because encoders can be turned faster than buttons can be tapped, this results in queued pulses, where the button pulses take time to catch up to the current encoder position. This makes it difficult to use rotary encoders for inputs where speedy changes are required.

Starting with VKB firmware 2.17.9, it is possible to use MobiFlight Connector to read the status of the encoder directly, and send position updates to compatible simulators without having to rely on the queued pulses from DirectInput emulation. On the provided definition files, the standard button actions are still available with the "Legacy DirectInput" label, but additional inputs are available for fast encoder actions.