diff --git a/src/FlightDisplay/FlightDisplayViewWidgets.qml b/src/FlightDisplay/FlightDisplayViewWidgets.qml index 6d8458d5210dc103841b0479161bd7fece7d227a..a60c925a2f18a219ca5154780639964e084325ed 100644 --- a/src/FlightDisplay/FlightDisplayViewWidgets.qml +++ b/src/FlightDisplay/FlightDisplayViewWidgets.qml @@ -86,6 +86,10 @@ Item { target: QGroundControl.settingsManager.appSettings.virtualJoystick onValueChanged: _setInstrumentWidget() } + Connections { + target: QGroundControl.settingsManager.appSettings.virtualJoystickCentralized + onValueChanged: _setInstrumentWidget() + } Connections { target: QGroundControl.settingsManager.appSettings.showLargeCompass diff --git a/src/Settings/App.SettingsGroup.json b/src/Settings/App.SettingsGroup.json index 4e423823f3730bb15fdc8b95f573889b3469f1cb..37058d7e184eea3440416a3084263dd07bddbd53 100644 --- a/src/Settings/App.SettingsGroup.json +++ b/src/Settings/App.SettingsGroup.json @@ -103,6 +103,13 @@ "type": "bool", "defaultValue": false }, +{ + "name": "virtualJoystickCentralized", + "shortDescription": "Set virtual joystick to be centralize throttle (spring-loaded).", + "longDescription": "If this option is enabled the virtual joystick throttle stick will be centralized.", + "type": "bool", + "defaultValue": false +}, { "name": "gstDebugLevel", "shortDescription": "Video streaming debug", diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index b9512f60660e95d9fc83433a5aaf5f8abe0c5717..c8774f20295331ba8f1c11d797eadf38be58d282 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -78,6 +78,7 @@ DECLARE_SETTINGSFACT(AppSettings, telemetrySave) DECLARE_SETTINGSFACT(AppSettings, telemetrySaveNotArmed) DECLARE_SETTINGSFACT(AppSettings, audioMuted) DECLARE_SETTINGSFACT(AppSettings, virtualJoystick) +DECLARE_SETTINGSFACT(AppSettings, virtualJoystickCentralized) DECLARE_SETTINGSFACT(AppSettings, appFontPointSize) DECLARE_SETTINGSFACT(AppSettings, showLargeCompass) DECLARE_SETTINGSFACT(AppSettings, savePath) diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h index 17cb0ecfd7aa483135a9e3db40348f8d3e99dafa..afa54966c4f58192eaf9d2e4820db9edba462145 100644 --- a/src/Settings/AppSettings.h +++ b/src/Settings/AppSettings.h @@ -33,6 +33,7 @@ public: DEFINE_SETTINGFACT(telemetrySaveNotArmed) DEFINE_SETTINGFACT(audioMuted) DEFINE_SETTINGFACT(virtualJoystick) + DEFINE_SETTINGFACT(virtualJoystickCentralized) DEFINE_SETTINGFACT(appFontPointSize) DEFINE_SETTINGFACT(indoorPalette) DEFINE_SETTINGFACT(showLargeCompass) diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index ad4a90a634bdc032e48388e8a625883b0a98bfc3..66983e1ad76a8ed31b0feb8849912b96ea123555 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -455,6 +455,17 @@ QGCView { property Fact _virtualJoystick: QGroundControl.settingsManager.appSettings.virtualJoystick } + FactCheckBox { + text: qsTr("Auto-Center throttle") + visible: _virtualJoystickCentralized.visible && ( + QGroundControl.multiVehicleManager.activeVehicle.sub || QGroundControl.multiVehicleManager.activeVehicle.rover + ) + fact: _virtualJoystickCentralized + Layout.leftMargin: _margins + + property Fact _virtualJoystickCentralized: QGroundControl.settingsManager.appSettings.virtualJoystickCentralized + } + GridLayout { columns: 2