diff --git a/Nasal/controls.nas b/Nasal/controls.nas index 4dd851bbd..b2c908126 100644 --- a/Nasal/controls.nas +++ b/Nasal/controls.nas @@ -558,6 +558,13 @@ var applyApplicableBrakes = func(v, which = 0) { } } +var autopilotDisconnect = func() { + var aps = props.getNode("/controls/autoflight").getChildren("autopilot"); + foreach (var ap; aps) { + ap.getChild("engage").setBoolValue(0); + } +} + # 1: Deploy, -1: Release var deployChute = func(v) setprop("/controls/flight/drag-chute", v); diff --git a/Nasal/joystick.nas b/Nasal/joystick.nas index 536193da1..01a060052 100644 --- a/Nasal/joystick.nas +++ b/Nasal/joystick.nas @@ -418,7 +418,7 @@ var PropertyToggleButton = { var c = prop.getNode("binding", 1).getNode("command", 1).getValue(); var p = prop.getNode("binding", 1).getNode("property", 1).getValue(); - return ((c == "property-toggle") and (p == me.prop)); + return ((c == "property-toggle") and (p == me.binding)); }, getBinding: func(button) { @@ -566,6 +566,7 @@ var buttonBindings = [ NasalHoldButton.new("Brakes (air/wheel)", "controls.applyApplicableBrakes(1);", "controls.applyApplicableBrakes(0);"), NasalHoldButton.new("Parking brakes", "controls.parkingBrakeToggle(0);", "controls.parkingBrakeToggle(1);"), NasalHoldButton.new("NWS toggle", "controls.toggleNWS(0);", "controls.toggleNWS(1);"), + NasalButton.new("Autopilot disconnect", "controls.autopilotDisconnect();",0), PropertyToggleButton.new("Total Freeze", "/sim/freeze/clock"), diff --git a/gui/dialogs/button-config.xml b/gui/dialogs/button-config.xml index 21cd9fb90..42a997934 100644 --- a/gui/dialogs/button-config.xml +++ b/gui/dialogs/button-config.xml @@ -486,6 +486,19 @@ var assignButton = func(cmd) { + + 0 4