Skip to content

Changed mouse grab button from Left to Right for FreeCamera#22953

Open
Breakdown-Dog wants to merge 2 commits intobevyengine:mainfrom
Breakdown-Dog:free_camera_def_setting
Open

Changed mouse grab button from Left to Right for FreeCamera#22953
Breakdown-Dog wants to merge 2 commits intobevyengine:mainfrom
Breakdown-Dog:free_camera_def_setting

Conversation

@Breakdown-Dog
Copy link
Contributor

Objective

  • Currently, the FreeCamera uses MouseButton::Left for cursor grabbing, which risks input conflicts, for example, if scene selection tools are introduced, as both actions would map to the same trigger.
  • Remapping this to MouseButton::Right aligns with industry-standard interaction paradigms (e.g., Unity, Unreal, Blender), where the right mouse button is reserved for view manipulation, leaving the left button exclusively for object selection and UI interaction."

Solution

  • Changed mouse grab button from Left to Right for FreeCamera

Testing

  • The free_camera_controller example works properly.
  • CI

Copy link
Contributor

@mgi388 mgi388 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the uses of this controller in my code also change this to mouse_key_cursor_grab: MouseButton::Right, so leaving an approval as someone who also experienced this friction.

@kfc35 kfc35 added C-Usability A targeted quality-of-life change that makes Bevy easier to use D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Needs-Review Needs reviewer attention (from anyone!) to move forward A-Camera User-facing camera APIs and controllers. labels Feb 14, 2026
Copy link
Contributor

@kfc35 kfc35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will click approve for correctness (I tested it out and it works as expected), but I do want to note for Mac trackpad users like myself:

The “scroll” gesture is done with two fingers, and the “right mouse click” gesture is done with two fingers and a button press. With this new default setting, it can be trickier to do the cursor grab without also affecting the speed inadvertently. Not impossible, just adds a bit more difficulty.

However, since the setting can be easily changed for individual use cases, this is not a blocker. I agree that we should not cause undue friction by deviating from standard controls elsewhere

@kfc35 kfc35 added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Camera User-facing camera APIs and controllers. C-Usability A targeted quality-of-life change that makes Bevy easier to use D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants