summaryrefslogtreecommitdiffstats
path: root/src/hid_core/frontend/emulated_controller.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-01-20 19:34:54 +0100
committerGitHub <noreply@github.com>2024-01-20 19:34:54 +0100
commit5838779162897606a3525eb619379a56b2eec027 (patch)
tree3c3530e2f955545968fcc605122aa7565f4b5f1a /src/hid_core/frontend/emulated_controller.h
parentMerge pull request #12701 from liamwhite/flinger-layer-issues (diff)
parentservice: hid: Fully implement abstract vibration (diff)
downloadyuzu-5838779162897606a3525eb619379a56b2eec027.tar
yuzu-5838779162897606a3525eb619379a56b2eec027.tar.gz
yuzu-5838779162897606a3525eb619379a56b2eec027.tar.bz2
yuzu-5838779162897606a3525eb619379a56b2eec027.tar.lz
yuzu-5838779162897606a3525eb619379a56b2eec027.tar.xz
yuzu-5838779162897606a3525eb619379a56b2eec027.tar.zst
yuzu-5838779162897606a3525eb619379a56b2eec027.zip
Diffstat (limited to 'src/hid_core/frontend/emulated_controller.h')
-rw-r--r--src/hid_core/frontend/emulated_controller.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/hid_core/frontend/emulated_controller.h b/src/hid_core/frontend/emulated_controller.h
index 90e536e07..168abe089 100644
--- a/src/hid_core/frontend/emulated_controller.h
+++ b/src/hid_core/frontend/emulated_controller.h
@@ -356,10 +356,27 @@ public:
const NfcState& GetNfc() const;
/**
+ * Sends an on/off vibration to the left device
+ * @return true if vibration had no errors
+ */
+ bool SetVibration(bool should_vibrate);
+
+ /**
+ * Sends an GC vibration to the left device
+ * @return true if vibration had no errors
+ */
+ bool SetVibration(u32 slot, Core::HID::VibrationGcErmCommand erm_command);
+
+ /**
* Sends a specific vibration to the output device
* @return true if vibration had no errors
*/
- bool SetVibration(std::size_t device_index, VibrationValue vibration);
+ bool SetVibration(DeviceIndex device_index, const VibrationValue& vibration);
+
+ /**
+ * @return The last sent vibration
+ */
+ VibrationValue GetActualVibrationValue(DeviceIndex device_index) const;
/**
* Sends a small vibration to the output device
@@ -564,6 +581,7 @@ private:
f32 motion_sensitivity{Core::HID::MotionInput::IsAtRestStandard};
u32 turbo_button_state{0};
std::size_t nfc_handles{0};
+ VibrationValue last_vibration_value{DEFAULT_VIBRATION_VALUE};
// Temporary values to avoid doing changes while the controller is in configuring mode
NpadStyleIndex tmp_npad_type{NpadStyleIndex::None};