mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-31 23:06:43 +08:00 
			
		
		
		
	Merge pull request #7142 from german77/sdl_range
input_common/sdl: Fix joystick range
This commit is contained in:
		
						commit
						2643752f93
					
				| @ -170,7 +170,8 @@ public: | ||||
|     float GetAxis(int axis, float range, float offset) const { | ||||
|         std::lock_guard lock{mutex}; | ||||
|         const float value = static_cast<float>(state.axes.at(axis)) / 32767.0f; | ||||
|         return (value + offset) / range; | ||||
|         const float offset_scale = (value + offset) > 0.0f ? 1.0f + offset : 1.0f - offset; | ||||
|         return (value + offset) / range / offset_scale; | ||||
|     } | ||||
| 
 | ||||
|     bool RumblePlay(u16 amp_low, u16 amp_high) { | ||||
| @ -789,8 +790,8 @@ public: | ||||
|         const std::string invert_y_value = params.Get("invert_y", "+"); | ||||
|         const bool invert_x = invert_x_value == "-"; | ||||
|         const bool invert_y = invert_y_value == "-"; | ||||
|         const float offset_x = params.Get("offset_x", 0.0f); | ||||
|         const float offset_y = params.Get("offset_y", 0.0f); | ||||
|         const float offset_x = std::clamp(params.Get("offset_x", 0.0f), -0.99f, 0.99f); | ||||
|         const float offset_y = std::clamp(params.Get("offset_y", 0.0f), -0.99f, 0.99f); | ||||
|         auto joystick = state.GetSDLJoystickByGUID(guid, port); | ||||
| 
 | ||||
|         // This is necessary so accessing GetAxis with axis_x and axis_y won't crash
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user