| Previous | Next |
| INPUT_E_DEVICE_INFO | INPUT_E_DEVICE_PROPERTY |
INPUT_E_TRANSFORM
The scope of INPUT_E_TRANSFORM is pointer coordinate transformation. The coordinate transform required to map pointer data into the target coordinate system failed. Keep 0x80400007 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.
Where the failure occurs
Pointer coordinates can pass through physical-device units, desktop coordinates, per-monitor DPI scaling, client coordinates, rotation, and an application transform. Each stage must produce finite values and an invertible mapping where an inverse is required. Logging only the final x and y values hides singular matrices, stale HWND geometry, mixed units, and overflow introduced earlier.
Pointer input can cross device, screen, client, logical, DPI-scaled, rotated, and application-defined spaces. A singular matrix, invalid calibration, stale window geometry, overflow, or mismatched units can make the mapping impossible or non-finite.
Avoid broad resets
INPUT_E_PACKET may flag invalid source coordinates; this result indicates that valid-looking data could not be converted through the requested mapping. Do not clamp every failed result into the window bounds. Clamping hides a broken matrix and can synthesize clicks at an unrelated edge.
Evidence to preserve
- Source and destination coordinate spaces with DPI and orientation
- Full transform matrix and determinant
- Raw and transformed coordinates around the failure
- Window bounds, monitor identity, and display-change generation
Smallest faithful reproducer
Start with identity transforms and a stable window on one monitor. Add DPI conversion, rotation, calibration, and application matrices one at a time while retaining both the source and destination rectangles used for each conversion.
- Test the identity transform with the same packets.
- Apply translation and scale before adding rotation or calibration.
- reject NaN, infinity, and singular matrices at construction time.
- Rebuild transforms after DPI, orientation, monitor, or window changes.
Technical references
Looking for a different code? Search another status or error code.