summaryrefslogtreecommitdiffstats
path: root/src/core/hid/emulated_controller.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-12-05 08:08:43 +0100
committerGitHub <noreply@github.com>2021-12-05 08:08:43 +0100
commit60e923046e07657f7bbae4b0342efad6c3641252 (patch)
tree0527ae35ff85e56adc4201d3e3204ec53bfeddb6 /src/core/hid/emulated_controller.h
parentMerge pull request #7467 from liushuyu/fix-linux-decoding (diff)
parentcore/hid: Ensure only valid npad are connected (diff)
downloadyuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar.gz
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar.bz2
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar.lz
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar.xz
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.tar.zst
yuzu-60e923046e07657f7bbae4b0342efad6c3641252.zip
Diffstat (limited to 'src/core/hid/emulated_controller.h')
-rw-r--r--src/core/hid/emulated_controller.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/hid/emulated_controller.h b/src/core/hid/emulated_controller.h
index 5887e3e38..425b3e7c4 100644
--- a/src/core/hid/emulated_controller.h
+++ b/src/core/hid/emulated_controller.h
@@ -160,6 +160,13 @@ public:
*/
NpadStyleIndex GetNpadStyleIndex(bool get_temporary_value = false) const;
+ /**
+ * Sets the supported controller types. Disconnects the controller if current type is not
+ * supported
+ * @param supported_styles bitflag with supported types
+ */
+ void SetSupportedNpadStyleTag(NpadStyleTag supported_styles);
+
/// Sets the connected status to true
void Connect();
@@ -311,6 +318,12 @@ private:
void LoadTASParams();
/**
+ * Checks the current controller type against the supported_style_tag
+ * @return true if the controller is supported
+ */
+ bool IsControllerSupported() const;
+
+ /**
* Updates the button status of the controller
* @param callback A CallbackStatus containing the button status
* @param index Button ID of the to be updated
@@ -354,6 +367,7 @@ private:
NpadIdType npad_id_type;
NpadStyleIndex npad_type{NpadStyleIndex::None};
+ NpadStyleTag supported_style_tag{NpadStyleSet::All};
bool is_connected{false};
bool is_configuring{false};
f32 motion_sensitivity{0.01f};