Add support for a joystick which calls itself 'Microsoft Microsoft SideWinder Precisi...
[fg:toms-fgdata.git] / Input / Joysticks / Microsoft / sidewinder-precision-pro.xml
1 <?xml version="1.0"?>
2
3 <!--
4 ************************************************************************
5 * Bindings for Microsoft SideWinder Force Feed joystick.
6 *
7 *
8 * Axis 0: ailerons
9 * Axis 1: elevator
10 * Axis 2 (twist): rudder
11 * Axis 3: throttle
12 * Axes 6 and 7 (hat): view direction
13 *
14 * Button 1: all brakes
15 * Button 2: elevator trim up
16 * Button 3: elevator trim down
17 * Button 4: right brake only
18 * Button 5: flap down
19 * Button 6: left brake only
20 * Button 7: flap up
21 ************************************************************************
22 $Id$
23 -->
24
25 <PropertyList>
26
27  <name>Microsoft SideWinder Precision Pro</name>
28  <name>Microsoft SideWinder Precision 2 Joystick</name>
29  <name>Microsoft Microsoft SideWinder Precision Pro (USB)</name>
30
31  <axis n="0">
32   <desc>Aileron</desc>
33   <binding>
34    <command>property-scale</command>
35    <property>/controls/flight/aileron</property>
36    <squared type="bool">true</squared>
37   </binding>
38  </axis>
39
40  <axis n="1">
41   <desc>Elevator</desc>
42   <binding>
43    <command>property-scale</command>
44    <property>/controls/flight/elevator</property>
45    <factor type="double">-1.0</factor>
46    <squared type="bool">true</squared>
47   </binding>
48  </axis>
49
50  <axis n="2">
51   <desc>Rudder</desc>
52   <binding>
53    <command>property-scale</command>
54    <property>/controls/flight/rudder</property>
55    <factor type="double">1.0</factor>
56   </binding>
57  </axis>
58
59  <axis n="3">
60   <desc>Throttle</desc>
61   <binding>
62    <command>property-scale</command>
63    <property>/controls/engines/engine[0]/throttle</property>
64    <offset type="double">-1.0</offset>
65    <factor type="double">-0.5</factor>
66   </binding>
67   <binding>
68    <command>property-scale</command>
69    <property>/controls/engines/engine[1]/throttle</property>
70    <offset type="double">-1.0</offset>
71    <factor type="double">-0.5</factor>
72   </binding>
73   <binding>
74    <command>property-scale</command>
75    <property>/controls/engines/engine[2]/throttle</property>
76    <offset type="double">-1.0</offset>
77    <factor type="double">-0.5</factor>
78   </binding>
79   <binding>
80    <command>property-scale</command>
81    <property>/controls/engines/engine[3]/throttle</property>
82    <offset type="double">-1.0</offset>
83    <factor type="double">-0.5</factor>
84   </binding>
85   <binding>
86    <command>property-scale</command>
87    <property>/controls/engines/engine[4]/throttle</property>
88    <offset type="double">-1.0</offset>
89    <factor type="double">-0.5</factor>
90   </binding>
91   <binding>
92    <command>property-scale</command>
93    <property>/controls/engines/engine[5]/throttle</property>
94    <offset type="double">-1.0</offset>
95    <factor type="double">-0.5</factor>
96   </binding>
97   <binding>
98    <command>property-scale</command>
99    <property>/controls/engines/engine[6]/throttle</property>
100    <offset type="double">-1.0</offset>
101    <factor type="double">-0.5</factor>
102   </binding>
103   <binding>
104    <command>property-scale</command>
105    <property>/controls/engines/engine[7]/throttle</property>
106    <offset type="double">-1.0</offset>
107    <factor type="double">-0.5</factor>
108   </binding>
109  </axis>
110
111   <axis n="4">
112    <desc>View Direction</desc>
113    <low>
114     <repeatable>true</repeatable>
115     <binding>
116      <command>property-adjust</command>
117      <property>/sim/current-view/goal-heading-offset-deg</property>
118      <step type="double">1.0</step>
119     </binding>
120    </low>
121    <high>
122     <repeatable>true</repeatable>
123     <binding>
124      <command>property-adjust</command>
125      <property>/sim/current-view/goal-heading-offset-deg</property>
126      <step type="double">-1.0</step>
127     </binding>
128    </high>
129   </axis>
130
131   <axis n="5">
132    <desc>View Elevation</desc>
133    <low>
134     <repeatable>true</repeatable>
135     <binding>
136      <command>property-adjust</command>
137      <property>/sim/current-view/goal-pitch-offset-deg</property>
138      <step type="double">1.0</step>
139     </binding>
140    </low>
141    <high>
142     <repeatable>true</repeatable>
143     <binding>
144      <command>property-adjust</command>
145      <property>/sim/current-view/goal-pitch-offset-deg</property>
146      <step type="double">-1.0</step>
147     </binding>
148    </high>
149   </axis>
150
151  <button n="1">
152   <desc>Brakes</desc>
153   <binding>
154    <command>property-assign</command>
155    <property>/controls/gear/wheel[0]/brake</property>
156    <value type="double">1.0</value>
157   </binding>
158   <binding>
159    <command>property-assign</command>
160    <property>/controls/gear/wheel[1]/brake</property>
161    <value type="double">1.0</value>
162   </binding>
163   <binding>
164    <command>property-assign</command>
165    <property>/controls/gear/wheel[2]/brake</property>
166    <value type="double">1.0</value>
167   </binding>
168   <mod-up>
169    <binding>
170     <command>property-assign</command>
171     <property>/controls/gear/wheel[0]/brake</property>
172     <value type="double">0.0</value>
173    </binding>
174    <binding>
175     <command>property-assign</command>
176     <property>/controls/gear/wheel[1]/brake</property>
177     <value type="double">0.0</value>
178    </binding>
179    <binding>
180     <command>property-assign</command>
181     <property>/controls/gear/wheel[2]/brake</property>
182     <value type="double">0.0</value>
183    </binding>
184   </mod-up>
185  </button>
186
187  <button n="2">
188   <desc>Elevator trim up</desc>
189   <repeatable type="bool">true</repeatable>
190   <binding>
191    <command>property-adjust</command>
192    <property>/controls/flight/elevator-trim</property>
193    <step type="double">0.001</step>
194   </binding>
195  </button>
196
197  <button n="3">
198   <desc>Elevator trim down</desc>
199   <repeatable type="bool">true</repeatable>
200   <binding>
201    <command>property-adjust</command>
202    <property>/controls/flight/elevator-trim</property>
203    <step type="double">-0.001</step>
204   </binding>
205  </button>
206
207  <button n="5">
208   <desc>Flaps down</desc>
209   <repeatable>false</repeatable>
210   <binding>
211    <command>property-adjust</command>
212    <property>/controls/flight/flaps</property>
213    <step type="double">-0.34</step>
214   </binding>
215  </button>
216
217  <button n="7">
218   <desc>Flaps up</desc>
219   <repeatable>false</repeatable>
220   <binding>
221    <command>property-adjust</command>
222    <property>/controls/flight/flaps</property>
223    <step type="double">0.34</step>
224   </binding>
225  </button>
226
227  <button n="4">
228   <desc>Right brake</desc>
229   <binding>
230    <command>property-assign</command>
231    <property>/controls/gear/wheel[1]/brake</property>
232    <value type="double">1.0</value>
233   </binding>
234   <mod-up>
235    <binding>
236     <command>property-assign</command>
237     <property>/controls/gear/wheel[1]/brake</property>
238     <value type="double">0.0</value>
239    </binding>
240   </mod-up>
241  </button>
242
243  <button n="6">
244   <desc>Left brake</desc>
245   <binding>
246    <command>property-assign</command>
247    <property>/controls/gear/wheel[0]/brake</property>
248    <value type="double">1.0</value>
249   </binding>
250   <mod-up>
251    <binding>
252     <command>property-assign</command>
253     <property>/controls/gear/wheel[0]/brake</property>
254     <value type="double">0.0</value>
255    </binding>
256   </mod-up>
257  </button>
258
259 </PropertyList>