Edit: This patch has been updated to handle both coalesced WM_POINTER and Wintab input.
This patch applies the following changes to support coalesced WM_POINTER tablet events.
- Added GetPointer*InfoHistory functions, and a minor cleanup renaming penInfo to touchInfo.
- Removed unused hasButtonMask member from GHOST_PointerInfoWin32.
- Optionally initialize Ghost cursor and button events with tablet data, otherwise use GetTabletData to get default or current tablet data.
- Added Windows Pointer pen event history so that coalesced pen events are retrieved. Handling for cursor movement, Ghost mouse move events' generation, and nulling of tablet date moved into the pointer input processing function.
This fix only applies to the WM_POINTER API and not Wintab, to fully resolve T70765 requires design decisions not managed in this commit.
At this time it may be impossible to test this on a device that has Wintab drivers because of issues D5641 tries to resolve. D5641 patches an issue where Wintab is always defaulted to if available regardless of user settings, but the fix as written is brittle to regressions and doesn't solve the systemic problem.