warthog: tailwheel/reverser/speedbrake + cleanup
Unfortunately, some aircraft (seahawk) don't play nice and ignore the common speedbrake property, inventing their own. (These basic concepts must be *really* hard to understand ...)
This commit is contained in:
parent
f4cb3863c8
commit
fa1593f9f0
2 changed files with 44 additions and 13 deletions
|
@ -11,9 +11,9 @@
|
|||
|
||||
<PropertyList>
|
||||
<name>Thustmaster Joystick - HOTAS Warthog</name>
|
||||
<name>Thrustmaster Joystick - HOTAS Warthog</name> <!-- in case they ever manage to fix their name -->
|
||||
|
||||
<nasal>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
var this = cmdarg().getParent();
|
||||
var init = !contains(caller(0)[0], "init");
|
||||
|
@ -27,7 +27,7 @@
|
|||
var file = dir ~ "/Input/Joysticks/ThrustMaster/Warthog/Stick/" ~ name ~ ".xml";
|
||||
if (io.stat(file) != nil) {
|
||||
printlog("info", "WARTHOG: loading overlay " ~ file);
|
||||
cmdarg().getNode("script").setValue("");
|
||||
cmdarg().setValues({command: "nasal", script: ""});
|
||||
io.read_properties(file, this);
|
||||
props.runBinding(cmdarg());
|
||||
break;
|
||||
|
@ -44,13 +44,13 @@
|
|||
|
||||
var mod = 0;
|
||||
if (init) {
|
||||
var n = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT");
|
||||
setlistener(n, func(n) mod = n.getValue());
|
||||
var m = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT");
|
||||
setlistener(m, func(n) mod = n.getValue());
|
||||
}
|
||||
|
||||
var trimstep = 0.75;
|
||||
var viewstep = 0.5;
|
||||
var button = { 18: { id: 0 }};
|
||||
var button = {18: {id: 0}};
|
||||
|
||||
var reset_zoom = func setprop("/sim/current-view/field-of-view", 55);
|
||||
var viewdir = props.globals.getNode("/sim").getChildren("view");
|
||||
|
@ -160,6 +160,16 @@
|
|||
|
||||
<button n="2">
|
||||
<name>Nosewheel Steering Button</name>
|
||||
<desc>toggle nosewheel steering/tailwheel lock</desc>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
var i = !(getprop("/controls/gear/nose-wheel-steering") or 0);
|
||||
setprop("/controls/gear/nose-wheel-steering", i);
|
||||
setprop("/controls/gear/tailwheel-lock", !i);
|
||||
popup("Tail Wheel %sLOCKED!", i ? "UN" : "");
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button n="3">
|
||||
|
@ -212,7 +222,6 @@
|
|||
if (mod) {
|
||||
var i = controls.applyParkingBrake(1);
|
||||
popup("Parking Brake %s", i ? "ON" : "OFF");
|
||||
controls.applyBrakes(0);
|
||||
}
|
||||
controls.applyBrakes(0)
|
||||
</script>
|
||||
|
@ -249,7 +258,6 @@
|
|||
if (mod) {
|
||||
var i = controls.applyParkingBrake(1);
|
||||
popup("Parking Brake %s", i ? "ON" : "OFF");
|
||||
controls.applyBrakes(0);
|
||||
}
|
||||
controls.applyBrakes(0)
|
||||
</script>
|
||||
|
@ -380,8 +388,8 @@
|
|||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
view.resetView();
|
||||
button[18].id += 1;
|
||||
view.resetView();
|
||||
</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<name>Thrustmaster Throttle - HOTAS Warthog</name>
|
||||
|
||||
<nasal>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
var this = cmdarg().getParent();
|
||||
var init = !contains(caller(0)[0], "init");
|
||||
|
@ -23,7 +22,7 @@
|
|||
var file = dir ~ "/Input/Joysticks/ThrustMaster/Warthog/Throttle/" ~ name ~ ".xml";
|
||||
if (io.stat(file) != nil) {
|
||||
printlog("info", "WARTHOG: loading overlay " ~ file);
|
||||
cmdarg().getNode("script").setValue("");
|
||||
cmdarg().setValues({command: "nasal", script: ""});
|
||||
io.read_properties(file, this);
|
||||
props.runBinding(cmdarg());
|
||||
break;
|
||||
|
@ -40,8 +39,8 @@
|
|||
|
||||
var mod = 0;
|
||||
if (init) {
|
||||
var n = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT");
|
||||
setlistener(n, func(n) mod = n.getValue());
|
||||
var m = props.globals.initNode("/devices/status/joysticks/warthog/modifier", mod, "INT");
|
||||
setlistener(m, func(n) mod = n.getValue());
|
||||
}
|
||||
|
||||
var left_engines = [0, 2, 4, 6, 8, 10];
|
||||
|
@ -191,7 +190,20 @@
|
|||
</button>
|
||||
|
||||
<button n="6">
|
||||
<name>Speedbrake Forward</name>
|
||||
<name>Speedbrake Forward (right throttle, top grey)</name>
|
||||
<desc>apply speed brake</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/controls/flight/speedbrake</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/controls/flight/speedbrake</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<button n="7">
|
||||
|
@ -204,6 +216,17 @@
|
|||
|
||||
<button n="9">
|
||||
<name>Boat Switch Aft</name>
|
||||
<desc>apply thrust reverser</desc>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>props.setAll("/controls/engines/engine", "reverser", 1)</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>props.setAll("/controls/engines/engine", "reverser", 0)</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
|
||||
<button n="10">
|
||||
|
|
Loading…
Reference in a new issue