diff options
| author | 2023-05-17 22:17:16 -0600 | |
|---|---|---|
| committer | 2023-05-21 21:09:20 -0600 | |
| commit | fdb2002f77de6af19cc7f526b2e7540c329161c3 (patch) | |
| tree | 6bcb2ca55810c05d15a561e2fa0bc0a6c1a9175a /src/input_common/helpers/joycon_driver.cpp | |
| parent | Merge pull request #10344 from german77/pro-amiibo (diff) | |
| download | yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.gz yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.tar.xz yuzu-fdb2002f77de6af19cc7f526b2e7540c329161c3.zip | |
input_common: Implement amiibo writting
Diffstat (limited to 'src/input_common/helpers/joycon_driver.cpp')
| -rw-r--r-- | src/input_common/helpers/joycon_driver.cpp | 20 |
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() { | |||
| 492 | return result; | 492 | return result; |
| 493 | } | 493 | } |
| 494 | 494 | ||
| 495 | DriverResult JoyconDriver::WriteNfcData(std::span<const u8> data) { | ||
| 496 | std::scoped_lock lock{mutex}; | ||
| 497 | disable_input_thread = true; | ||
| 498 | |||
| 499 | if (!supported_features.nfc) { | ||
| 500 | return DriverResult::NotSupported; | ||
| 501 | } | ||
| 502 | if (!nfc_protocol->IsEnabled()) { | ||
| 503 | return DriverResult::Disabled; | ||
| 504 | } | ||
| 505 | if (!amiibo_detected) { | ||
| 506 | return DriverResult::ErrorWritingData; | ||
| 507 | } | ||
| 508 | |||
| 509 | const auto result = nfc_protocol->WriteAmiibo(data); | ||
| 510 | |||
| 511 | disable_input_thread = false; | ||
| 512 | return result; | ||
| 513 | } | ||
| 514 | |||
| 495 | bool JoyconDriver::IsConnected() const { | 515 | bool JoyconDriver::IsConnected() const { |
| 496 | std::scoped_lock lock{mutex}; | 516 | std::scoped_lock lock{mutex}; |
| 497 | return is_connected.load(); | 517 | return is_connected.load(); |