Browse Source
Merge pull request #9043 from german77/vector_data
input_common: have an unique vector in callback status
pull/15/merge
liamwhite
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
19 additions and
6 deletions
-
src/common/input.h
-
src/core/hid/input_converter.cpp
-
src/input_common/input_poller.cpp
|
|
|
@ -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 |
|
|
|
|
|
|
|
@ -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); |
|
|
|
|
|
|
|
@ -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); |
|
|
|
|