diff options
author | german77 <juangerman-13@hotmail.com> | 2022-10-09 19:49:07 +0200 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2022-10-09 19:49:18 +0200 |
commit | 224a19758efff450b78dbba43c80f73e55599074 (patch) | |
tree | f4fc806374474298f65b847521027a5aba540bd8 | |
parent | Merge pull request #9016 from liamwhite/drunken-schedule (diff) | |
download | yuzu-224a19758efff450b78dbba43c80f73e55599074.tar yuzu-224a19758efff450b78dbba43c80f73e55599074.tar.gz yuzu-224a19758efff450b78dbba43c80f73e55599074.tar.bz2 yuzu-224a19758efff450b78dbba43c80f73e55599074.tar.lz yuzu-224a19758efff450b78dbba43c80f73e55599074.tar.xz yuzu-224a19758efff450b78dbba43c80f73e55599074.tar.zst yuzu-224a19758efff450b78dbba43c80f73e55599074.zip |
-rw-r--r-- | src/common/input.h | 5 | ||||
-rw-r--r-- | src/core/hid/input_converter.cpp | 10 | ||||
-rw-r--r-- | src/input_common/input_poller.cpp | 10 |
3 files changed, 19 insertions, 6 deletions
diff --git a/src/common/input.h b/src/common/input.h index bfa0639f5..b533f3844 100644 --- a/src/common/input.h +++ b/src/common/input.h @@ -277,8 +277,9 @@ struct CallbackStatus { BodyColorStatus color_status{}; BatteryStatus battery_status{}; VibrationStatus vibration_status{}; - CameraStatus camera_status{}; - NfcStatus nfc_status{}; + CameraFormat camera_status{CameraFormat::None}; + NfcState nfc_status{NfcState::Unknown}; + std::vector<u8> raw_data{}; }; // Triggered once every input change diff --git a/src/core/hid/input_converter.cpp b/src/core/hid/input_converter.cpp index fe9915abe..5d8b75b50 100644 --- a/src/core/hid/input_converter.cpp +++ b/src/core/hid/input_converter.cpp @@ -277,7 +277,10 @@ Common::Input::CameraStatus TransformToCamera(const Common::Input::CallbackStatu Common::Input::CameraStatus camera{}; switch (callback.type) { case Common::Input::InputType::IrSensor: - camera = callback.camera_status; + camera = { + .format = callback.camera_status, + .data = callback.raw_data, + }; break; default: LOG_ERROR(Input, "Conversion from type {} to camera not implemented", callback.type); @@ -291,7 +294,10 @@ Common::Input::NfcStatus TransformToNfc(const Common::Input::CallbackStatus& cal Common::Input::NfcStatus nfc{}; switch (callback.type) { case Common::Input::InputType::Nfc: - return callback.nfc_status; + nfc = { + .state = callback.nfc_status, + .data = callback.raw_data, + }; break; default: LOG_ERROR(Input, "Conversion from type {} to NFC not implemented", callback.type); diff --git a/src/input_common/input_poller.cpp b/src/input_common/input_poller.cpp index 75705b67e..ca33fb4eb 100644 --- a/src/input_common/input_poller.cpp +++ b/src/input_common/input_poller.cpp @@ -691,9 +691,12 @@ public: } void OnChange() { + const auto camera_status = GetStatus(); + const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::IrSensor, - .camera_status = GetStatus(), + .camera_status = camera_status.format, + .raw_data = camera_status.data, }; TriggerOnChange(status); @@ -732,9 +735,12 @@ public: } void OnChange() { + const auto nfc_status = GetStatus(); + const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Nfc, - .nfc_status = GetStatus(), + .nfc_status = nfc_status.state, + .raw_data = nfc_status.data, }; TriggerOnChange(status); |