Skip to content

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

Merged
alice-i-cecile merged 2 commits intobevyengine:mainfrom
Breakdown-Dog:free_camera_def_setting
Feb 17, 2026
Merged

Changed mouse grab button from Left to Right for FreeCamera#22953
alice-i-cecile merged 2 commits intobevyengine:mainfrom
Breakdown-Dog:free_camera_def_setting

Conversation

@Breakdown-Dog
Copy link
Copy Markdown
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
Copy Markdown
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.

Comment thread examples/camera/free_camera_controller.rs Outdated
@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
Copy Markdown
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
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Feb 17, 2026
Merged via the queue into bevyengine:main with commit 4bbaca8 Feb 17, 2026
40 checks passed
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.

4 participants