summaryrefslogtreecommitdiffstats
path: root/src/core/hid/emulated_controller.h
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2023-06-17 05:57:21 +0200
committerNarr the Reg <juangerman-13@hotmail.com>2023-06-22 01:54:58 +0200
commit84d43489c5df9f450efb0293cc58161d08e3b882 (patch)
treec4d45b021c78392956dc58d409a34632fe135d2b /src/core/hid/emulated_controller.h
parentMerge pull request #10783 from liamwhite/memory (diff)
downloadyuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.gz
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.bz2
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.lz
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.xz
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.zst
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.zip
Diffstat (limited to '')
-rw-r--r--src/core/hid/emulated_controller.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/core/hid/emulated_controller.h b/src/core/hid/emulated_controller.h
index 09fe1a0ab..d511e5fac 100644
--- a/src/core/hid/emulated_controller.h
+++ b/src/core/hid/emulated_controller.h
@@ -97,10 +97,7 @@ struct RingSensorForce {
f32 force;
};
-struct NfcState {
- Common::Input::NfcState state{};
- std::vector<u8> data{};
-};
+using NfcState = Common::Input::NfcStatus;
struct ControllerMotion {
Common::Vec3f accel{};
@@ -393,9 +390,31 @@ public:
/// Returns true if the device has nfc support
bool HasNfc() const;
+ /// Sets the joycon in nfc mode and increments the handle count
+ bool AddNfcHandle();
+
+ /// Decrements the handle count if zero sets the joycon in active mode
+ bool RemoveNfcHandle();
+
+ /// Start searching for nfc tags
+ bool StartNfcPolling();
+
+ /// Stop searching for nfc tags
+ bool StopNfcPolling();
+
+ /// Returns true if the nfc tag was readable
+ bool ReadAmiiboData(std::vector<u8>& data);
+
/// Returns true if the nfc tag was written
bool WriteNfc(const std::vector<u8>& data);
+ /// Returns true if the nfc tag was readable
+ bool ReadMifareData(const Common::Input::MifareRequest& request,
+ Common::Input::MifareRequest& out_data);
+
+ /// Returns true if the nfc tag was written
+ bool WriteMifareData(const Common::Input::MifareRequest& request);
+
/// Returns the led pattern corresponding to this emulated controller
LedPattern GetLedPattern() const;
@@ -532,6 +551,7 @@ private:
bool system_buttons_enabled{true};
f32 motion_sensitivity{Core::HID::MotionInput::IsAtRestStandard};
u32 turbo_button_state{0};
+ std::size_t nfc_handles{0};
// Temporary values to avoid doing changes while the controller is in configuring mode
NpadStyleIndex tmp_npad_type{NpadStyleIndex::None};