Skip to content

Combine Multiple Navigation Modes (Walk, Orbit, Pan) #39

Open

Description

@Minimalistix

More feature request than bug.

It would be great if the WASD movement also worked when holding the Middle Mouse Button as sometimes I need to change my perspective when orbiting. Currently WASD do nothing when the MMB is held.

Activity

  1. laurent-menten commented on Apr 1, 2025

    @laurent-menten

    Unless there is a conflict (I didnt try myself) I think you can do this by changing the keymap mapping of [3D View / Right Mouse Navigation / rmn.right_mouse_navigation] to Left instead of Right.

    Edit:
    This can be done by changing the keymap mappings for Forward/Backward/Left/Right in [3D View / View3D Walk modal].
    Anyway a user friendly preference would be great !

  2. Minimalistix commented on Apr 2, 2025

    @Minimalistix
    Author

    Thanks for looking into this but I cant get your solution to work for me. What I was hoping for was to leave me with RMB working exactly as you have it now, but the additional ability to move with WASD while orbiting with the MMB as you are currently stuck still while holding down MMB.

  3. SpectralVectors commented on Apr 8, 2025

    @SpectralVectors
    Owner

    @Minimalistix

    Thanks for using the addon, and submitting the request, unfortunately I'm not sure if I can implement that behaviour.

    The addon currently just binds Blender's existing Walk Navigation with a Timer that decides if a Menu should open, so it's limited by how Blender's Walk Navigation works.

    When you activate Navigation you enter 'Walk Mode' - which means that all your keyboard and mouse bindings change to the Walk bindings - e.g. Mouse scroll wheel normally Zooms the View, but in Walk Mode it will increase or decrease your speed instead.

    The same is true for 'Orbit Mode' - when you hold MMB you will only be able to use 'Orbit Mode' controls - e.g. G, S, R will not Move, Scale or Rotate until you release MMB.

    Or even 'Pan View' - Shift + MMB - you can't access this in 'Orbit Mode' by adding the Shift key, you have to first exit 'Orbit Mode', then press Shift, then press MMB again, and then you can access 'Pan View'

    So, you would really be looking at creating a Super Navigation Mode that could dynamically combine Walk, Orbit, Pan etc by listening for extra key events during the Navigation loop.

    There is another request that asks for something similar, combining multiple navigation modes, so you're not the only one who wants it, but it does seem like a relatively complex task, and I can't yet say for certain if it's possible.

    Part of the issue is that you need to either 'Cancel' or 'Confirm' a navigation move before you can start a different one, and I'm not sure that it will be possible to do smoothly.

    I'm not going to close the issue, and other people can chime in if they want this feature as well, but due to the complexity and the number of other projects I have on at the moment, it's not going to be a development priority at this point.

    If someone wants to take a stab at implementing it themselves, I will create an experimental branch where they can submit pulls.

  4. changed the title [-]Add WASD movement to MMB also[/-] [+]Combine Multiple Navigation Modes (Walk, Orbit, Pan)[/+] on Apr 8, 2025
  5. roguesleipnir commented on Mar 2, 2026

    @roguesleipnir
    Contributor

    Maybe something like this is what you're looking for?
    #58

  6. SpectralVectors commented on Mar 4, 2026

    @SpectralVectors
    Owner

    @Minimalistix I've just merged some changes from @roguesleipnir that add some extra functionality around MMB - not sure if this is what you're looking for, but you could test the latest changes and let us know.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions