summaryrefslogtreecommitdiffstats
path: root/src/input_common/helpers/joycon_driver.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2023-05-18 06:17:16 +0200
committergerman77 <juangerman-13@hotmail.com>2023-05-22 05:09:20 +0200
commitfdb2002f77de6af19cc7f526b2e7540c329161c3 (patch)
tree6bcb2ca55810c05d15a561e2fa0bc0a6c1a9175a /src/input_common/helpers/joycon_driver.cpp
parentMerge pull request #10344 from german77/pro-amiibo (diff)
downloadyuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.gz
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.bz2
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.lz
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.xz
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.zst
yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.zip
Diffstat (limited to '')
-rw-r--r--src/input_common/helpers/joycon_driver.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/input_common/helpers/joycon_driver.cpp b/src/input_common/helpers/joycon_driver.cpp
index 83429a336..95106f16d 100644
--- a/src/input_common/helpers/joycon_driver.cpp
+++ b/src/input_common/helpers/joycon_driver.cpp
@@ -492,6 +492,26 @@ DriverResult JoyconDriver::SetRingConMode() {
return result;
}
+DriverResult JoyconDriver::WriteNfcData(std::span<const u8> data) {
+ std::scoped_lock lock{mutex};
+ disable_input_thread = true;
+
+ if (!supported_features.nfc) {
+ return DriverResult::NotSupported;
+ }
+ if (!nfc_protocol->IsEnabled()) {
+ return DriverResult::Disabled;
+ }
+ if (!amiibo_detected) {
+ return DriverResult::ErrorWritingData;
+ }
+
+ const auto result = nfc_protocol->WriteAmiibo(data);
+
+ disable_input_thread = false;
+ return result;
+}
+
bool JoyconDriver::IsConnected() const {
std::scoped_lock lock{mutex};
return is_connected.load();