diff --git a/src/FlightDisplay/FlightDisplayViewWidgets.qml b/src/FlightDisplay/FlightDisplayViewWidgets.qml index 6d8458d..a60c925 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 4e42382..37058d7 100644 --- a/src/Settings/App.SettingsGroup.json +++ b/src/Settings/App.SettingsGroup.json @@ -104,6 +104,13 @@ "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", "longDescription": "Sets the environment variable GST_DEBUG for all pipeline elements on boot.", diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index b9512f6..c8774f2 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 17cb0ec..afa5496 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 ad4a90a..66983e1 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