This removes several keymaps entries from the sculpt mode default
keymap, leaving room for new functionality and to start organizing
everything better.
Details
Diff Detail
- Repository
- rB Blender
- Branch
- sculpt-clenaup-keymap (branched from master)
- Build Status
Buildable 12429 Build 12429: arc lint + arc unit
Event Timeline
Sorry for the noise but when you said
and to start organizing everything better.
What do you have in mind, the sentence sounds empty and notice that there are people who are really shortcuts-oriented. Wouldn't be better to start a task and we discuss about this?
I think the description could be clearer on what this patch is for and aiming to achieve.
For context T84974, T76655 and the amount of unused shortcuts in sculpt mode is good to mention.
The patch is removing a lot of old or rarely used shortcuts or shortcuts that are far more accessible as pie menus for example.
There should also be a focus on only having shortcuts on the most essential brushes by default and to leave as much of the keymap as possible empty for the user to customise.
But this patch also brings up some more things.
The patch removes:
- Ctrl W = Grow Face Set
- Ctrl Alt W = Shrink Face Set
In the long run the Edit Face Set Tool is going to be more versatile and rich of functionality. Replacing the initial operators with the Tools is the way forward IMO. We should discuss this on blender chat and create a design for how to make the tools and filters more accessible.
Since Editing Face Sets is not the most essential of tools it can be left to the user to define a shortcut for the Tool for quick access but I wouldn't mind if Ctrl W would still be reserved for the Edit Face Set Tool by default.
- Ctrl 0-5 = Set specific Multires level
I think this could be handled in another patch to replace the current shortcuts with improved ones. Pressing Ctrl + a number is not the most convenient way of switching multires levels and I won't miss it personally but we should bring up the discussion on D7560 again (on blender chat, not here) to get a final design to overhaul how we use the multires layer switching,
- Alt M = Remove Mask
- Ctrl I = Invert Mask
- B = Box Mask
- Ctrl M = Mask visibility
I won't miss the first 2 since they are covered in the new A pie menu. What I want to see is that the mask operators that can be found in the A pie menu are grouped together in a sub menu under "Mask" -> "Edit Mask". Then the Edit Mask entry in the menu can display the shortcut "A". It's a small tweak that will make the A shortcut at least somewhat discoverable. Same for other pie menus ideally. We should talk to other developers to make this a thing, since I think it's only yet possible for menus.
Box mask should ideally still stay until we create a proper design on how to make the most used gesture tools more accessible.
Ctrl M is useful but often causes confusion when pressed by accident. This is something that the user should set themselves so I'm for removing it.
- Ctrl D = Dyntopo toggle
- Shift D = Dyntopo detail
I'm against these changes since these shortcuts are actually very useful for a dyntopo sculpting workflow and the dyntopo detail size operator cannot easily be recreated by the user.
- Ctrl Alt R = Quad remesh
This operator has little use as a shortcut and represents sometimes more of a self destruct button. I'm happy to see it go away.
- E = Stroke Method Menu
- R = Angle Control menu
These 2 keys are very valuable since they are easy to press. Having these blocked by menus that are almost never used makes no sense.
I'm happy to see them go away and possible be replaced by way better functionality like the upcoming Expand operator for E.
We need to create another patch to disable the rotate and scale operators in sculpt mode and instead embrace the tools/gizmos closer.
- P = Pinch brush
- I = Inflate brush
- L = Layer brush
- Shift T = Flatten brush
- C = Clay brush
- Shift C = Crease brush
- K = Snake Hook brush
- M = Mask brush
This is the actual controversial part of the patch.
I think except for the Mask, Crease & Inflate brushes this is completely the right way to go.
Mask and Crease should ideally stay the way they are. Inflate could get a more accessible shortcut on the left side of the keyboard or stay the way it is.
Brushes like Layer, Pinch, Flatten, Clay and Snake Hook are used rarely enough to not give them default shortcuts.
The flatten shortcut could even be taken by the scrape brush instead because that one is far more used.
If users use them often they can easily assign a shortcut that is more accessible for them.
Also to solve another conflict mentioned in T84974 it would be good to remap the smooth brush (Shift S) to Alt S. It can't be S because that is reserved for the future implementation of the color picker.
Smoothing is generally done by holding Shift and the biggest reason so far to ever switch to the smooth brush is to change the smooth strength.
It's a workaround that can be fixed with future changes and then we can remove the shortcut for the smooth brush by default.
Since Editing Face Sets is not the most essential of tools it can be left to the user to define a shortcut for the Tool for quick access but I wouldn't mind if Ctrl W would still be reserved for the Edit Face Set Tool by default.
Both Ctrl W and Ctrl Alt W were introduced before having the edit face set tool, so back them there was no other way or executing these operations. The new expand operator supports resizing existing fee sets interactively, so I don't see a reason to keep these.
I think this could be handled in another patch to replace the current shortcuts with improved ones. Pressing Ctrl + a number is not the most convenient way of switching multires levels and I won't miss it personally but we should bring up the discussion on D7560 again (on blender chat, not here) to get a final design to overhaul how we use the multires layer switching,
Going up and down one level is still available, which is the most common way of switching levels. Also, this keymap entry will create the subdivision without warning (unlike that operator in the patch). That means that if you press Ctrl + 5 instead of Ctrl + R by accident is an instant crash. Instead of keeping this, we can create a follow up patch to this on moving the level up and level down shortcuts to a more accesible shortcut.
Box mask should ideally still stay until we create a proper design on how to make the most used gesture tools more accessible.
I don't see a reason to just keep box mask if we are cleaning up the keymap. I don't see it as a particularly useful operation over any other gesture (I would rather have line or box reshape as a shortcut over box mask). I would rather leave it for later until we have a more consistent way of creating shortcuts for the gestures.
I'm against these changes since these shortcuts are actually very useful for a dyntopo sculpting workflow
Shift D can stay, but I don't find a shortcut to toggle dyntopo on/off useful at all. That is a destructive operation and when working with high poly meshes, it can easily crash Blender. I don't see a workflow reason to keep toggling Dyntopo on and off so often that you need a shortcut for it.
This is the actual controversial part of the patch. I think except for the Mask, Crease & Inflate brushes this is completely the right way to go.
Personally, the only shortcut I use is G for grab. The other brushes I use the most (elastic deform, pose, boundary) don't even have a shortcut. Even if it goes against my workflow, I think we should try to avoid shipping Blender with any brush shortcut by default, because that should be the role of the brush management system, not the keymap editor.
We can keep the brushes you mentioned just to keep the same workflow speed we are used to, but we need to keep in mind that this is just a hack until we have brush management when designing the rest of the sculpt mode keymap. We were doing a similar thing with the toolbar, using it as a replacement for the brush palette of brush management, making the problem worse for the future.
What I'd love most is more consistency between Sculpt Mode shortcuts and other areas of Blender. For example, Shift + R = Repeat last everywhere, except in Sculpt Mode, because it's assigned to voxel remesh resolution.
Also, primary functions should have direct keys, not Shift + key. For example, I often switch to the Smooth brush to change settings for smoothing, and 'S' has always been Smooth, until it was recently changed to Shift + S.
Next to always turning back the Smooth brush shortcut to 'S', I also revert it to the old toggle behaviour, so you can easily press 'S' to go to the Smooth brush, change some settings, then press 'S' again to return to your previous brush.
@Metin Seven (MetinSeven) Good points. The plan is currently that S is reserved for the color picker, just like in the other painting modes. This will get implemented the moment Sculpt Vertex Color will no longer be an experimental feature.
I would definitely restore these hotkeys that was removed:
- M = mask brush
- C = Clay brush
I personally don't have a lot of strong feelings regarding the hotkeys, but I know that there is a huge amount of users that uses clay and mask often.
It is relatively pointless to clean up sculpting keymap in the name of "organizing everything better" without tackling the entire insanity of Blender's keymap overall. If the sculpting portion of the keymap really ended up truly better after this, it would also mean it would be significantly inconsistent with poor key mapping in all the other areas of Blender.
Better organization is simply impossible if it's not tackled Blender-wide. Otherwise either:
A, It won't be really better, just different, but not better.
B, It will require users to switch muscle memory even between individual edit modes of a single piece of software - Blender.
This was my fear, when I was reading the title of thread. My big question is how can you provide a keymap that will suit everybody? the answer is simple, it is impossible. So this thread is suggesting keymap for everybody that will be made base on 2 or 3 users, you can do that if you want to but what if you change something later, and change again later?
The Blender keymap system is not really user friendly, there is not an user-friendly way to tell the user that there is a shortcut conflict or shortcut is taken, and i think, don't quote on this, that there are still some hardcoded shortcuts. If you do RMB -> assign shortcut, this feature does not exist in many tools e.g. Dyntopo's detail size, stroke method, ... And when new features have pie-menu, the old ones still have small pop-up menu, ...
Blender keymap system need a some love guys.