mirror of
https://gitlab.com/suyu-emu/suyu.git
synced 2024-03-15 23:15:44 +00:00
service: hid: Stub SetAnalogStickUseCenterClamp
- Used by eBASEBALLパワフルプロ野球2020
This commit is contained in:
parent
15a07f0282
commit
8e545deab9
|
@ -1138,6 +1138,10 @@ void Controller_NPad::SetUnintendedHomeButtonInputProtectionEnabled(bool is_prot
|
||||||
unintended_home_button_input_protection[NPadIdToIndex(npad_id)] = is_protection_enabled;
|
unintended_home_button_input_protection[NPadIdToIndex(npad_id)] = is_protection_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Controller_NPad::SetAnalogStickUseCenterClamp(bool use_center_clamp) {
|
||||||
|
analog_stick_use_center_clamp = use_center_clamp;
|
||||||
|
}
|
||||||
|
|
||||||
void Controller_NPad::ClearAllConnectedControllers() {
|
void Controller_NPad::ClearAllConnectedControllers() {
|
||||||
for (auto& controller : connected_controllers) {
|
for (auto& controller : connected_controllers) {
|
||||||
if (controller.is_connected && controller.type != NPadControllerType::None) {
|
if (controller.is_connected && controller.type != NPadControllerType::None) {
|
||||||
|
|
|
@ -219,6 +219,7 @@ public:
|
||||||
LedPattern GetLedPattern(u32 npad_id);
|
LedPattern GetLedPattern(u32 npad_id);
|
||||||
bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const;
|
bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const;
|
||||||
void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id);
|
void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id);
|
||||||
|
void SetAnalogStickUseCenterClamp(bool use_center_clamp);
|
||||||
void ClearAllConnectedControllers();
|
void ClearAllConnectedControllers();
|
||||||
void DisconnectAllConnectedControllers();
|
void DisconnectAllConnectedControllers();
|
||||||
void ConnectAllDisconnectedControllers();
|
void ConnectAllDisconnectedControllers();
|
||||||
|
@ -577,6 +578,7 @@ private:
|
||||||
std::array<std::array<bool, 2>, 10> vibration_devices_mounted{};
|
std::array<std::array<bool, 2>, 10> vibration_devices_mounted{};
|
||||||
std::array<ControllerHolder, 10> connected_controllers{};
|
std::array<ControllerHolder, 10> connected_controllers{};
|
||||||
std::array<bool, 10> unintended_home_button_input_protection{};
|
std::array<bool, 10> unintended_home_button_input_protection{};
|
||||||
|
bool analog_stick_use_center_clamp{};
|
||||||
GyroscopeZeroDriftMode gyroscope_zero_drift_mode{GyroscopeZeroDriftMode::Standard};
|
GyroscopeZeroDriftMode gyroscope_zero_drift_mode{GyroscopeZeroDriftMode::Standard};
|
||||||
bool sixaxis_sensors_enabled{true};
|
bool sixaxis_sensors_enabled{true};
|
||||||
f32 sixaxis_fusion_parameter1{};
|
f32 sixaxis_fusion_parameter1{};
|
||||||
|
|
|
@ -263,7 +263,7 @@ Hid::Hid(Core::System& system_) : ServiceFramework{system_, "hid"} {
|
||||||
{131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
{131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
||||||
{132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"},
|
{132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"},
|
||||||
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
||||||
{134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
|
{134, &Hid::SetNpadAnalogStickUseCenterClamp, "SetNpadAnalogStickUseCenterClamp"},
|
||||||
{135, nullptr, "SetNpadCaptureButtonAssignment"},
|
{135, nullptr, "SetNpadCaptureButtonAssignment"},
|
||||||
{136, nullptr, "ClearNpadCaptureButtonAssignment"},
|
{136, nullptr, "ClearNpadCaptureButtonAssignment"},
|
||||||
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
||||||
|
@ -1087,6 +1087,27 @@ void Hid::EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& c
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Hid::SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::RequestParser rp{ctx};
|
||||||
|
struct Parameters {
|
||||||
|
bool analog_stick_use_center_clamp;
|
||||||
|
u64 applet_resource_user_id;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
|
||||||
|
|
||||||
|
const auto parameters{rp.PopRaw<Parameters>()};
|
||||||
|
|
||||||
|
applet_resource->GetController<Controller_NPad>(HidController::NPad)
|
||||||
|
.SetAnalogStickUseCenterClamp(parameters.analog_stick_use_center_clamp);
|
||||||
|
|
||||||
|
LOG_WARNING(Service_HID,
|
||||||
|
"(STUBBED) called, analog_stick_use_center_clamp={}, applet_resource_user_id={}",
|
||||||
|
parameters.analog_stick_use_center_clamp, parameters.applet_resource_user_id);
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) {
|
void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestParser rp{ctx};
|
IPC::RequestParser rp{ctx};
|
||||||
const auto vibration_device_handle{rp.PopRaw<Controller_NPad::DeviceHandle>()};
|
const auto vibration_device_handle{rp.PopRaw<Controller_NPad::DeviceHandle>()};
|
||||||
|
|
|
@ -129,6 +129,7 @@ private:
|
||||||
void SwapNpadAssignment(Kernel::HLERequestContext& ctx);
|
void SwapNpadAssignment(Kernel::HLERequestContext& ctx);
|
||||||
void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx);
|
void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx);
|
||||||
void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx);
|
void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx);
|
||||||
|
void SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx);
|
||||||
void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx);
|
void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx);
|
||||||
void SendVibrationValue(Kernel::HLERequestContext& ctx);
|
void SendVibrationValue(Kernel::HLERequestContext& ctx);
|
||||||
void GetActualVibrationValue(Kernel::HLERequestContext& ctx);
|
void GetActualVibrationValue(Kernel::HLERequestContext& ctx);
|
||||||
|
|
Loading…
Reference in a new issue