forked from eden-emu/eden
		
	Merge pull request #6168 from Morph1984/stub-SetNpadAnalogStickUseCenterClamp
service: hid: Stub SetAnalogStickUseCenterClamp
This commit is contained in:
		
						commit
						670bc84c9b
					
				
					 4 changed files with 29 additions and 1 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bunnei
						bunnei