Skip to content

Mouse delta constrained by screen boundaries when cursor is hidden with SDL3 in 3.10 beta #2941

Description

@yaRnMcDonuts

As of the 3.10 beta versions utilizing SDL3, setCursorVisible(false) no longer allows for unbounded mouse delta tracking. The hidden cursor remains constrained by the OS screen dimensions, preventing continuous movement tracking once the screen edge is reached.

Expected Behavior:
When the cursor is hidden (or captured), the engine should allow infinite mouse delta polling regardless of screen bounds, consistent with previous versions.

Actual Behavior:
The hidden cursor hits the screen edges and stops reporting delta movement.

This breaks dragging mechanics in custom editor applications. When using a "grab" action (such as pressing 'G' or hold-clicking to move a spatial), the spatial can only be moved a finite distance before the hidden cursor hits the screen edge and blocks further input. This forces a loop of dragging a few units, releasing, and re-grabbing to move an object across the scene.

Steps to Reproduce:

  1. Call setCursorVisible(false) to hide the cursor.
  2. Poll mouse delta to translate a spatial's position.
  3. Move the physical mouse continuously in one direction until the hidden cursor hits the screen edge.
  4. Observe that the delta stops updating and the spatial stops moving.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions