Skip to content

Implemented Right Click Drag Navigation with Modifiers#58

Merged
SpectralVectors merged 13 commits intoSpectralVectors:masterfrom
roguesleipnir:mmb_switch2
Mar 4, 2026
Merged

Implemented Right Click Drag Navigation with Modifiers#58
SpectralVectors merged 13 commits intoSpectralVectors:masterfrom
roguesleipnir:mmb_switch2

Conversation

@roguesleipnir
Copy link
Contributor

I actually made these functions more than a year ago and have been using them comfortably for a while.
Had to refactor a bit to the latest branch since there were new features. Tested on Blender 5.0 too.

The shortcuts mostly mimic Unity since that's the engine I've been using.
The middle mouse button is just takes too much effort to press for long times. So I wanted to swap them to RMB.
Please excuse the multiple bugfix commits, since I tested a bunch of app initialization and toggle on/off scenarios.

I also saw that last year someone requested for this type of feature.
#39

Summary

(Optionally) Remap the Middle Mouse Button 3D View controls to Right Mouse Button to match other 3D software.

Switching default Middle Mouse 3D View Controls to Right Mouse

To match other 3D software, the Middle Mouse 3D View camera controls can be switched to use the Right Mouse instead:

  • Shift + Drag RMB to Pan 3D View
  • Ctrl + Drag RMB to Zoom 3D View
  • Ctrl + Shift + Drag RMB to Dolly Zoom 3D View
  • Alt + Drag RMB to Rotate 3D View

Other controls that were switched to Middle Mouse:

  • Shift + Click MMB to Set 3D Cursor
  • Shift + Drag MMB to Transform Translate
  • Ctrl + Drag MMB to Lasso Selection
  • Shift + Ctrl + Drag MMB to Lasso Deselection

There is also a setting to switch the activation of Right Mouse Navigation mode and the 3D View Rotate keymapping:

  • Drag + RMB will now Rotate 3D View
  • Alt + RMB then WASD for Navigation Mode

Changes

  • __init__.py: Append Rebind functions on load, after register.
  • preferences.py: Added Preferences, Tooltips. Keymap rebinding.

@SpectralVectors SpectralVectors merged commit 6bd8abe into SpectralVectors:master Mar 4, 2026
1 check failed
@SpectralVectors
Copy link
Owner

Hi @roguesleipnir, thanks for the contribution, just tested it out and it seems to be working as described.

I may do a little tweaking to the UI before I send it on to the Extensions platform, but it seems like an option that people will appreciate.

I also made some discoveries re: how keymaps are handled that may require some tweaks to the keymap update/register section as well, but I haven't done any tests yet to see if it will be an issue, so I'm just going to merge it as it is and then patch it if any problems show up in testing.

Thanks again, I'll credit you in the update notes once I push it to Extensions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants