Bindings

From FlightGear wiki
Revision as of 10:03, 10 June 2011 by Gijs (talk | contribs)
Jump to navigation Jump to search

Bindings define what happens when a user:

You can assign multiple bindings to one object/button/key.

All give codes are examples, found on various places in the FlightGear package.

Commands

dialog-close

Closes the active dialog.

<binding>
 <command>dialog-close</command>
</binding>

dialog-show

Shows a dialog, which should be present in $FG ROOT/gui/Dialogs.

<binding>
 <command>dialog-show</command>
 <dialog-name>location-in-air</dialog-name>
</binding>
  • dialog-name: the name of the dialog, as designated in its .xml file.

nasal

Nasal is frequently used for complicated systems.

<binding>
 <command>nasal</command>
 <script>b777.afds.input(0,1);</script>
</binding>

property-adjust

Increases or decreases a property's value with a given step. Maximum and minimum values are optional.

<binding>
 <command>property-adjust</command>
 <property>/controls/lighting/panel-norm</property>
 <step>-0.05</step>
 <min>0</min>
 <max>1</max>
</binding>

property-assign

One of the most important commands. It sets a property to a predefined value.

<binding>
 <command>property-assign</command>
 <property>/autopilot/settings/target-speed-kt</property>
 <value>0</value>
</binding>

property-cycle

Cycles between a list of values and assigns one to a property. The value-list can vary in length.

<binding>
 <command>property-cycle</command>
 <property>/autopilot/autobrake/setting</property>
 <value type="string">ARM</value>
 <value type="string">DISARM</value>
 <value type="string">OFF</value>
</binding>

property-multiply

Multiply the value of a property by a given factor.

<binding>
 <command>property-multiply</command>
 <property>/controls/flight/aileron</property>
 <factor>0.5</factor>
 <min>-1</min>
 <max>1</max>
 <mask>all</mask>
 <wrap>true</wrap>
</binding>
  • factor: the amount to multiply by.
  • min: minimum value.
  • max: maximum value.
  • mask:
    • integer: mutiply only left of the decimal point.
    • decimal: multiply only the right of the decimal point.
    • all: multiply the entire value.
  • wrap: true if the value should be wrapped if it passes min/max. It is required to set both min and max in that case.

property-randomize

Assigns a random value (between min and max) to a property.

<binding>
 <command>property-randomize</command>
 <property>/orientation/pitch-deg</property>
 <min>0</min>
 <max>360</max>
</binding>

property-scale

Sett the value of a property based on an axis, often used in joystick configuration files.

<binding>
 <command>property-scale</command>
 <property>/controls/flight/aileron</property>
 <offset>0.001</offset>
 <factor>-1</factor>
 <power>3</power>
</binding>
  • offset: the offset to shift by, before applying the factor.
  • factor: the factor to multiply by (use negative to reverse).
  • squared: if true will square the resulting value (same as power=2).
  • power: the resulting value will be taken to the power of this integer value (overrides squared).

Remember: ((property+offset)*factor)^power=result

property-swap

Swaps the values of two properties, useful for radio panels.

<binding>
 <command>property-swap</command>
 <property>/instrumentation/comm/frequencies/selected-mhz</property>
 <property>/instrumentation/comm/frequencies/standby-mhz</property>
</binding>

property-toggle

Toggles the value of a property on each click, between true (1) and false (0).

<binding>
 <command>property-toggle</command>
 <property>/controls/gear/gear-down</property>
</binding>

Or - if defined - it toggles between two custom values.

<binding>
 <command>property-toggle</command>
 <property>/controls/gear/gear-down</property>
 <value>2</value>
 <value>3</value>
</binding>

Related content