summaryrefslogtreecommitdiffstats
path: root/src/input_common/drivers/joycon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_common/drivers/joycon.cpp')
-rw-r--r--src/input_common/drivers/joycon.cpp41
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) {
return handle->IsVibrationEnabled();
}
-Common::Input::VibrationError Joycons::SetVibration(
- const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) {
+Common::Input::DriverResult Joycons::SetVibration(const PadIdentifier& identifier,
+ const Common::Input::VibrationStatus& vibration) {
const Joycon::VibrationValue native_vibration{
.low_amplitude = vibration.low_amplitude,
.low_frequency = vibration.low_frequency,
@@ -243,32 +243,31 @@ Common::Input::VibrationError Joycons::SetVibration(
};
auto handle = GetHandle(identifier);
if (handle == nullptr) {
- return Common::Input::VibrationError::InvalidHandle;
+ return Common::Input::DriverResult::InvalidHandle;
}
handle->SetVibration(native_vibration);
- return Common::Input::VibrationError::None;
+ return Common::Input::DriverResult::Success;
}
-void Joycons::SetLeds(const PadIdentifier& identifier, const Common::Input::LedStatus& led_status) {
+Common::Input::DriverResult Joycons::SetLeds(const PadIdentifier& identifier,
+ const Common::Input::LedStatus& led_status) {
auto handle = GetHandle(identifier);
if (handle == nullptr) {
- return;
+ return Common::Input::DriverResult::InvalidHandle;
}
int led_config = led_status.led_1 ? 1 : 0;
led_config += led_status.led_2 ? 2 : 0;
led_config += led_status.led_3 ? 4 : 0;
led_config += led_status.led_4 ? 8 : 0;
- const auto result = handle->SetLedConfig(static_cast<u8>(led_config));
- if (result != Joycon::DriverResult::Success) {
- LOG_ERROR(Input, "Failed to set led config");
- }
+ return static_cast<Common::Input::DriverResult>(
+ handle->SetLedConfig(static_cast<u8>(led_config)));
}
-Common::Input::CameraError Joycons::SetCameraFormat(const PadIdentifier& identifier_,
- Common::Input::CameraFormat camera_format) {
- return Common::Input::CameraError::NotSupported;
+Common::Input::DriverResult Joycons::SetCameraFormat(const PadIdentifier& identifier_,
+ Common::Input::CameraFormat camera_format) {
+ return Common::Input::DriverResult::NotSupported;
};
Common::Input::NfcState Joycons::SupportsNfc(const PadIdentifier& identifier_) const {
@@ -280,32 +279,30 @@ Common::Input::NfcState Joycons::WriteNfcData(const PadIdentifier& identifier_,
return Common::Input::NfcState::NotSupported;
};
-Common::Input::PollingError Joycons::SetPollingMode(const PadIdentifier& identifier,
+Common::Input::DriverResult Joycons::SetPollingMode(const PadIdentifier& identifier,
const Common::Input::PollingMode polling_mode) {
auto handle = GetHandle(identifier);
if (handle == nullptr) {
LOG_ERROR(Input, "Invalid handle {}", identifier.port);
- return Common::Input::PollingError::InvalidHandle;
+ return Common::Input::DriverResult::InvalidHandle;
}
switch (polling_mode) {
case Common::Input::PollingMode::NFC:
- handle->SetNfcMode();
+ return static_cast<Common::Input::DriverResult>(handle->SetNfcMode());
break;
case Common::Input::PollingMode::Active:
- handle->SetActiveMode();
+ return static_cast<Common::Input::DriverResult>(handle->SetActiveMode());
break;
case Common::Input::PollingMode::Pasive:
- handle->SetPasiveMode();
+ return static_cast<Common::Input::DriverResult>(handle->SetPasiveMode());
break;
case Common::Input::PollingMode::Ring:
- handle->SetRingConMode();
+ return static_cast<Common::Input::DriverResult>(handle->SetRingConMode());
break;
default:
- return Common::Input::PollingError::NotSupported;
+ return Common::Input::DriverResult::NotSupported;
}
-
- return Common::Input::PollingError::None;
}
void Joycons::OnBatteryUpdate(std::size_t port, Joycon::ControllerType type,