Skip to content

[Bug]: Severe cursor position drift in recordings on Windows 11 #144

Closed

Description

@XSnowHoly

Search existing issues

  • I have searched the existing issues

Describe the bug

When I use Openscreen to record my screen, the recorded cursor position is severely inaccurate.

As shown in the attached screenshot, the cursor in the recording appears at a different location from where I actually clicked. The real system cursor was positioned over the menu on the right, but the recorded cursor drifted to another location.

Expected behavior

The cursor shown in the recording should match the actual system cursor position and click location.

To Reproduce

The recorded cursor is offset from the actual cursor position, resulting in significant coordinate drift.

Screenshots

Image

OS

Windows

OS Version

windows 11

Other OS

No response

Browser

None

Browser Version

No response

Other Browser

No response

Device Type

Laptop

Other Device

No response

Additional context

No response

Activity

  1. XSnowHoly commented on Jul 21, 2026

    @XSnowHoly
    Author

    Additional information

    The issue occurs during screen recording. The cursor position in the recording does not accurately reflect its real position on the screen.

    Environment

    • OS: Windows 11
    • Openscreen version: 1.7.0
    • Version status: Latest release
    • Display scaling: 150%
    • Monitor resolution: 2560x1440
  2. EtienneLescot commented on Aug 10, 2026

    @EtienneLescot
    Member

    Fixed in v1.9.0, by 5efe5e62.

    Root cause: cursor-sampler.exe shipped with no DPI manifest and never called SetProcessDpiAwareness*, so it ran DPI-unaware and Win32 handed it virtualized coordinates — GetCursorInfo().ptScreenPos divided by the primary display's scale factor — while the normalization downstream treated them as physical pixels.

    The recorded cursor therefore sat at 1/scale of its true offset from the display origin, an error that grows with the distance from the top-left corner. At 150% on a 2560px-wide screen that is roughly 850px short at the right edge, which is consistent with your screenshot: the real cursor on the right-hand menu, the recorded one far to its left.

    The sampler now opts into per-monitor-v2 awareness, so its coordinates really are physical. That also holds on mixed-DPI multi-monitor setups, where virtualization always used the primary display's scale factor whatever monitor the cursor was actually on.

    Current release is v1.9.2. Please reopen if you still see drift there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions