From 39148a77caad22f2d8e2fcc96801a4b9e36543a4 Mon Sep 17 00:00:00 2001 From: curt <curt> Date: Mon, 4 Jun 2001 19:48:08 +0000 Subject: [PATCH] ** joysticks.xml - new external file for joystick configuration - designed for a basic three-axis, three-button joystick; others will require some work ** keyboard.xml - changed back to using index ('n' attribute) to represent key code - switched to nesting for modifiers, so that they can all appear in the same declaration - bound 'b' to brake, but modified so that the brake is released as soon as the button is ** preferences.xml - start mixture at 1.0 (full rich), which is most appropriate for take-off and landing - commented out old joystick bindings - added reference to external joysticks.xml file --- joysticks.xml | 116 ++++++++++ keyboard.xml | 556 +++++++++++++++++++++++------------------------- preferences.xml | 67 +----- 3 files changed, 380 insertions(+), 359 deletions(-) create mode 100644 joysticks.xml diff --git a/joysticks.xml b/joysticks.xml new file mode 100644 index 000000000..f7a9e31f0 --- /dev/null +++ b/joysticks.xml @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<!-- +Joystick binding definitions. + +This file is included by preferences.xml, and uses the context of its +inclusion point; that means that you need to prepend "/input/joysticks" +to all property names. + +This file defines primary flight-control bindings for a simple +three-axis, three-button joystick, as follow: + + axis 0 (left-right): aileron + axis 1 (forward-backward): elevator + axis 2 (slider): throttle + button 0 (trigger): brakes + button 1: trim up + button 2: trim down + +If you have a more sophisticated joystick, there might be more axes +available; on my joystick, axis 2 is actually a twist axis (usually +for the rudder), while axis 3 is the throttle. There are also two +axes for the hat switch, and several more buttons. +--> + +<PropertyList> + + <js> + + <axis n="0"> + <desc>Aileron</desc> + <binding> + <command>property-scale</command> + <property>/controls/aileron</property> + </binding> + </axis> + + <axis n="1"> + <desc>Elevator</desc> + <binding> + <command>property-scale</command> + <property>/controls/elevator</property> + <factor type="double">-1.0</factor> + </binding> + </axis> + + <axis n="2"> + <desc>Throttle</desc> + <binding> + <command>property-scale</command> + <property>/controls/throttle</property> + <offset type="double">-1.0</offset> + <factor type="double">-0.5</factor> + </binding> + </axis> + + <button n="0"> + <desc>Brakes</desc> + <binding> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">1.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">1.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[2]</property> + <value type="double">1.0</value> + </binding> + <mod-up> + <binding> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">0.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">0.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[2]</property> + <value type="double">0.0</value> + </binding> + </mod-up> + </button> + + <button n="1"> + <desc>Elevator trim up</desc> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/controls/elevator-trim</property> + <step type="double">0.01</step> + </binding> + </button> + + <button n="2"> + <desc>Elevator trim down</desc> + <repeatable>true</repeatable> + <binding> + <command>property-adjust</command> + <property>/controls/elevator-trim</property> + <step type="double">-0.01</step> + </binding> + </button> + + </js> + +</PropertyList> + +<!-- end of joysticks.xml --> diff --git a/keyboard.xml b/keyboard.xml index 28f325d8c..1f328dbd5 100644 --- a/keyboard.xml +++ b/keyboard.xml @@ -13,14 +13,9 @@ Regular keycodes go up to 255; special keys start at 256, and can be calculated by adding 256 to the GLUT key value in glut.h. --> -<!-- -<!DOCTYPE PropertyList SYSTEM "keyboard.dtd"> ---> - <PropertyList> - <key> - <code>1</code> + <key n="1"> <name>Ctrl-A</name> <desc>Toggle autopilot altitude lock.</desc> <binding> @@ -29,8 +24,7 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>8</code> + <key n="8"> <name>Ctrl-H</name> <desc>Toggle autopilot heading lock.</desc> <binding> @@ -39,19 +33,17 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>13</code> + <key n="13"> <name>Enter</name> <desc>Move rudder right or increase autopilot heading.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/rudder</property> - <step>0.05</step> + <step type="double">0.05</step> </binding> </key> - <key> - <code>14</code> + <key n="14"> <name>Ctrl-N</name> <desc>Toggle autopilot nav1 lock.</desc> <binding> @@ -60,8 +52,7 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>19</code> + <key n="19"> <name>Ctrl-S</name> <desc>Toggle auto-throttle lock.</desc> <binding> @@ -70,246 +61,231 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>21</code> + <key n="21"> <name>Ctrl-U</name> <desc>[Cheat] Add 1000ft of emergency altitude.</desc> <binding> <command>property-adjust</command> <property>/position/altitude</property> - <step>1000</step> + <step type="double">1000.0</step> </binding> </key> - <key> - <code>48</code> + <key n="44"> + <name>,</name> + <desc>Left brake</desc> + <binding> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">1.0</value> + </binding> + <mod-up> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">0.0</value> + </mod-up> + </key> + + <key n="46"> + <name>.</name> + <desc>Right brake</desc> + <binding> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">1.0</value> + </binding> + <mod-up> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">0.0</value> + </mod-up> + </key> + + <key n="48"> <name>0</name> <desc>Move rudder left or increase autopilot heading.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/rudder</property> - <step>-0.05</step> + <step type="double">-0.05</step> </binding> </key> - <key> - <code>49</code> + <key n="49"> <name>1</name> <desc>Decrease elevator trim.</desc> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> - <step>-0.001</step> + <step type="double">-0.001</step> </binding> + <mod-shift> + <desc>Look back left</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">135</value> + </binding> + </mod-shift> </key> - <key> - <code>49</code> - <name>Keypad-1</name> - <desc>Look back left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>135</value> - </binding> - </key> - - <key> - <code>50</code> + <key n="50"> <name>2</name> <desc>Increase elevator or autopilot altitude.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/elevator</property> - <step>0.01</step> + <step type="double">0.01</step> </binding> + <mod-shift> + <desc>Look back.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">180</value> + </binding> + </mod-shift> </key> - <key> - <code>50</code> - <name>Keypad-2</name> - <desc>Look back.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>180</value> - </binding> - </key> - - <key> - <code>51</code> + <key n="51"> <name>3</name> <desc>Decrease throttle or autopilot autothrottle.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/throttle</property> - <step>-0.01</step> + <step type="double">-0.01</step> </binding> + <mod-shift> + <desc>Look back right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">225</value> + </binding> + </mod-shift> </key> - <key> - <code>51</code> - <name>Keypad-3</name> - <desc>Look back right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>225</value> - </binding> - </key> - - <key> - <code>52</code> + <key n="52"> <name>4</name> <desc>Move aileron left.</desc> <binding> <command>property-adjust</command> <property>/controls/aileron</property> - <step>-0.05</step> + <step type="double">-0.05</step> </binding> + <mod-shift> + <desc>Look left.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">90</value> + </binding> + </mod-shift> </key> - <key> - <code>52</code> - <name>Keypad-4</name> - <desc>Look left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>90</value> - </binding> - </key> - - <key> - <code>53</code> + <key n="53"> <name>5</name> <desc>Center aileron, elevator, and rudder.</desc> <binding> <command>property-assign</command> <property>/controls/aileron</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/elevator</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/rudder</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> </key> - <key> - <code>54</code> + <key n="54"> <name>6</name> <desc>Move aileron right.</desc> <binding> <command>property-adjust</command> <property>/controls/aileron</property> - <step>0.05</step> + <step type="double">0.05</step> </binding> + <mod-shift> + <desc>Look right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">270</value> + </binding> + </mod-shift> </key> - <key> - <code>54</code> - <name>Keypad-6</name> - <desc>Look right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>270</value> - </binding> - </key> - - <key> - <code>55</code> + <key n="55"> <name>7</name> <desc>Increase elevator trim.</desc> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> - <step>0.001</step> + <step type="double">0.001</step> </binding> + <mod-shift> + <desc>Look front left.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">45</value> + </binding> + </mod-shift> </key> - <key> - <code>55</code> - <name>Keypad-7</name> - <desc>Look front left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>45</value> - </binding> - </key> - - <key> - <code>56</code> + <key n="56"> <name>8</name> <desc>Decrease elevator or autopilot altitude.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/elevator</property> - <step>-0.01</step> + <step type="double">-0.01</step> </binding> + <mod-shift> + <desc>Look forward.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">0</value> + </binding> + </mod-shift> </key> - <key> - <code>56</code> - <name>Keypad-8</name> - <desc>Look forward.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>0</value> - </binding> - </key> - - <key> - <code>57</code> + <key n="57"> <name>9</name> <desc>Increase throttle or autopilot autothrottle.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/throttle</property> - <step>0.01</step> + <step type="double">0.01</step> </binding> + <mod-shift> + <desc>Look front right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">315</value> + </binding> + </mod-shift> </key> - <key> - <code>57</code> - <name>Keypad-9</name> - <desc>Look front right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>315</value> - </binding> - </key> - - <key> - <code>65</code> + <key n="65"> <name>A</name> <desc>Decrease speed-up.</desc> <binding> <command>property-adjust</command> <property>/sim/speed-up</property> - <step>-1</step> + <step type="double">-1</step> </binding> </key> - <key> - <code>80</code> + <key n="80"> <name>P</name> <desc>Toggle panel.</desc> <binding> @@ -318,41 +294,75 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>91</code> + <key n="91"> <name>[</name> <desc>Decrease flaps.</desc> <binding> <command>property-adjust</command> <property>/controls/flaps</property> - <step>-0.34</step> + <step type="double">-0.34</step> </binding> </key> - <key> - <code>93</code> + <key n="93"> <name>]</name> <desc>Increase flaps.</desc> <binding> <command>property-adjust</command> <property>/controls/flaps</property> - <step>0.34</step> + <step type="double">0.34</step> </binding> </key> - <key> - <code>97</code> + <key n="97"> <name>a</name> <desc>Increase speed-up.</desc> <binding> <command>property-adjust</command> <property>/sim/speed-up</property> - <step>1</step> + <step type="double">1</step> </binding> </key> - <key> - <code>118</code> + <key n="98"> + <name>b</name> + <desc>Apply all brakes.</desc> + <binding> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">1.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">1.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[2]</property> + <value type="double">1.0</value> + </binding> + <mod-up> + <desc>Release all brakes.</desc> + <binding> + <command>property-assign</command> + <property>/controls/brakes[0]</property> + <value type="double">0.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[1]</property> + <value type="double">0.0</value> + </binding> + <binding> + <command>property-assign</command> + <property>/controls/brakes[2]</property> + <value type="double">0.0</value> + </binding> + </mod-up> + </key> + + <key n="118"> <name>v</name> <desc>Cycle view</desc> <binding> @@ -360,8 +370,7 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>259</code> + <key n="259"> <name>F3</name> <desc>Capture screen.</desc> <binding> @@ -369,230 +378,187 @@ calculated by adding 256 to the GLUT key value in glut.h. </binding> </key> - <key> - <code>269</code> + <key n="269"> <name>Enter</name> <desc>Move rudder right or increase autopilot heading.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/rudder</property> - <step>0.05</step> + <step type="double">0.05</step> </binding> </key> - <key> - <code>309</code> + <key n="309"> <name>Keypad 5</name> <desc>Center aileron, elevator, and rudder.</desc> <binding> <command>property-assign</command> <property>/controls/aileron</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/elevator</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/rudder</property> - <value>0.0</value> + <value type="double">0.0</value> </binding> </key> - <key> - <code>356</code> + <key n="356"> <name>Left</name> <desc>Move aileron left.</desc> <binding> <command>property-adjust</command> <property>/controls/aileron</property> - <step>-0.05</step> + <step type="double">-0.05</step> </binding> + <mod-shift> + <desc>Look left.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">90</value> + </binding> + </mod-shift> </key> - <key> - <code>356</code> - <name>Keypad-4</name> - <desc>Look left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>90</value> - </binding> - </key> - - <key> - <code>357</code> + <key n="357"> <name>Up</name> <desc>Increase elevator or autopilot altitude.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/elevator</property> - <step>0.05</step> + <step type="double">0.05</step> </binding> + <mod-shift> + <desc>Look forward.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">0</value> + </binding> + </mod-shift> </key> - <key> - <code>357</code> - <name>Keypad-8</name> - <desc>Look forward.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>0</value> - </binding> - </key> - - <key> - <code>358</code> + <key n="358"> <name>Right</name> <desc>Move aileron right.</desc> <binding> <command>property-adjust</command> <property>/controls/aileron</property> - <step>0.05</step> + <step type="double">0.05</step> </binding> + <mod-shift> + <desc>Look right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">270</value> + </binding> + </mod-shift> </key> - <key> - <code>358</code> - <name>Keypad-6</name> - <desc>Look right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>270</value> - </binding> - </key> - - <key> - <code>359</code> + <key n="359"> <name>Down</name> <desc>Decrease elevator or autopilot altitude.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/elevator</property> - <step>-0.05</step> + <step type="double">-0.05</step> </binding> + <mod-shift> + <desc>Look backwards.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">180</value> + </binding> + </mod-shift> </key> - <key> - <code>359</code> - <name>Keypad-2</name> - <desc>Look backwards.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>180</value> - </binding> - </key> - - <key> - <code>360</code> + <key n="360"> <name>PageUp</name> <desc>Increase throttle or autopilot autothrottle.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/throttle</property> - <step>0.01</step> + <step type="double">0.01</step> </binding> + <mod-shift> + <desc>Look front right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">315</value> + </binding> + </mod-shift> </key> - <key> - <code>360</code> - <name>Keypad-9</name> - <desc>Look front right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>315</value> - </binding> - </key> - - <key> - <code>361</code> + <key n="361"> <name>PageDown</name> <desc>Decrease throttle or autopilot autothrottle.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/throttle</property> - <step>-0.01</step> + <step type="double">-0.01</step> </binding> + <mod-shift> + <desc>Look back right.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">225</value> + </binding> + </mod-shift> </key> - <key> - <code>361</code> - <name>Keypad-3</name> - <desc>Look back right.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>225</value> - </binding> - </key> - - <key> - <code>362</code> + <key n="362"> <name>Home</name> <desc>Increase elevator trim.</desc> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> - <step>0.001</step> + <step type="double">0.001</step> </binding> + <mod-shift> + <desc>Look front left.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">45</value> + </binding> + </mod-shift> </key> - <key> - <code>362</code> - <name>Keypad-7</name> - <desc>Look front left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>45</value> - </binding> - </key> - - <key> - <code>363</code> + <key n="363"> <name>End</name> <desc>Decrease elevator trim.</desc> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> - <step>-0.001</step> + <step type="double">-0.001</step> </binding> + <mod-shift> + <desc>Look back left.</desc> + <binding> + <command>property-assign</command> + <property>/sim/view/goal-offset</property> + <value type="double">135</value> + </binding> + </mod-shift> </key> - <key> - <code>363</code> - <name>Keypad-1</name> - <desc>Look back left.</desc> - <mod-shift>true</mod-shift> - <binding> - <command>property-assign</command> - <property>/sim/view/goal-offset</property> - <value>135</value> - </binding> - </key> - - <key> - <code>364</code> + <key n="364"> <name>Insert</name> <desc>Move rudder left or decrease autopilot heading.</desc> <binding> <command>property-adjust</command> <property>/autopilot/control-overrides/rudder</property> - <step>-0.05</step> + <step type="double">-0.05</step> </binding> </key> diff --git a/preferences.xml b/preferences.xml index 8894287ed..3f8e9920f 100644 --- a/preferences.xml +++ b/preferences.xml @@ -78,7 +78,7 @@ Started September 2000 by David Megginson, david@megginson.com <!-- Controls --> <controls> - <mixture>0.8</mixture> + <mixture>1.0</mixture> </controls> @@ -89,69 +89,8 @@ Started September 2000 by David Megginson, david@megginson.com <!-- included externally --> <keyboard include="keyboard.xml"/> - <js0> - <axis0> - <control>/controls/aileron</control> - <dead-band>0.1</dead-band> - </axis0> - <axis1> - <control>/controls/elevator</control> - <dead-band>0.1</dead-band> - <factor>-1.0</factor> - </axis1> - <axis2> - <control>/controls/rudder</control> - <dead-band>0.1</dead-band> - </axis2> - <axis3> - <control>/controls/throttle</control> - <dead-band>0.0</dead-band> - <factor>-0.5</factor> - <offset>-1.0</offset> - </axis3> - <button0> - <action>switch</action> - <control>/controls/brakes/all</control> - <repeatable>0.0</repeatable> - <step>1.0</step> - </button0> - <button1> - <action>switch</action> - <control>/controls/brakes[0]</control> - <repeatable>0.0</repeatable> - <step>1.0</step> - </button1> - <button2> - <action>switch</action> - <control>/controls/brakes[1]</control> - <repeatable>0.0</repeatable> - <step>1.0</step> - </button2> - <button3> - <action>adjust</action> - <control>/controls/elevator-trim</control> - <repeatable>true</repeatable> - <step>0.001</step> - </button3> - <button4> - <action>adjust</action> - <control>/controls/elevator-trim</control> - <repeatable>true</repeatable> - <step>-0.001</step> - </button4> - <button5> - <action>adjust</action> - <control>/controls/flaps</control> - <repeatable>false</repeatable> - <step>-0.34</step> - </button5> - <button6> - <action>adjust</action> - <control>/controls/flaps</control> - <repeatable>false</repeatable> - <step>0.34</step> - </button6> - </js0> + <!-- included externally --> + <joysticks include="joysticks.xml"/> </input>