|
|
|
@ -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, |
|
|
|
|