Encoder support
While encoders are always available as joystick buttons out of the box, this indirect form of support suffers from limitations: Since each turn of the knob has to be turned into a button push and release, delays are incurred as the button pressing action catches up to the encoder position.
To circumvent this limit, MobiFlight can directly read the encoder position from the controller. For this to work, the controller must be configured in VKBDevCfg to make these positions available:
Close MobiFlight
Close any running instance of MobiFlight Connector. Otherwise, you will need to restart it after changing the connected game controllers.
Verify controller firmware
Ensure your controller firmware is updated to version 2.18.5 or newer. If not, download zBootloader and the firmware files from the VKB website and follow VKB’s guides to upgrade your controller.
Access configuration in VKBDevCfg
In VKBDevCfg, select your device, then open the Global tab at the bottom and the External tab at the top:

Edit configuration
Make sure the checkboxes Virtual BUS over USB and External device encoders virtualization are both checked. Then write the configuration to the device by pressing the Set button in the Action bar.

After you press Set, your device will disconnect and immediately reconnect to the PC.
Verify that encoders appear
Start MobiFlight Connector and create an input configuration.
If your controller does not have a definition file (i.e. all buttons are listed as button numbers), the new encoder events will appear towards the end of the button list.
If your controller has a definition file with outputs and friendly input names, the new encoder events will replace the buttons used for the encoder. Note that the original button events are still available with a Legacy DirectInput mark for compatibility reasons.
Note
The Scan for Input function may latch onto the original button events. Make sure the correct encoder action is selected in the drop-down when creating input configurations.