Du könntest direkt auf die Maus zugreifen ohne den Umweg über die Cursor-Position. Das geht z. B. mit DirectInput.
DirectInput würde ich dafür nicht empfehlen. Die API ist sehr alt und wird von Microsoft schon lange vernachlässigt. Für Gamepad/Joysticks käme noch XInput in Frage, aber auch die API ist auf dem Abstellgleis.
Für Windows empfiehlt Microsoft den Weg über normale Window-Events. Oder du machst selbst eine Abfrage des Status' der Maus mit den WinAPI Funktionen (GetCursorPos, GetCursorInfo), anstatt die Window-Events zu verarbeiten. Die RawInput API ist auch ein Möglichkeit:
https://docs.microsoft.com/en-us/windows…inuser-rawinput
Polling hat natürlich ebenfalls Nachteile, aber du kannst deine Input-Logik selbst schreiben und bist mit den Raw-Input Methoden deutlich flexibler im Vergleich zu DirectInput.
Am einfachsten fand ich bisher die Gainput Lib. Arbeitet auch über polling, und kann einfach in einem separatem Thread laufen. SDL2 wäre auch noch eine Möglichkeit, ist aber eine sehr große Lib.
Generell habe ich aber schon lange den Eindruck, dass es kaum noch moderne Libs für HID-Verarbeitung bei Spielen gibt. Die großen Engines nehmen einfach die low level System-API Funktionen und schreiben alles selbst.