libretro / libretro/RetroArch

[iOS] DSMuMe Touch Area incorrect

Open
#16,544 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

When using shaders with the DSMuMe core that modify the image (such as the Mega Bezel ones) the touch area for the touch screen of the DS gets expanded to fill the available width of the screen causing the actual touch area and the registered touch area to be in 2 different locations.

Expected behavior

Using the same setup on Windows, this does not occur and the touch area is properly mapped to the constraints of the secondary screen wherever the shader positions it - so I ruled it out as core or shader issue.

Example: https://i.imgur.com/rEPVwnw.png (notice that the touch area is only contained in the bottom right screen)

Actual behavior

The touch area is not aligned with the visual representation of the emulator.

Example: https://i.imgur.com/J93d98A.png

The green circle is where the emulator shows the touch area, red is actual placement of touch.

This only occurs when shaders are enabled, when shaders are disabled and core provided scaling is selected, the touch area is correctly mapped to the bottom screen of the emulator - even if the width of the emulator doesn't fill the screen.

Steps to reproduce the bug
  1. Enable Mega Bazel Shaders
  2. Try to play a game like Rythim Heaven where the touch area is clearly shown
  • RetroArch: [1.18.0
Environment information
  • OS: iOS iPad Pro

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 issue on an iPad with Mega Bezel shaders enabled and compare the visual secondary-screen bounds with the registered touch coordinates. Trace the iOS touch mapping alongside shader-based display scaling; done means touch input remains aligned with the secondary screen wherever the shader positions it, while core-provided scaling continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, ios
Domain
computer-graphics, frontend, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.