/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ import QtQuick 2.3 import QGroundControl 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.Controls 1.0 import QGroundControl.Palette 1.0 import QGroundControl.Vehicle 1.0 Item { // The following properties must be passed in from the Loader // property bool autoCenterThrottle - true: throttle will snap back to center when released property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle Timer { interval: 40 // 25Hz, same as real joystick rate running: QGroundControl.settingsManager.appSettings.virtualJoystick.value && activeVehicle repeat: true onTriggered: { if (activeVehicle) { activeVehicle.virtualTabletJoystickValue(rightStick.xAxis, rightStick.yAxis, leftStick.xAxis, leftStick.yAxis) } } } JoystickThumbPad { id: leftStick anchors.leftMargin: xPositionDelta anchors.bottomMargin: -yPositionDelta anchors.left: parent.left anchors.bottom: parent.bottom width: parent.height height: parent.height yAxisPositiveRangeOnly: _activeVehicle && !_activeVehicle.rover && !_activeVehicle.sub yAxisReCenter: autoCenterThrottle } JoystickThumbPad { id: rightStick anchors.rightMargin: -xPositionDelta anchors.bottomMargin: -yPositionDelta anchors.right: parent.right anchors.bottom: parent.bottom width: parent.height height: parent.height } }