OpenRCT2 / OpenRCT2/OpenRCT2

Right click deletion difficulty due to pixel-perfect accuracy requirement (accessibility)

Open
#24,525 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
16.2k
Forks
1.9k
Avg merge
1d 20h
Merged PRs (30d)
80

Description

Hi hi,

Currently when deleting objects with right click you have to do this perfectly as moving even a single pixel will result in camera panning instead of the desired deletion. For those with unsteady hands or a sensitive mouse this can be quite difficult. With a pen tablet such as a Wacom, often used for ergonomics and RSI-management, it is almost impossible to consistently right click without also moving the pen slightly.

I have several solutions in mind. In order of preference:

  1. Split deletion and panning functionality and allow for individual binding. This would allow for middle click for panning the camera and right click for removal, which is used by some other games and a lot of drawing software as well.
  2. Some form of grace period time and/or pixel area. For example when right clicking for less then X milliseconds and/or within Y pixels of the initial click position count as delete on the original click position instead of panning the camera.
  3. Extra feature in bulldozer tool that turns left click into the action of right click delete. This would mean a lot of extra button presses for constant build/remove toggling though, so it's a last resort.

This is mainly accessibility, but possibly might be considered an original bug as well? Though with the small screen resolutions at the time it may not have been as easy to trigger compared to the 4k+ displays of today.

Cheers

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

No files, tests, or entry points are named. First clarify which of the three proposed input-behavior approaches is wanted with maintainers, then locate the relevant mouse-control code and its tests; done should include an agreed accessible deletion interaction and coverage for accidental panning.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
accessibility, game-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.