diff options
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(); |