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