I'm working on a twin stick shooter where the player looks at the mouse cursor. Like most I use the absolute mouse position and the player's position to determine the direction and derive an angle. This works great. However I recently discovered WM_INPUT which allows you to take advantage of higher DPI mouse movements, the values it provides are relative so a 'look at' type of solution does not work anymore.
Simply rotating the player based on a single axis does not feel right, since if you keep scrolling left the player would eventually rotate 360 degrees. I also tried to accumulate and scale the relative mouse movements and clamp them to -1 through 1 like gamepad thumb values, this works alright but feels a bit limiting in terms of full use of the higher sensitivity.
Does anyone have any insights into implementing top down player rotation using relative mouse movements?