| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
- // SPDX-License-Identifier: GPL-3.0-or-later
- #include "hid_core/hid_result.h"
- #include "hid_core/resources/npad/npad_vibration.h"
- namespace Service::HID {
- NpadVibration::NpadVibration() {}
- NpadVibration::~NpadVibration() = default;
- Result NpadVibration::Activate() {
- std::scoped_lock lock{mutex};
- const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
- // if (master_volume < 0.0f || master_volume > 1.0f) {
- // return ResultVibrationStrenghtOutOfRange;
- // }
- volume = master_volume;
- return ResultSuccess;
- }
- Result NpadVibration::Deactivate() {
- return ResultSuccess;
- }
- Result NpadVibration::SetVibrationMasterVolume(f32 master_volume) {
- std::scoped_lock lock{mutex};
- if (master_volume < 0.0f && master_volume > 1.0f) {
- return ResultVibrationStrenghtOutOfRange;
- }
- volume = master_volume;
- // nn::settings::system::SetVibrationMasterVolume(master_volume);
- return ResultSuccess;
- }
- Result NpadVibration::GetVibrationVolume(f32& out_volume) const {
- std::scoped_lock lock{mutex};
- out_volume = volume;
- return ResultSuccess;
- }
- Result NpadVibration::GetVibrationMasterVolume(f32& out_volume) const {
- std::scoped_lock lock{mutex};
- const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
- // if (master_volume < 0.0f || master_volume > 1.0f) {
- // return ResultVibrationStrenghtOutOfRange;
- // }
- out_volume = master_volume;
- return ResultSuccess;
- }
- Result NpadVibration::BeginPermitVibrationSession(u64 aruid) {
- std::scoped_lock lock{mutex};
- session_aruid = aruid;
- volume = 1.0;
- return ResultSuccess;
- }
- Result NpadVibration::EndPermitVibrationSession() {
- std::scoped_lock lock{mutex};
- const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
- // if (master_volume < 0.0f || master_volume > 1.0f) {
- // return ResultVibrationStrenghtOutOfRange;
- // }
- volume = master_volume;
- session_aruid = 0;
- return ResultSuccess;
- }
- } // namespace Service::HID
|