libretro / libretro/RetroArch

Inconsistent results from polling RETRO_DEVICE_MOUSE

Open
#17,028 6 comments 0 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

Description

The values returned from polling RETRO_DEVICE_MOUSE are inconsistent :

  • moving the mouse on windows+fullscreen+dinput is rougly 3 times faster than moving the mouse on linux+fullscreen+udev
  • moving the mouse on linux+windowed+udev is rougly 2 times faster than moving the mouse on linux+fullscreen+udev
Expected behavior

2 setups with the same core options and the same controls should have the same mouse speed.

Actual behavior

Multiple factors are causing the speed to vary greatly.

Steps to reproduce the bug
  1. Boot a game with mouse support (ex. centiped in FBNeo, using one of the mouse device types)
  2. Position yourself ingame on a border
  3. Start moving your mouse until you reach the opposite border
  4. Measure how much distance you moved your mouse physically (the difference is so obvious that you don't need something very precise, i simply used my mouse mat as a sort of unit for this)
  5. Change OS, change input driver, or press F to switch between windowed and fullscreen (tested on linux+udev)
  6. Repeat from 1
  7. Compare measured distances
Bisect Results

I don't know if it's a regression

Version

RetroArch 1.19.1

Environment information

Tested on linux+udev and windows+dinput

Additional note

While that might have been a somewhat acceptable workaround for this, it doesn't seem RA has any setting to increase/decrease mouse speed (Analog Sensitivity only works on controller analog sticks).

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 tracing polling for RETRO_DEVICE_MOUSE and comparing the dinput and udev paths, including fullscreen versus windowed handling. Reproduce with a mouse-enabled game such as centiped in FBNeo and compare physical movement with in-game distance across the listed configurations. Done means equivalent setups produce consistent mouse speed or the remaining platform differences are clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop, 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.