Howto:Build and run FlightGear on Raspberry Pi 4: Difference between revisions

Jump to navigation Jump to search
Line 175: Line 175:
{{not done}}
{{not done}}


The Honeycomb Aeronautical Alpha Flight Controls yoke is a quality flight yoke that works with the Raspberry Pi and FlightGear. The buttons on the yoke are standard normally open, where as the base buttons are normally closed double throw and one five position rotary.
The Honeycomb Aeronautical Alpha Flight Controls yoke is a quality flight yoke that works with the Raspberry Pi and FlightGear. The buttons on the yoke are standard normally open, where as the base buttons are normally closed double throw and one five position rotary. The base buttons are odd in that they use two USB Buttons per button. However it might be possible to hack the yoke in order to add nine more buttons.


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 181: Line 181:


<!--
<!--
************************************************************************
**********************************************************
* Bindings for Honeycomb Aeronautical Alpha Flight Controls - Yoke
* Bindings for Honeycomb Aeronautical Alpha Flight Controls - Yoke
*
*
Line 190: Line 190:
*  
*  
* Button  0: YOKE white-Trigger left-handle
* Button  0: YOKE white-Trigger left-handle
* Button  1: YOKE white-top-Botton left-handle
* Button  1: YOKE white-top-Bottom left-handle
* Button  2: YOKE white-top-Botton right-handle
* Button  2: YOKE white-top-Bottom right-handle
* Button  3: YOKE red-top-Botton right-handle
* Button  3: YOKE red-top-Bottom right-handle
* Button  4: YOKE outer-Rocker down left-handle
* Button  4: YOKE outer-Rocker down left-handle
* Button  5: YOKE outer-Rocker up left-handle
* Button  5: YOKE outer-Rocker up left-handle
Line 214: Line 214:
* Button 23: BASE Land down
* Button 23: BASE Land down
* Button 24: BASE Taxi up
* Button 24: BASE Taxi up
* Button 25: Base Taxi down
* Button 25: BASE Taxi down
* Button 26: BASE Nav up
* Button 26: BASE Nav up
* Button 27: Base Nav down
* Button 27: Base Nav down
Line 224: Line 224:
* Button 33: BASE Both Mag
* Button 33: BASE Both Mag
* Button 34: BASE Start
* Button 34: BASE Start
************************************************************************
**********************************************************
-->
-->


<PropertyList>
<PropertyList>
   <name type="string">Honeycomb Aeronautical Alpha Flight Controls</name>
   <name type="string">Honeycomb Aeronautical Alpha Flight Controls</name>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Ailerons ~~~~~~~~~~~~~~~~~~~~~~~~ -->
 
   <axis>
   <axis>
    <desc type="string">Aileron</desc>
      <desc type="string">Aileron</desc>
    <binding>
      <binding>
      <command type="string">property-scale</command>
          <command type="string">property-scale</command>
      <property type="string">/controls/flight/aileron</property>
          <property type="string">/controls/flight/aileron</property>
      <factor type="double">1</factor>
          <factor type="double">1</factor>
      <offset type="double">0</offset>
          <offset type="double">0</offset>
    </binding>
      </binding>
   </axis>
   </axis>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Elevator ~~~~~~~~~~~~~~~~~~~~~~~~ -->
 
   <axis n="1">
   <axis n="1">
    <desc type="string">Elevator</desc>
      <desc type="string">Elevator</desc>
    <binding>
      <binding>
      <command type="string">property-scale</command>
          <command type="string">property-scale</command>
      <property type="string">/controls/flight/elevator</property>
          <property type="string">/controls/flight/elevator</property>
      <factor type="double">-1</factor>
          <factor type="double">-1</factor>
      <offset type="double">0</offset>
          <offset type="double">0</offset>
    </binding>
      </binding>
   </axis>
   </axis>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ Hat Switch ~~~~~~~~~~~~~~~~~~~~~~~~ -->
 
   <axis n="2">
   <axis n="2">
    <desc type="string">View Direction</desc>
      <desc type="string">View Direction</desc>
    <direction type="string">left</direction>
      <direction type="string">left</direction>
    <low>
      <low>
      <repeatable type="string">true</repeatable>
          <repeatable type="string">true</repeatable>
      <binding>
          <binding>
        <command type="string">nasal</command>
              <command type="string">nasal</command>
        <script type="string">view.panViewDir(1)</script>
              <script type="string">view.panViewDir(1)</script>
        <module type="string">__js1</module>
              <module type="string">__js1</module>
        <offset type="double">1</offset>
              <offset type="double">1</offset>
      </binding>
          </binding>
    </low>
      </low>
    <high>
      <high>
      <repeatable type="string">true</repeatable>
          <repeatable type="string">true</repeatable>
      <binding>
          <binding>
        <command type="string">nasal</command>
              <command type="string">nasal</command>
        <script type="string">view.panViewDir(-1)</script>
              <script type="string">view.panViewDir(-1)</script>
        <module type="string">__js1</module>
              <module type="string">__js1</module>
        <offset type="double">1</offset>
              <offset type="double">1</offset>
      </binding>
          </binding>
    </high>
      </high>
   </axis>
   </axis>
   <axis n="3">
   <axis n="3">
    <desc type="string">View Elevation</desc>
      <desc type="string">View Elevation</desc>
    <direction type="string">upward</direction>
      <direction type="string">upward</direction>
    <low>
      <low>
      <repeatable type="string">true</repeatable>
          <repeatable type="string">true</repeatable>
      <binding>
          <binding>
        <command type="string">nasal</command>
              <command type="string">nasal</command>
        <script type="string">view.panViewPitch(1)</script>
              <script type="string">view.panViewPitch(1)</script>
        <module type="string">__js1</module>
              <module type="string">__js1</module>
        <offset type="double">1</offset>
              <offset type="double">1</offset>
      </binding>
          </binding>
    </low>
    </low>
    <high>
    <high>
      <repeatable type="string">true</repeatable>
          <repeatable type="string">true</repeatable>
      <binding>
          <binding>
        <command type="string">nasal</command>
              <command type="string">nasal</command>
        <script type="string">view.panViewPitch(-1)</script>
              <script type="string">view.panViewPitch(-1)</script>
        <module type="string">__js1</module>
              <module type="string">__js1</module>
        <offset type="double">1</offset>
              <offset type="double">1</offset>
      </binding>
          </binding>
    </high>
      </high>
   </axis>
   </axis>
   <button>
   <button>
    <desc type="string">Brakes</desc>
      <desc type="string">View Cycle Forwards</desc>
    <repeatable type="string">false</repeatable>
    <binding>
      <command type="string">nasal</command>
      <script type="string">controls.applyBrakes(1);</script>
    </binding>
    <mod-up>
       <binding>
       <binding>
        <command type="string">nasal</command>
          <command type="string">nasal</command>
        <script type="string">controls.applyBrakes(0);</script>
          <script type="string">view.stepView(1);</script>
       </binding>
       </binding>
    </mod-up>
      <repeatable type="double">0</repeatable>
   </button>
   </button>
   <button n="1">
 
    <desc type="string">Gear Down</desc>
   <button n="3">
    <binding>
      <desc type="string">Gear Toggle</desc>
      <command type="string">nasal</command>
      <binding>
      <script type="string">controls.gearDown(1);</script>
          <command type="string">nasal</command>
    </binding>
          <script type="string">controls.gearTogglePosition(1);</script>
    <repeatable type="double">0</repeatable>
      </binding>
  </button>
       <repeatable type="double">0</repeatable>
  <button n="2">
    <desc type="string">Gear Up</desc>
    <binding>
      <command type="string">nasal</command>
       <script type="string">controls.gearDown(-1);</script>
    </binding>
    <repeatable type="double">0</repeatable>
   </button>
   </button>
   <button n="4">
   <button n="4">
    <desc type="string">Elevator Trim Up</desc>
      <desc type="string">Elevator Trim Up</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.elevatorTrim(-1);</script>
          <script type="string">controls.elevatorTrim(-1);</script>
    </binding>
      </binding>
    <repeatable type="double">1</repeatable>
      <repeatable type="double">1</repeatable>
   </button>
   </button>
   <button n="5">
   <button n="5">
    <desc type="string">Elevator Trim Down</desc>
      <desc type="string">Elevator Trim Down</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.elevatorTrim(1);</script>
          <script type="string">controls.elevatorTrim(1);</script>
    </binding>
      </binding>
    <repeatable type="double">1</repeatable>
      <repeatable type="double">1</repeatable>
   </button>
   </button>
   <button n="6">
   <button n="6">
    <desc type="string">Flaps Down</desc>
      <desc type="string">Flaps Down</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.flapsDown(1);</script>
          <script type="string">controls.flapsDown(1);</script>
    </binding>
      </binding>
    <repeatable type="double">0</repeatable>
      <repeatable type="double">0</repeatable>
   </button>
   </button>
   <button n="7">
   <button n="7">
    <desc type="string">Flaps Up</desc>
      <desc type="string">Flaps Up</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.flapsDown(-1);</script>
          <script type="string">controls.flapsDown(-1);</script>
    </binding>
      </binding>
    <repeatable type="double">0</repeatable>
      <repeatable type="double">0</repeatable>
   </button>
   </button>
   <button n="8">
   <button n="8">
    <desc type="string">Rudder Trim Left</desc>
      <desc type="string">Rudder Trim Left</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.rudderTrim(-1);</script>
          <script type="string">controls.rudderTrim(-1);</script>
    </binding>
      </binding>
    <repeatable type="double">1</repeatable>
      <repeatable type="double">1</repeatable>
   </button>
   </button>
   <button n="9">
   <button n="9">
    <desc type="string">Rudder Trim Right</desc>
 
    <binding>
      <desc type="string">Rudder Trim Right</desc>
      <command type="string">nasal</command>
      <binding>
      <script type="string">controls.rudderTrim(1);</script>
          <command type="string">nasal</command>
    </binding>
          <script type="string">controls.rudderTrim(1);</script>
    <repeatable type="double">1</repeatable>
      </binding>
      <repeatable type="double">1</repeatable>
   </button>
   </button>
   <button n="10">
   <button n="10">
    <desc type="string">Aileron Trim Left</desc>
      <desc type="string">Aileron Trim Left</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.aileronTrim(-1);</script>
          <script type="string">controls.aileronTrim(-1);</script>
    </binding>
      </binding>
    <repeatable type="double">1</repeatable>
      <repeatable type="double">1</repeatable>
   </button>
   </button>
   <button n="11">
   <button n="11">
    <desc type="string">Aileron Trim Right</desc>
      <desc type="string">Aileron Trim Right</desc>
    <binding>
      <binding>
      <command type="string">nasal</command>
          <command type="string">nasal</command>
      <script type="string">controls.aileronTrim(1);</script>
          <script type="string">controls.aileronTrim(1);</script>
    </binding>
      </binding>
    <repeatable type="double">1</repeatable>
      <repeatable type="double">1</repeatable>
  </button>
 
  <button n="14">
      <desc type="string">Battery ON OFF</desc>
      <binding>
          <command type="string">nasal</command>
          <script type="string">setprop("/controls/electric/battery-switch", 1);</script>
      </binding>
      <mod-up>
          <binding>
              <command type="string">nasal</command>
              <script type="string">setprop("/controls/electric/battery-switch", 0);</script>
          </binding>
      </mod-up>
      <repeatable type="double">0</repeatable>
      </button>
 
  <button n="24">
      <desc type="string">Tail Wheel Lock ON OFF</desc>
      <binding>
          <command type="string">nasal</command>
          <script type="string">setprop("/controls/gear/tailwheel-lock-pos", 1);</script>
      </binding>
      <mod-up>
          <binding>
              <command type="string">nasal</command>
              <script type="string">setprop("/controls/gear/tailwheel-lock-pos", 0);</script>
          </binding>
      </mod-up>
      <repeatable type="double">0</repeatable>
   </button>
   </button>
</PropertyList>
</PropertyList>
320

edits

Navigation menu