So I've been having some issues where I've got a ring buffer of mouse events (generated by some hardware that acts like a mouse) and I pull those events off and send them to windows using INPUT struct and ::SendInput. The problem I'm having is windows tends to "coalesce" these points and I end up losing a bunch of data. I found a pretty good solution for Windows Vista and Windows 7 in the MOUSEEVENTF_MOVE_NOCOALESCE flag. As you'll see in the documentation ( http://msdn.microsoft.com/en-us/library/windows/desktop/ms646273 see dwFlags MOUSEEVENTF_MOVE_NOCOALESCE ), this flag is not supported for Windows OS before Vista. Has anyone ever encountered a problem like this? Any idea what I can do to stop Windows from dropping/changing my mouse events?