Bindings: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(looks like property-set has been replaced with property-assign)
No edit summary
Line 9: Line 9:


== Commands ==
== Commands ==
=== dialog-close ===
Closes the active dialog.
<binding>
  <command>dialog-close</command>
</binding>
=== dialog-show ===
=== dialog-show ===
Shows a dialog, which should be present in <tt>[[$FG ROOT]]/gui/Dialogs</tt>.  
Shows a dialog, which should be present in <tt>[[$FG ROOT]]/gui/Dialogs</tt>.  
Line 32: Line 38:
   <min>0</min>
   <min>0</min>
   <max>1</max>
   <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>
  </binding>


Line 43: Line 57:
   <value type="string">OFF</value>
   <value type="string">OFF</value>
  </binding>
  </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 ===
=== property-randomize ===
Line 53: Line 87:
  </binding>
  </binding>


=== property-set ===
=== property-scale ===
'''''This command appears to be deprecated since V2.0'''''
Sett the value of a property based on an axis, often used in [[joystick]] configuration files.
<del>One of the most important commands. It sets a property to a predefined value.
<code>
  <binding>
  <binding>
   <command>property-set</command>
   <command>property-scale</command>
   <property>/autopilot/settings/target-speed-kt</property>
   <property>/controls/flight/aileron</property>
   <value>0</value>
   <offset>0.001</offset>
  <factor>-1</factor>
  <power>3</power>
  </binding>
  </binding>
</code>
</del>


=== property-assign ===
* '''offset:''' the offset to shift by, before applying the factor.
One of the most important commands. It sets a property to a predefined value.
* '''factor:''' the factor to multiply by (use negative to reverse).
<binding>
* '''squared:''' if true will square the resulting value (same as power=2).
  <command>property-assign</command>
* '''power:''' the resulting value will be taken to the power of this integer value (overrides squared).
  <property>/autopilot/settings/target-speed-kt</property>
 
  <value>0</value>
Remember: <tt>((property+offset)*factor)^power=result</tt>
</binding>


=== property-swap ===
=== property-swap ===
Swaps the values of two properties.
Swaps the values of two properties, useful for radio panels.
  <binding>
  <binding>
   <command>property-swap</command>
   <command>property-swap</command>
Line 87: Line 118:
   <property>/controls/gear/gear-down</property>
   <property>/controls/gear/gear-down</property>
  </binding>
  </binding>
Or if defined it toggles between two values.
Or - if defined - it toggles between two custom values.
  <binding>
  <binding>
   <command>property-toggle</command>
   <command>property-toggle</command>
Line 94: Line 125:
   <value>3</value>
   <value>3</value>
  </binding>
  </binding>
== Related content ==
* <tt>[[$FG_ROOT]]/Docs/README.commands</tt> [https://gitorious.org/fg/fgdata/blobs/master/Docs/README.commands view online]
* [[Howto: Make a clickable panel]]

Revision as of 10:03, 10 June 2011

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