summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h
index 21aca174a9..da66dc034e 100644
--- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h
+++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h
@@ -40,4 +40,28 @@ private:
SettingValue<double> m_jerk_setting;
SettingValue<double> m_angle_setting;
};
+
+class Shake : public ControlGroup
+{
+public:
+ using StateData = Common::Vec3;
+
+ explicit Shake(const std::string& name, ControlState default_intensity_scale = 1);
+
+ StateData GetState(bool adjusted = true) const;
+
+ ControlState GetDeadzone() const;
+
+ // Return total travel distance in meters.
+ ControlState GetIntensity() const;
+
+ // Return frequency in Hz.
+ ControlState GetFrequency() const;
+
+private:
+ SettingValue<double> m_deadzone_setting;
+ SettingValue<double> m_intensity_setting;
+ SettingValue<double> m_frequency_setting;
+};
+
} // namespace ControllerEmu