<?xml version="1.0"?>

<!-- 
************************************************************************
Default 4-axis joystick bindings.

Assume that we have a conventional, four-axis, three/four-button
joystick, and that the first button is the trigger.

* Axis 0: ailerons
* Axis 1: elevator
* Axis 2: Throttle

* Axes 3 and 4 (hat): volets

* Button 0: Brakes
* Button 1: Train



************************************************************************
-->

<PropertyList>

 <name>Analog 4-axis 4-button joystick</name>

 <axis n="0">
  <desc>Aileron</desc>
  <binding>
   <command>property-scale</command>
   <property>/controls/flight/aileron</property>
   <factor type="double">0.3</factor>
   <power type="double">2</power>
  </binding>
 </axis>

<!--
actuellement géré par l'ESP32

 <axis n="1">
  <desc>Elevator</desc>
  <binding>
   <command>property-scale</command>
   <property>/controls/flight/elevator</property>
   <factor type="double">-0.2</factor>
   <power type="double">1</power>
  </binding>
 </axis>
 -->

<!--
actuellement géré par l'ESP32

 <axis n="2">
  <desc>Throttle</desc>
  <binding>
   <command>nasal</command>
   <script>controls.throttleAxis()</script>
  </binding>
 </axis>
 -->

 <button n="0">
  <desc>Brakes</desc>
  <binding>
   <command>nasal</command>
   <script>controls.applyBrakes(1)</script>
  </binding>
  <mod-up>
   <binding>
    <command>nasal</command>
    <script>controls.applyBrakes(0)</script>
   </binding>
  </mod-up>
 </button>


 <button n="1">
  <desc>Landing Gear Toggle</desc>
  <repeatable>false</repeatable>
  <binding>
   <command>nasal</command>
   <script>controls.gearToggle()</script>
  </binding>
 </button>


<button n="2">
  <desc>Step Flaps Down</desc>
  <repeatable>false</repeatable>
  <binding>
   <command>nasal</command>
   <script>controls.flapsDown(1)</script>
  </binding>
 
  <mod-up>
   <binding>
	<command>nasal</command>
	<script>controls.flapsDown(0)</script>
   </binding>
  </mod-up>
  
</button>



<button n="3">
   <desc>Flaps up</desc>
   <repeatable>false</repeatable>
   <binding>
      <command>nasal</command>
      <script>controls.flapsDown(-1)</script>
   </binding>
   
   <mod-up>
      <binding>
         <command>nasal</command>
         <script>controls.flapsDown(0)</script>
      </binding>
   </mod-up>
   
</button>



  <axis n="3">
   <desc>View Direction</desc>
   <low>
    <repeatable>true</repeatable>
    <binding>
     <command>property-adjust</command>
     <property>/sim/current-view/goal-heading-offset-deg</property>
     <step type="double">1.0</step>
    </binding>
   </low>
   <high>
    <repeatable>true</repeatable>
    <binding>
     <command>property-adjust</command>
     <property>/sim/current-view/goal-heading-offset-deg</property>
     <step type="double">-1.0</step>
    </binding>
   </high>
  </axis>


  <axis n="4">
   <desc>View Elevation</desc>
   <low>
    <repeatable>true</repeatable>
    <binding>
     <command>property-adjust</command>
     <property>/sim/current-view/goal-pitch-offset-deg</property>
     <step type="double">1.0</step>
    </binding>
   </low>
   <high>
    <repeatable>true</repeatable>
    <binding>
     <command>property-adjust</command>
     <property>/sim/current-view/goal-pitch-offset-deg</property>
     <step type="double">-1.0</step>
    </binding>
   </high>
  </axis>







</PropertyList>

<!-- end of joystick.xml -->
