From f7a50545e3d6878989886203e202fed4af390f0d Mon Sep 17 00:00:00 2001 From: rlnilsen <47765059+rlnilsen@users.noreply.github.com> Date: Tue, 29 Oct 2019 15:56:36 +0100 Subject: [PATCH] Motion Input: Add "enable" checkbox for motion controlled cursor. --- Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp | 6 ++++++ .../InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp b/Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp index 00820bf55a..0e33182cf2 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp @@ -325,6 +325,12 @@ void EmulateIMUCursor(std::optional* state, ControllerEmu::IMUC // Avoid having to double dereference auto& st = *state; + if (!imu_ir_group->enabled) + { + st = std::nullopt; + return; + } + auto accel = imu_accelerometer_group->GetState(); auto ang_vel = imu_gyroscope_group->GetState(); diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp index 7133a07e59..9eedbf0747 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp @@ -18,7 +18,8 @@ namespace ControllerEmu { IMUCursor::IMUCursor(std::string name, std::string ui_name) - : ControlGroup(std::move(name), std::move(ui_name), GroupType::IMUCursor) + : ControlGroup(std::move(name), std::move(ui_name), GroupType::IMUCursor, + ControlGroup::CanBeDisabled::Yes) { controls.emplace_back(std::make_unique(Translate, _trans("Recenter")));