I might be totally wrong on this, but I thought that the windowing API used by SFML already had some function to cursor coordinates, and that sf::Input used that.
If that's the case, it would be more straightforward and less CPU-consuming to call that function instead of tracking the cursor manually.