diff options
| author | 2022-12-26 11:11:01 -0600 | |
|---|---|---|
| committer | 2023-01-19 18:05:22 -0600 | |
| commit | 527dad70976a158e94defc51707347e064a31099 (patch) | |
| tree | d9e9e68799d0c051e8e6a8a2dda7170ea911831d /src/input_common/drivers/joycon.cpp | |
| parent | Address review comments (diff) | |
| download | yuzu-527dad70976a158e94defc51707347e064a31099.tar.gz yuzu-527dad70976a158e94defc51707347e064a31099.tar.xz yuzu-527dad70976a158e94defc51707347e064a31099.zip | |
input_common: Use DriverResult on all engines
Diffstat (limited to 'src/input_common/drivers/joycon.cpp')
| -rw-r--r-- | src/input_common/drivers/joycon.cpp | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/src/input_common/drivers/joycon.cpp b/src/input_common/drivers/joycon.cpp index 696a6db39..cf54f1b53 100644 --- a/src/input_common/drivers/joycon.cpp +++ b/src/input_common/drivers/joycon.cpp | |||
| @@ -233,8 +233,8 @@ bool Joycons::IsVibrationEnabled(const PadIdentifier& identifier) { | |||
| 233 | return handle->IsVibrationEnabled(); | 233 | return handle->IsVibrationEnabled(); |
| 234 | } | 234 | } |
| 235 | 235 | ||
| 236 | Common::Input::VibrationError Joycons::SetVibration( | 236 | Common::Input::DriverResult Joycons::SetVibration(const PadIdentifier& identifier, |
| 237 | const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) { | 237 | const Common::Input::VibrationStatus& vibration) { |
| 238 | const Joycon::VibrationValue native_vibration{ | 238 | const Joycon::VibrationValue native_vibration{ |
| 239 | .low_amplitude = vibration.low_amplitude, | 239 | .low_amplitude = vibration.low_amplitude, |
| 240 | .low_frequency = vibration.low_frequency, | 240 | .low_frequency = vibration.low_frequency, |
| @@ -243,32 +243,31 @@ Common::Input::VibrationError Joycons::SetVibration( | |||
| 243 | }; | 243 | }; |
| 244 | auto handle = GetHandle(identifier); | 244 | auto handle = GetHandle(identifier); |
| 245 | if (handle == nullptr) { | 245 | if (handle == nullptr) { |
| 246 | return Common::Input::VibrationError::InvalidHandle; | 246 | return Common::Input::DriverResult::InvalidHandle; |
| 247 | } | 247 | } |
| 248 | 248 | ||
| 249 | handle->SetVibration(native_vibration); | 249 | handle->SetVibration(native_vibration); |
| 250 | return Common::Input::VibrationError::None; | 250 | return Common::Input::DriverResult::Success; |
| 251 | } | 251 | } |
| 252 | 252 | ||
| 253 | void Joycons::SetLeds(const PadIdentifier& identifier, const Common::Input::LedStatus& led_status) { | 253 | Common::Input::DriverResult Joycons::SetLeds(const PadIdentifier& identifier, |
| 254 | const Common::Input::LedStatus& led_status) { | ||
| 254 | auto handle = GetHandle(identifier); | 255 | auto handle = GetHandle(identifier); |
| 255 | if (handle == nullptr) { | 256 | if (handle == nullptr) { |
| 256 | return; | 257 | return Common::Input::DriverResult::InvalidHandle; |
| 257 | } | 258 | } |
| 258 | int led_config = led_status.led_1 ? 1 : 0; | 259 | int led_config = led_status.led_1 ? 1 : 0; |
| 259 | led_config += led_status.led_2 ? 2 : 0; | 260 | led_config += led_status.led_2 ? 2 : 0; |
| 260 | led_config += led_status.led_3 ? 4 : 0; | 261 | led_config += led_status.led_3 ? 4 : 0; |
| 261 | led_config += led_status.led_4 ? 8 : 0; | 262 | led_config += led_status.led_4 ? 8 : 0; |
| 262 | 263 | ||
| 263 | const auto result = handle->SetLedConfig(static_cast<u8>(led_config)); | 264 | return static_cast<Common::Input::DriverResult>( |
| 264 | if (result != Joycon::DriverResult::Success) { | 265 | handle->SetLedConfig(static_cast<u8>(led_config))); |
| 265 | LOG_ERROR(Input, "Failed to set led config"); | ||
| 266 | } | ||
| 267 | } | 266 | } |
| 268 | 267 | ||
| 269 | Common::Input::CameraError Joycons::SetCameraFormat(const PadIdentifier& identifier_, | 268 | Common::Input::DriverResult Joycons::SetCameraFormat(const PadIdentifier& identifier_, |
| 270 | Common::Input::CameraFormat camera_format) { | 269 | Common::Input::CameraFormat camera_format) { |
| 271 | return Common::Input::CameraError::NotSupported; | 270 | return Common::Input::DriverResult::NotSupported; |
| 272 | }; | 271 | }; |
| 273 | 272 | ||
| 274 | Common::Input::NfcState Joycons::SupportsNfc(const PadIdentifier& identifier_) const { | 273 | Common::Input::NfcState Joycons::SupportsNfc(const PadIdentifier& identifier_) const { |
| @@ -280,32 +279,30 @@ Common::Input::NfcState Joycons::WriteNfcData(const PadIdentifier& identifier_, | |||
| 280 | return Common::Input::NfcState::NotSupported; | 279 | return Common::Input::NfcState::NotSupported; |
| 281 | }; | 280 | }; |
| 282 | 281 | ||
| 283 | Common::Input::PollingError Joycons::SetPollingMode(const PadIdentifier& identifier, | 282 | Common::Input::DriverResult Joycons::SetPollingMode(const PadIdentifier& identifier, |
| 284 | const Common::Input::PollingMode polling_mode) { | 283 | const Common::Input::PollingMode polling_mode) { |
| 285 | auto handle = GetHandle(identifier); | 284 | auto handle = GetHandle(identifier); |
| 286 | if (handle == nullptr) { | 285 | if (handle == nullptr) { |
| 287 | LOG_ERROR(Input, "Invalid handle {}", identifier.port); | 286 | LOG_ERROR(Input, "Invalid handle {}", identifier.port); |
| 288 | return Common::Input::PollingError::InvalidHandle; | 287 | return Common::Input::DriverResult::InvalidHandle; |
| 289 | } | 288 | } |
| 290 | 289 | ||
| 291 | switch (polling_mode) { | 290 | switch (polling_mode) { |
| 292 | case Common::Input::PollingMode::NFC: | 291 | case Common::Input::PollingMode::NFC: |
| 293 | handle->SetNfcMode(); | 292 | return static_cast<Common::Input::DriverResult>(handle->SetNfcMode()); |
| 294 | break; | 293 | break; |
| 295 | case Common::Input::PollingMode::Active: | 294 | case Common::Input::PollingMode::Active: |
| 296 | handle->SetActiveMode(); | 295 | return static_cast<Common::Input::DriverResult>(handle->SetActiveMode()); |
| 297 | break; | 296 | break; |
| 298 | case Common::Input::PollingMode::Pasive: | 297 | case Common::Input::PollingMode::Pasive: |
| 299 | handle->SetPasiveMode(); | 298 | return static_cast<Common::Input::DriverResult>(handle->SetPasiveMode()); |
| 300 | break; | 299 | break; |
| 301 | case Common::Input::PollingMode::Ring: | 300 | case Common::Input::PollingMode::Ring: |
| 302 | handle->SetRingConMode(); | 301 | return static_cast<Common::Input::DriverResult>(handle->SetRingConMode()); |
| 303 | break; | 302 | break; |
| 304 | default: | 303 | default: |
| 305 | return Common::Input::PollingError::NotSupported; | 304 | return Common::Input::DriverResult::NotSupported; |
| 306 | } | 305 | } |
| 307 | |||
| 308 | return Common::Input::PollingError::None; | ||
| 309 | } | 306 | } |
| 310 | 307 | ||
| 311 | void Joycons::OnBatteryUpdate(std::size_t port, Joycon::ControllerType type, | 308 | void Joycons::OnBatteryUpdate(std::size_t port, Joycon::ControllerType type, |