libretro / libretro/RetroArch

Azahar core: Broken Mouse Touchscreen

Open
#18,911 6 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Is there an existing issue for this?
  • This is a bug in RetroArch frontend
  • I have searched the existing issues
Description

The mouse (or gamepad touchpad):

  • Responds correctly in the Citra core.
  • Responds correctly in Azahar.
  • Does not respond in the Azahar libretro core.

A good test case for this issue is The Legend of Zelda: A Link Between Worlds, which uses both the top and bottom screens. It is possible to use mouse and gampad simultaneously in the game in Citra.

Citra (working)

Core Options → "Render simulated touchscreen interactions: ON" (disabled by default, so must be enabled):

The value in config/retroarch/config/Citra/Citra.opt is

citra_mouse_touchscreen = "enabled"

The mouse is working.

Azahar (broken)

Core Options → Input has this setting (enabled by default):

Mouse Touchscreen
Enable mouse input for touchscreeen interactions.

The value in config/retroarch/config/Azahar/Azahar.opt is

citra_mouse_touchscreen = "enabled"

The mouse is not working.

Expected behavior

The "Mouse Touchscreen" feature should work.

Steps to reproduce the bug
  • Connect a mouse
  • Load a game that uses both large and small screen
  • Try to navigate with the mouse

Temporary workarund

C-Stick and Touchscreen pointer are enabled in both

  • Azahar: Core Options → Input → Right to analog function: C-Stick and Touchscreen pointer
  • Citra: Core Options → Right to analog function: C-Stick and Touchscreen pointer
  • The C-Stick is controlled by the mouse or touchpad.
    • On Azahar, the C-Stick does not function correctly. Fortunately, the Touchscreen pointer can be used as an alternative. Still, this limitation is notable since the touchpad offers a smoother and more intuitive way to navigate touchscreen controls compared to the thumb stick.
  • The Touchscreen pointer is controlled by the right thumb stick on gamepads.
  • Both the C-Stick and Touchscreen pointer can operate simultaneously through different input devices. For instance, you can use the right thumb stick on a DualSense controller for navigation while also using a connected mouse if you prefer that method.
Version/Commit

1.22.2 flatpak

Bisect Results

No response

Present in the nightly version

I don't know

Platform & operating system

Trisquel GNU/Linux 11.0.1

Affected Cores

Azahar
Core version: 7e58ac5

Environment information

No response

Relevant log output

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 reproducing the issue with The Legend of Zelda: A Link Between Worlds and the Azahar core, using the enabled citra_mouse_touchscreen option in config/retroarch/config/Azahar/Azahar.opt. Compare the behavior and option handling with the working Citra core, then trace the Azahar core's mouse and touchscreen input path. Done means mouse or touchpad input controls touchscreen interactions while the existing gamepad controls continue to work.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.