CNA-PLAT-013: Wayland gives no desktop pointer position, and browsers hide gamepads until a button press and gate pointer lock on a user gesture

CNA snapshot 009d40f5  ·  Known Issues › Platform limitations  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

On native Wayland the global-pointer functions are unsupported; on the web a gamepad appears only after the player presses a button on it, and relative mouse mode engages only after a click.

Identifier
CNA-PLAT-013
Category
Platform limitation
Subsystem
Platforms
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
Mouse::GetGlobalPositionEXT / WarpGlobalEXT / SetCaptureEXT on Wayland; GamePad connection and Mouse relative mode in Emscripten builds

Expected behaviour

Desktop-style pointer queries and immediate gamepad detection.

Actual behaviour at TARGET

WaylandMouse.cpp refuses global position, warping and capture because Wayland clients “are not given desktop coordinates”. platform-input-notes.md records that the browser Gamepad API shows controllers only “until the user presses a button on them” and that pointer lock “requires a user gesture” and can be exited by the browser.

Source locations

Evidence

Checked by reading at 009d40f5; not executed. How the Wayland refusal reaches games is CNA-BUG-135.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

None for the host behaviour itself.

Regression test

None; these are host policies.

Blast radius

Wayland sessions using the native backend; games shipped to browsers.

Workaround

On Wayland use the X11 or SDL3 platform when global pointer access is required; on the web prompt for a click before enabling relative mode and before expecting gamepads.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.