GAIA
GAIA is a General Association Interface Application. It consists of a core which enables you to define rules for input and output to connect any application or device to each other.
So it can connect a game to a gaming device or a server to a client or just two applications to each other.
What's the deal?!
you can use GAIA to connect anything to anything. For example you could connect your Joystick to a Simulation game or a Steering Wheel to your favourite Racing Game.
You could also connect two applications or differnet devices: GAIA could be used to remotely control your desktop PC with your mobile phone. The range of examples for usage is nearly infinite.
But honestly this is far from any truth. To connect something with GAIA you will need two things. First is a GAIA plugin to define rules for that thing. The second thing is an Interface for the Application which communicates with GAIA. The good thing is, that most Applications you might want to connect to GAIA provide interfaces for external access to the applications data and functions. The bad thing is that other devices will probably not define a simple interface which is compatible to GAIA. Currently the most common case of connection lies between games and peripherals (like input devices with special functions).
Rules rule!!
GAIA uses general rulesets which may be fully defined by the user. Each defined rule uses one or more conditions to evaluate a state and depending on the result executes actions the user may define. Which conditions and actions are available for the rules depends on the used plugins. View the features page to check which plugins are available.
Media
Features
Free rules
Define rules using conditions to query plugin-states and trigger different actions
Custom actions
Create custom actions to perform and connect them to defined rules
Variable pass-through
Pass variables from defined rules to different actions to reuse special values
Plug-In support
Create own plug-ins with own conditions and actions
Profile support
Save rulesets and configurations as profiles to load previously created setups on-the-fly
Flight-Data event
Query values like latitude, longitude, indicated or true airspeed, barometric or absolute altitude and heading in different units (and loop them through to an action)
Master-Control-Panel event
Query ingame Master-Control-Panel with states of all system indicators from fuel, wings, ACS, engines and much more
Mechanics event
Query states of gear, flaps, airbrake, refueling-boom, airintake, noseflaps, parachute, wheelbrakes, landing-hook, wings, canopy and more
Tactical-Enhanced-Warfare-System event
Indicates if TEWS reports scanning, lock-on, radio-guided missiles or TWS-tracking
Targeting event
Queries weapons systems values like target count, weapon launch authorization, target country, distance, closing speed, aspect angle, radar jamming, radar jammer burning, distance to rearo, distance to drpi, distance to drtr, distance to drmin
Full device support
Supports any Direct-Output device from Saitek through a generic configuration layer
Page-Api-Support
Create actions to define new pages for Direct-Output-Displays and output data on the pages
Button-Api-Support
Toggle button LEDs and colors through custom actions (including additional States like flashing etc.)
Direct-Output-Abstraction-Layer
Direct-Output library uses an own abstraction layer to enhance support for certain Direct-Output devices
X52 Pro support
Custom support for X52 Pro (with all correct button/LED names)