aboutsummaryrefslogblamecommitdiffstats
path: root/Flightgear/fgdata/Input/Joysticks/Microsoft/Microsoft Xbox Series S|X Controller.xml
blob: 95cd8c08a91bcee2b6a242d30d69c9c556718c8b (plain) (tree)























































































































































































































































































































































                                                                                    
<?xml version="1.0"?>

<!--
**************Microsoft-Xbox-Series-SX-Controller layout****************
Axes 0,1 (Left-stick):            View direction and elevation
Axis 2,5 (Trigger buttons LT/RT): Rudder
Axis 3 (Right-stick U/D):         Elevator
Axis 4 (Right-stick L/R):         Ailerons
Axis 6 (D-pad L/R):               Aileron trim
Axis 7 (D-pad U/D):               Elevator trim

Button 0 (A):                     Flaps down
Button 1 (B):                     Brakes
Button 2 (X):                     Flaps up
Button 3 (Y):                     Park brake toggle
Button 4 (Left shoulder):         Throttle decrease
Button 5 (Right shoulder):        Throttle increase
Button 6 (Back):                  Landing gear toggle
Button 7 (Start):                 Pause
Button 9 (Press right-stick):     Reset view
Button 10 (Press left-stick):     Center controls

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

<PropertyList>
  <name type="string">Microsoft Xbox Series S|X Controller</name>

  <axis>
    <desc type="string">Aileron</desc>
    <dead-band type="double">0.3</dead-band>    
    <binding>
      <command type="string">property-scale</command>
      <property type="string">/controls/flight/aileron</property>
      <factor type="double">1</factor>
      <offset type="double">0</offset>
      <power type="double">4</power>
    </binding>
  </axis>

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

  <axis n="2">
    <desc type="string">Rudder</desc>
    <dead-band type="double">0.3</dead-band>
    <binding>
      <command type="string">property-scale</command>
      <property type="string">/controls/flight/rudder</property>
      <factor type="double">-1.0</factor>
      <offset type="double">1.0</offset>
      <power type="double">4</power>
    </binding>
  </axis>
  
  <axis n="3">
    <desc type="string">View Direction</desc>
    <low>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/sim/current-view/goal-heading-offset-deg</property>
        <step type="double">2</step>
      </binding>
    </low>
    <high>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/sim/current-view/goal-heading-offset-deg</property>
        <step type="double">-2</step>
      </binding>
    </high>
  </axis>

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


  <axis n="5">
    <desc type="string">Rudder</desc>
    <dead-band type="double">0.3</dead-band>    
    <binding>
      <command type="string">property-scale</command>
      <property type="string">/controls/flight/rudder</property>
      <factor type="double">1.0</factor>
      <offset type="double">1.0</offset>
      <power type="double">2</power>
    </binding>
  </axis>
  <axis n="6">
    <desc type="string">Aileron trim</desc>
    <low>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/controls/flight/aileron-trim</property>
        <step type="double">-0.002</step>
      </binding>
    </low>
    <high>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/controls/flight/aileron-trim</property>
        <step type="double">0.002</step>
      </binding>
    </high>
  </axis>
  <axis n="7">
    <desc type="string">Elevator trim</desc>
    <low>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/controls/flight/elevator-trim</property>
        <step type="double">-0.002</step>
      </binding>
    </low>
    <high>
      <repeatable type="string">true</repeatable>
      <binding>
        <command type="string">property-adjust</command>
        <property type="string">/controls/flight/elevator-trim</property>
        <step type="double">0.002</step>
      </binding>
    </high>
  </axis>
  <button>
    <desc type="string">Flaps Down</desc>
    <binding>
      <command type="string">nasal</command>
      <script type="string">controls.flapsDown(1);</script>
    </binding>
    <repeatable type="double">0</repeatable>
  </button>
  <button n="1">
    <desc type="string">Brakes</desc>
    <repeatable type="string">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">controls.applyBrakes(1);</script>
    </binding>
    <mod-up>
      <binding>
        <command type="string">nasal</command>
        <script type="string">controls.applyBrakes(0);</script>
      </binding>
    </mod-up>
  </button>
  <button n="2">
    <desc type="string">Flaps Up</desc>
    <binding>
      <command type="string">nasal</command>
      <script type="string">controls.flapsDown(-1);</script>
    </binding>
    <repeatable type="double">0</repeatable>
  </button>
  <button n="3">
    <desc type="string">Custom</desc>
    <repeatable type="bool">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">
   var pb = getprop("/controls/gear/brake-parking");
   pb = !pb;
   setprop ("/controls/gear/brake-parking",pb)
   </script>
      <module type="string">__js0</module>
    </binding>
  </button>
  <button n="4">
    <desc type="string">Custom</desc>
    <repeatable type="bool">tr,ue</repeatable>
    <binding>
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[0]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="1">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[1]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="2">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[2]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="3">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[3]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="4">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[4]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="5">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[5]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="6">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[6]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
    <binding n="7">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[7]/throttle</property>
      <step type="double">-0.01</step>
    </binding>
  </button>
  <button n="5">
    <desc type="string">Custom</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[0]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="1">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[1]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="2">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[2]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="3">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[3]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="4">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[4]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="5">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[5]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="6">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[6]/throttle</property>
      <step type="double">0.01</step>
    </binding>
    <binding n="7">
      <command type="string">property-adjust</command>
      <property type="string">/controls/engines/engine[7]/throttle</property>
      <step type="double">0.01</step>
    </binding>
  </button>
  <button n="6">
    <desc type="string">Custom</desc>
    <repeatable type="bool">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">
   controls.gearToggle()
   </script>
      <module type="string">__js0</module>
    </binding>
  </button>
  <button n="7">
    <desc type="string">Custom</desc>
    <repeatable type="bool">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">
   var p =getprop ("/sim/freeze/master");
   p = !p;
   setprop ("sim/freeze/master",p);
   setprop ("sim/freeze/clock",p)
   </script>
      <module type="string">__js0</module>
    </binding>
  </button>
  <button n="9">
    <desc type="string">Center Controls</desc>
    <binding>
      <command type="string">nasal</command>
      <script type="string">controls.centerFlightControls();</script>
    </binding>
    <mod-ctrl>
      <desc type="string">Clear all trims</desc>
        <binding>
          <command type="string">property-assign</command>
          <property type="string">/controls/flight/elevator-trim</property>
          <value>0</value>
        </binding>
        <binding>
          <command type="string">property-assign</command>
          <property type="string">/controls/flight/aileron-trim</property>
          <value>0</value>
        </binding>
        <binding>
          <command type="string">property-assign</command>
          <property type="string">/controls/flight/rudder-trim</property>
          <value>0</value>
        </binding>
    </mod-ctrl>
  </button>
  <button n="10">
    <desc type="string">Custom</desc>
    <repeatable type="bool">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">view.resetView()</script>
      <module type="string">__js0</module>
    </binding>
  </button>
</PropertyList>