-
-
Notifications
You must be signed in to change notification settings - Fork 106
Using VKB controllers with MobiFlight
VKB controller support is currently in beta. To get the current beta version, follow these steps:
- Download and install MobiFlight. You will need Mobiflight Beta 10.3.0.1 or later versions.
- Enable beta versions by going to
Extras
in the menu, selectingSettings
, and checking the box next toYes, I would like to receive beta version upgrades
- Restart MobiFlight to get prompted to install the beta version. Install it.
If you have a standard VKB combo (e.g. any STECS version sold on the store, any GNX combo sold on the store, any single GNX module upgraded with HID controller), your LEDs are ready to go as soon as you are on the correct version of MobiFlight.
To enable responsive encoders, make sure you are running firmware 2.18.5 or later on your VKB controller. You can get the firmware images and update tools at https://www.vkbcontrollers.com/pages/downloads
Once your firmware is up to date, you can activate encoder support in VKBDevCfg by checking the "Virtual BUS over USB" box on the Global/External page and using the Set action to write the change to your device:
On the next start of MobiFlight Connector, responsive encoders should be available.
If you have a FSM.GA module with a GNX-HID controller installed, a great way to get started is with this config file by UntoldForce that turns the FSM.GA into a fully functional autopilot panel in Microsoft Flight Simulator (2020). Please make sure no in-game bindings are active and assign the orphaned FSM.GA to your own FSM.GA in MobiFlight Connector. No other VKB device benefits as much from responsive encoder support.
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.
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.
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.
- MobiFlight Connector Installation
- Mobiflight Connector BETA version installation
- Modules
- MobiFlight Connector Files Structure
- MobiFlight Connector Uninstall
- Modules Reset to factory default
- Verifying the WASM module installation and locating the MSFS2020 community folder
- Verifying the WASM module installation and locating the MSFS2024 community folder
- Using a Winwing FCU with MobiFlight
- Providing logs from MobiFlight
- MobiFlight Connector How does it work
- Mobiflight Connector Main Window
- Flash module with MobiFlight firmware
- Input and Output devices
- Joysticks
- Midi Boards
- Sim Variables (for Output)
- Input Actions
- Merging configuration files
- Disabling specific COM ports
- Examples Output LEDs
- Examples Input Switch
- Example 7 segment display
- Example Servo motor
- Controlling LEDs with an output shift register
- Adding lots of buttons with an input shift register
- Beginner's guide to input multiplexers
- Key Matrix with standard MobiFlight and Multiplexers
- Tutorial Easy Driver and x.27 or x.40 Stepper Motor
- Tutorial for Airbus VS display via 7-Segment LED Module
- Example Analog Input Potentiometer
- Baron G58 Tutorial Gear, Flaps, Mags, ELT Input Output Programming
- Using Mobiflight to control arduino-based 3rd party panels (RealSimGear GNS530)
- How to use a VNH2SP30 DC motor shield with MobiFlight
- Using 3D printer mainboards
- Playing sounds by sending keystrokes to AutoHotKey
- Using the selector knob on a Honeycomb Bravo
- Using an adjustable 12 position switch as a GA starter
- Brightness of LCD displays with I2C
- Using three-position switches
- Transponder with one Rotary
- Workflow for Creating Flight Simulation Panels ‐ Part 1
- MSFS2020 RPN Tips and Tricks
- MSFS2020 Using the Custom Input Code Box
- MSFS2020 Install WASM module and Event List
- MSFS2020 How to Create and Use User Defined Lvars
- MSFS2020 How to Create a Blinking LED configuration
- MSFS2020 User Defined WASM Module Events Best Practices
- MSFS2020 Developer Mode, Model Behavior dialog and Console window
- MSFS2020 PMDG 737‐700 List of Events that require use of FSUIPC7
- MSFS2020 PMDG 737‐700 Calibrate throttle idle and reverse thrust using interpolation (Valkyrie)
- MSFS2020 PMDG 737-700 Chrono unit functions implemented in Mobiflight
- Configuring PMDG 737 Parking Brake Lever Auto-Release with a Servo in Mobiflight
- Using encoder to drive a value back and forth within a given range
- Adding a custom board to MobiFlight
- User guide - Community Board and Custom Devices
- Developing your own custom devices/boards