diff options
Diffstat (limited to '')
| -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 { | |||
| 277 | BodyColorStatus color_status{}; | 277 | BodyColorStatus color_status{}; |
| 278 | BatteryStatus battery_status{}; | 278 | BatteryStatus battery_status{}; |
| 279 | VibrationStatus vibration_status{}; | 279 | VibrationStatus vibration_status{}; |
| 280 | CameraStatus camera_status{}; | 280 | CameraFormat camera_status{CameraFormat::None}; |
| 281 | NfcStatus nfc_status{}; | 281 | NfcState nfc_status{NfcState::Unknown}; |
| 282 | std::vector<u8> raw_data{}; | ||
| 282 | }; | 283 | }; |
| 283 | 284 | ||
| 284 | // Triggered once every input change | 285 | // 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 | |||
| 277 | Common::Input::CameraStatus camera{}; | 277 | Common::Input::CameraStatus camera{}; |
| 278 | switch (callback.type) { | 278 | switch (callback.type) { |
| 279 | case Common::Input::InputType::IrSensor: | 279 | case Common::Input::InputType::IrSensor: |
| 280 | camera = callback.camera_status; | 280 | camera = { |
| 281 | .format = callback.camera_status, | ||
| 282 | .data = callback.raw_data, | ||
| 283 | }; | ||
| 281 | break; | 284 | break; |
| 282 | default: | 285 | default: |
| 283 | LOG_ERROR(Input, "Conversion from type {} to camera not implemented", callback.type); | 286 | 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 | |||
| 291 | Common::Input::NfcStatus nfc{}; | 294 | Common::Input::NfcStatus nfc{}; |
| 292 | switch (callback.type) { | 295 | switch (callback.type) { |
| 293 | case Common::Input::InputType::Nfc: | 296 | case Common::Input::InputType::Nfc: |
| 294 | return callback.nfc_status; | 297 | nfc = { |
| 298 | .state = callback.nfc_status, | ||
| 299 | .data = callback.raw_data, | ||
| 300 | }; | ||
| 295 | break; | 301 | break; |
| 296 | default: | 302 | default: |
| 297 | LOG_ERROR(Input, "Conversion from type {} to NFC not implemented", callback.type); | 303 | 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: | |||
| 691 | } | 691 | } |
| 692 | 692 | ||
| 693 | void OnChange() { | 693 | void OnChange() { |
| 694 | const auto camera_status = GetStatus(); | ||
| 695 | |||
| 694 | const Common::Input::CallbackStatus status{ | 696 | const Common::Input::CallbackStatus status{ |
| 695 | .type = Common::Input::InputType::IrSensor, | 697 | .type = Common::Input::InputType::IrSensor, |
| 696 | .camera_status = GetStatus(), | 698 | .camera_status = camera_status.format, |
| 699 | .raw_data = camera_status.data, | ||
| 697 | }; | 700 | }; |
| 698 | 701 | ||
| 699 | TriggerOnChange(status); | 702 | TriggerOnChange(status); |
| @@ -732,9 +735,12 @@ public: | |||
| 732 | } | 735 | } |
| 733 | 736 | ||
| 734 | void OnChange() { | 737 | void OnChange() { |
| 738 | const auto nfc_status = GetStatus(); | ||
| 739 | |||
| 735 | const Common::Input::CallbackStatus status{ | 740 | const Common::Input::CallbackStatus status{ |
| 736 | .type = Common::Input::InputType::Nfc, | 741 | .type = Common::Input::InputType::Nfc, |
| 737 | .nfc_status = GetStatus(), | 742 | .nfc_status = nfc_status.state, |
| 743 | .raw_data = nfc_status.data, | ||
| 738 | }; | 744 | }; |
| 739 | 745 | ||
| 740 | TriggerOnChange(status); | 746 | TriggerOnChange(status); |