320
edits
Line 183: | Line 183: | ||
=== Honeycomb Aeronautical Alpha Flight Controls - Yoke === | === Honeycomb Aeronautical Alpha Flight Controls - Yoke === | ||
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. FlightGear is self limited to 32 button, however HID interface will be included in the next revision and it will allow an unlimited number of buttons. | |||
The | The below is being written for the Dakota DC-3, hence there will be some unusual bindings. This is a work in progress and shared for educational purposes. | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 226: | Line 226: | ||
* Button 25: BASE Taxi down | * Button 25: BASE Taxi down | ||
* Button 26: BASE Nav up | * Button 26: BASE Nav up | ||
* Button 27: | * Button 27: BASE Nav down | ||
* Button 28: BASE Strobe up | * Button 28: BASE Strobe up | ||
* Button 29: BASE Strobe down | * Button 29: BASE Strobe down | ||
Line 243: | Line 243: | ||
<desc type="string">Aileron</desc> | <desc type="string">Aileron</desc> | ||
<binding> | <binding> | ||
<command | <command>property-scale</command> | ||
<property | <property>/controls/flight/aileron</property> | ||
<factor type="double">1</factor> | <factor type="double">1</factor> | ||
<offset type="double">0</offset> | <offset type="double">0</offset> | ||
Line 251: | Line 251: | ||
<axis n="1"> | <axis n="1"> | ||
<desc | <desc>Elevator</desc> | ||
<binding> | <binding> | ||
<command | <command>property-scale</command> | ||
<property | <property>/controls/flight/elevator</property> | ||
<factor type="double">-1</factor> | <factor type="double">-1</factor> | ||
<offset type="double">0</offset> | <offset type="double">0</offset> | ||
Line 261: | Line 261: | ||
<axis n="2"> | <axis n="2"> | ||
<desc | <desc>View Direction</desc> | ||
<direction | <direction>left</direction> | ||
<low> | <low> | ||
<repeatable | <repeatable>true</repeatable> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>view.panViewDir(1)</script> | ||
<module | <module>__js1</module> | ||
<offset type="double">1</offset> | <offset type="double">1</offset> | ||
</binding> | </binding> | ||
</low> | </low> | ||
<high> | <high> | ||
<repeatable | <repeatable>true</repeatable> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>view.panViewDir(-1)</script> | ||
<module | <module>__js1</module> | ||
<offset type="double">1</offset> | <offset type="double">1</offset> | ||
</binding> | </binding> | ||
Line 283: | Line 283: | ||
</axis> | </axis> | ||
<axis n="3"> | <axis n="3"> | ||
<desc | <desc>View Elevation</desc> | ||
<direction | <direction>upward</direction> | ||
<low> | <low> | ||
<repeatable | <repeatable>true</repeatable> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>view.panViewPitch(1)</script> | ||
<module | <module>__js1</module> | ||
<offset type="double">1</offset> | <offset type="double">1</offset> | ||
</binding> | </binding> | ||
</low> | </low> | ||
<high> | <high> | ||
<repeatable | <repeatable>true</repeatable> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>view.panViewPitch(-1)</script> | ||
<module | <module>__js1</module> | ||
<offset type="double">1</offset> | <offset type="double">1</offset> | ||
</binding> | </binding> | ||
</high> | </high> | ||
</axis> | </axis> | ||
<button> | <button n="0"> | ||
<desc | <desc>View Cycle Forwards</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>view.stepView(1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>0</repeatable> | ||
</button> | |||
<button n="1"> | |||
<desc>Reset View</desc> | |||
<binding> | |||
<command>nasal</command> | |||
<script> | |||
setprop("/sim/current-view/view-number", 0); | |||
view.resetView() | |||
</script> | |||
</binding> | |||
<repeatable>0</repeatable> | |||
</button> | </button> | ||
<button n="3"> | <button n="3"> | ||
<desc | <desc>Gear Toggle</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.gearToggle(1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>0</repeatable> | ||
</button> | </button> | ||
<button n="4"> | <button n="4"> | ||
<desc | <desc>Elevator Trim Up</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.elevatorTrim(-1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>1</repeatable> | ||
</button> | </button> | ||
<button n="5"> | <button n="5"> | ||
<desc | <desc>Elevator Trim Down</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.elevatorTrim(1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>1</repeatable> | ||
</button> | </button> | ||
<button n="6"> | <button n="6"> | ||
<desc | <desc>Flaps Down</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.flapsDown(1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>0</repeatable> | ||
</button> | </button> | ||
<button n="7"> | <button n="7"> | ||
<desc | <desc>Flaps Up</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.flapsDown(-1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>0</repeatable> | ||
</button> | </button> | ||
<button n="8"> | <button n="8"> | ||
<desc | <desc>Rudder Trim Left</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.rudderTrim(-1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>1</repeatable> | ||
</button> | </button> | ||
<button n="9"> | <button n="9"> | ||
<desc | <desc>Rudder Trim Right</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.rudderTrim(1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>1</repeatable> | ||
</button> | </button> | ||
<button n="10"> | <button n="10"> | ||
<desc | <desc>Aileron Trim Left</desc> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.aileronTrim(-1);</script> | ||
</binding> | </binding> | ||
<repeatable | <repeatable>1</repeatable> | ||
</button> | </button> | ||
<button n="11"> | <button n="11"> | ||
<desc | <desc>Aileron Trim Right</desc> | ||
<repeatable>1</repeatable> | |||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>controls.aileronTrim(1);</script> | ||
</binding> | </binding> | ||
<repeatable type=" | </button> | ||
<button n="12"> | |||
<desc>Instruments ON OFF</desc> | |||
<repeatable>0</repeatable> | |||
<binding> | |||
<command>nasal</command> | |||
<script>setprop("/controls/lighting/instruments-norm", 0.16)</script> | |||
</binding> | |||
<mod-up> | |||
<binding> | |||
<command>nasal</command> | |||
<script type="string">setprop("/controls/lighting/instruments-norm", 0)</script> | |||
</binding> | |||
</mod-up> | |||
</button> | </button> | ||
<button n="14"> | <button n="14"> | ||
<desc | <desc>Battery ON OFF</desc> | ||
<repeatable>0</repeatable> | |||
<binding> | |||
<command>nasal</command> | |||
<script>setprop("/controls/electric/battery-switch", 1)</script> | |||
</binding> | |||
<mod-up> | |||
<binding> | |||
<command>nasal</command> | |||
<script>setprop("/controls/electric/battery-switch", 0)</script> | |||
</binding> | |||
</mod-up> | |||
</button> | |||
<button n="16"> | |||
<desc>Boost Engine-1 ON OFF</desc> | |||
<repeatable>0</repeatable> | |||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>setprop("/controls/engines/engine/boost", 1)</script> | ||
</binding> | </binding> | ||
<mod-up> | <mod-up> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>setprop("/controls/engines/engine/boost", 0)</script> | ||
</binding> | </binding> | ||
</mod-up> | </mod-up> | ||
</button> | </button> | ||
<button n=" | <button n="22"> | ||
<desc | <desc>Landing Lights Left and Right ON OFF</desc> | ||
<repeatable>0</repeatable> | |||
<binding> | |||
<command>nasal</command> | |||
<script> | |||
setprop("/controls/lighting/landing-lights", 1); | |||
setprop("/controls/lighting/landing-lights[1]" ,1) | |||
</script> | |||
</binding> | |||
<mod-up> | |||
<binding> | |||
<command>nasal</command> | |||
<script> | |||
setprop("/controls/lighting/landing-lights", 0); | |||
setprop("/controls/lighting/landing-lights[1]" ,0) | |||
</script> | |||
</binding> | |||
</mod-up> | |||
</button> | |||
<button n="25"> | |||
<desc>Tail Wheel Lock ON OFF</desc> | |||
<repeatable>0</repeatable> | |||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>setprop("/controls/gear/tailwheel-lock", 1)</script> | ||
</binding> | </binding> | ||
<mod-up> | <mod-up> | ||
<binding> | <binding> | ||
<command | <command>nasal</command> | ||
<script | <script>setprop("/controls/gear/tailwheel-lock", 0)</script> | ||
</binding> | </binding> | ||
</mod-up> | </mod-up> | ||
</button> | </button> | ||
<button n="30"> | |||
<desc>Magneto OFF</desc> | |||
<repeatable>0</repeatable> | |||
<binding> | |||
<command>nasal</command> | |||
<script>setprop("/controls/engines/engine/magnetos", 0)</script> | |||
</binding> | |||
</button> | |||
<button n="33"> | |||
<desc>Magneto Right</desc> | |||
<repeatable>0</repeatable> | |||
<binding> | |||
<command>nasal</command> | |||
<script>setprop("/controls/engines/engine/magnetos", 1)</script> | |||
</binding> | |||
</button> | |||
</PropertyList> | </PropertyList> | ||
</syntaxhighlight> | </syntaxhighlight> |
edits