libretro / libretro/RetroArch

Clicks are handled really badly when refocusing retro arch menu.

Open
#13,719 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

input prs welcome
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

When using a mouse in retro arch, you can hover over items in the menu to move the currently highlighted item. However, if you hover over something that isn't an item it stays on the last item you hovered.

There isn't really anything worn with this with a controller because it always needs a highlighted option to navigate. However with a mouse, a left click will always select the last hovered item causing weird issues with click registration.

This means refocusing retro arch causes you to unexpectedly click whatever is selected, even though it may not be under the cursor or even anywhere near it, it just uses the last hovered.

I think a simple fix would be to include a flag that is set when the cursor is actually over something, that the mouse can use when deciding whether to accept the left click, and something the controller can ignore.

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

Start by locating RetroArch's menu mouse hover and left-click handling, then reproduce the refocusing behavior described in the issue. Done means clicking when the cursor is not over a menu item no longer selects the last hovered item, while controller navigation still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.