libretro / libretro/RetroArch

All versions of RetroArch 1.9.x repeatedly capture and refuse to release mouse cursor while fullscreen

Open
#13,305 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug: input input input: mouse grab platform: windows
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

As the title says, every version of 1.9.x is affected. More info on the behavior and troubleshooting is available in the following reddit thread: https://old.reddit.com/r/RetroArch/comments/r67mfg/all_versions_of_retroarch_19x_refuse_to_release/

Expected behavior

On 1.8.x and earlier, the mouse cursor was free to roam around to other displays while RetroArch was fullscreen on its own display.

Actual behavior

Regardless of any settings or input, the mouse cursor in 1.9.x is jailed within RetroArch unless a user alt/win+tabs out, but RetroArch will re-capture the cursor on any state change (e.g., loading media, exiting media, switching resolutions).

Steps to reproduce the bug
  1. Have more than one display connected
  2. Launch RetroArch fullscreen on primary display
  3. Attempt to interact with a window on another display

Note that if RetroArch is active on a non-primary display, the cursor's boundaries are extended to the primary display, which makes the lock in this situation only immediately obvious with three or more displays connected.

Bisect Results

I first noticed this with the release of 1.9.0 stable. The previous stable 1.8.9 is unaffected.

Environment information
  • OS: Windows 10, various builds on multiple machines

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the report on Windows 10 with multiple displays, using RetroArch 1.8.9 and 1.9.x to compare fullscreen cursor behavior. Trace the fullscreen and mouse-capture handling from the 1.9.0 regression; done means the cursor can reach other displays and is not recaptured after loading media, exiting media, or changing resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.