Recoil Return // How to track player input while firing?

Whats up devs,

Recently I implemented a recoil system that adds (random) controller yaw and pitch when the gun is firing, which was step one.

In most FPS games, the camera will return to where it was when the player started firing (Recoil Return), which is why “Tap-Firing” automatic weapons in games is often a decent strategy for someone with potato aim… me. My question is how would I go about returning the cam to the original position AND track how much the player fights the recoil so the return doesn’t overshoot the origin. This seems like something that almost everyone who is developing an FPS should stumble upon so I’m surprised I haven’t found any posts about it.

Any ideas would be fantastic! Thanks.