Industry Compatible Keymap - Consistency and Updates #109750

Manually merged
Campbell Barton merged 14 commits from JulienKaspar/blender:ic-shortcut-consistency into main 2023-08-12 15:45:32 +02:00
Member

Based on the design #105298

General Info

All planned changes to the IC keymap. Some parts still missing:

  • Grease Pencil selection shortcuts for selection tools (This is a bug for all keymaps. Can be fixed in separate PR)
  • Selection Pie Menus (#110013 is not a priority for now and not essential for this patch)
  • Stencil Control fixes (This goes beyond keymap changes. The stencils need to be reworked)
  • Face Loop Select shortcuts in painting modes (Face Loop Selection via double click first needs better support)

Changes

IC Keymap Overview

The changes in this keymap are much more involved.
If any shortcut isn't mentioned, that means it is unchanged.

General

  • All brush shortcuts have been removed for free custom mapping
  • S & U are now consistently mapped for Brush size & strength
  • Redundant shortcuts have been removed such as
    • Line Session drawing (In GP Draw Tool)
    • Select Alternate in GP
    • Quadriflow Remesh (In Mesh Sculpt Mode)
    • Box Hide (In Mesh Sculpt Mode)
    • Dynamic Topology Toggle (In Mesh Sculpt Mode)
    • Mask Overlay (In Mesh Sculpt Mode)
  • Removed Lasso Mask/Select shortcuts (This keymap is mainly using the Tools instead. Easy to add back if needed.)

Mode Switching (Global change)

Easier mode switching access for any workflow.

  • 123 = switch selection/mask modes for the current mode. If in object mode, it will first switch to edit mode (Previously this would always switch to edit mode)
  • 4 = Mode switching pie menu (previously 4-7 for individual modes)
  • Tilde = Transfer Mode (Previously not mapped. Useful for instant object switching while keeping the current mode)
  • 5-0 = Unassigned

Brush vs Selection

Multiple Modes were missing these shortcuts.

  • Shift LMB = Smooth Brush
  • Ctrl LMB = Inverted Brush
  • Shift Alt LMB = Set Selection
  • Shift Alt Ctrl LMB = Toggle-Extend Selection

Brush Size vs Select Linked

These were previously in direct conflict. Now they are both distinct and based on other DCC software.

  • [ = Decrease Brush Size
  • ] = Increase Brush Size
  • Alt dbl LMB = Select Linked Pick
  • Ctrl Alt dbl LMB = Deselect Linked Pick
  • Ctrl L = Select Linked

Select & Mask

  • Q = Cycle Masking/Selection Tools
  • Ctrl A = Mask/Select Pie Menu (Draw, Paint, Sculpt Modes)
  • Alt A = Auto-Masking Pie Menu (Mesh & GP Sculpt Mode)
  • Shift A = Expand Mask (Mesh Sculpt Mode) / Grow Selection (Curve Sculpt Mode)
  • Shift Alt A = Expand Mask by Normals (Mesh Sculpt Mode)

Face Sets & Visibility

Previously missing shortcuts.

  • Shift W = Face Set Expand
  • Shift Alt W = Active Face Set Expand
  • Ctrl W = Face Set Edit Pie Menu
  • Page Up = Grow Active Face Set
  • Page Down = Shrink Active Face Set
  • H = Hide Active Face Set
  • Shift H = Hide Inactive Face Sets / Show everything
  • Ctrl H = Hide Masked Geometry

Transforming

For Sculpt and Weight Painting modes. Previously missing

  • C = Cursor Tool
  • W = Move Tool
  • E = Rotate Tool
  • R = Scale Tool
  • T = Transform Tool
  • Shift RMB = Set Cursor / Set Transform Pivot in Sculpt Mode

Sculpting

Consistent and easier to access shortcuts for remeshing and subdiv level .

  • Shift D = Subdivision level Down (Previously on Pg Down)
  • D = Subdivision level Up (Previously on Pg Up)
  • Shift Ctrl D = Voxel Size / Dyntopo Size
  • Ctrl D = Voxel Remesh / Dyntopo Flood Fill

Adding missing shortcuts

Painting

Fixing various missing or inconsistent shortcuts.

  • Backspace = Set Color/Weight
  • I = Sample Color/Weight
  • Alt I = Sample Vertex Group
  • Alt Ctrl I = Vertex Group Lock Pie
  • X = Swap Colors (Previously missing in Sculpt Mode)

Grease Pencil

Adding many missing shortcuts.

  • Shift S = Animation Menu (Previously on I and missing outside of Draw Mode)
  • Shift Alt S = Insert Blank Keyframe
  • Alt H = Unhide Layers
  • Ctrl H = Hide Active Layer
  • Shift H = Hide Inactive Layers
  • Y = Active Layer Menu
  • Shift Y = Merge Layer Down
  • Alt Y = Material Menu
  • Alt Backspace/Delete = Delete Active Keyframe (Previously on D Backspace/Delete)

Other

Adding missing shortcuts.

  • MMB for panning in the User Interface (Highly requested)
  • Shift F = Center View to Mouse (Replacing Frame Selected(All Regions) shortcut)
  • D = Annotate
  • L = Toggle Stabilize Stroke (Previously on Shift S)
  • Ctrl F = Weight radial control in weight painting modes
Based on the design #105298 # General Info All planned changes to the IC keymap. Some parts still missing: - ~~Grease Pencil selection shortcuts for selection tools~~ (This is a bug for all keymaps. Can be fixed in separate PR) - ~~Selection Pie Menus~~ (#110013 is not a priority for now and not essential for this patch) - ~~Stencil Control fixes~~ (This goes beyond keymap changes. The stencils need to be reworked) - ~~Face Loop Select shortcuts in painting modes~~ (Face Loop Selection via double click first needs better support) # Changes ## IC Keymap Overview The changes in this keymap are much more involved. If any shortcut isn't mentioned, that means it is unchanged. ### General - All brush shortcuts have been removed for free custom mapping - `S` & `U` are now consistently mapped for Brush size & strength - Redundant shortcuts have been removed such as - Line Session drawing (In GP Draw Tool) - Select Alternate in GP - Quadriflow Remesh (In Mesh Sculpt Mode) - Box Hide (In Mesh Sculpt Mode) - Dynamic Topology Toggle (In Mesh Sculpt Mode) - Mask Overlay (In Mesh Sculpt Mode) - Removed Lasso Mask/Select shortcuts (This keymap is mainly using the Tools instead. Easy to add back if needed.) ### Mode Switching (Global change) Easier mode switching access for any workflow. - `123` = switch selection/mask modes for the **current mode**. If in object mode, it will first switch to edit mode (Previously this would always switch to edit mode) - `4` = Mode switching pie menu (previously `4-7` for individual modes) - `Tilde` = Transfer Mode (Previously not mapped. Useful for instant object switching while keeping the current mode) - `5-0` = Unassigned ### Brush vs Selection Multiple Modes were missing these shortcuts. - `Shift` `LMB` = Smooth Brush - `Ctrl` `LMB` = Inverted Brush - `Shift` `Alt` `LMB` = Set Selection - `Shift` `Alt` `Ctrl` `LMB` = Toggle-Extend Selection ### Brush Size vs Select Linked These were previously in direct conflict. Now they are both distinct and based on other DCC software. - `[` = Decrease Brush Size - `]` = Increase Brush Size - `Alt` `dbl LMB` = Select Linked Pick - `Ctrl` `Alt` `dbl LMB` = Deselect Linked Pick - `Ctrl` `L` = Select Linked ### Select & Mask - `Q` = Cycle Masking/Selection Tools - `Ctrl` `A` = Mask/Select Pie Menu (Draw, Paint, Sculpt Modes) - `Alt` `A` = Auto-Masking Pie Menu (Mesh & GP Sculpt Mode) - `Shift A` = Expand Mask (Mesh Sculpt Mode) / Grow Selection (Curve Sculpt Mode) - `Shift` `Alt` `A` = Expand Mask by Normals (Mesh Sculpt Mode) ### Face Sets & Visibility Previously missing shortcuts. - `Shift` `W` = Face Set Expand - `Shift` `Alt` `W` = Active Face Set Expand - `Ctrl` `W` = Face Set Edit Pie Menu - `Page Up` = Grow Active Face Set - `Page Down` = Shrink Active Face Set - `H` = Hide Active Face Set - `Shift` `H` = Hide Inactive Face Sets / Show everything - `Ctrl` `H` = Hide Masked Geometry ### Transforming For Sculpt and Weight Painting modes. Previously missing - `C` = Cursor Tool - `W` = Move Tool - `E` = Rotate Tool - `R` = Scale Tool - `T` = Transform Tool - `Shift` `RMB` = Set Cursor / Set Transform Pivot in Sculpt Mode ### Sculpting Consistent and easier to access shortcuts for remeshing and subdiv level . - `Shift` `D` = Subdivision level Down (Previously on `Pg Down`) - `D` = Subdivision level Up (Previously on `Pg Up`) - `Shift` `Ctrl` `D` = Voxel Size / Dyntopo Size - `Ctrl` `D` = Voxel Remesh / Dyntopo Flood Fill Adding missing shortcuts ### Painting Fixing various missing or inconsistent shortcuts. - `Backspace` = Set Color/Weight - `I` = Sample Color/Weight - `Alt` `I` = Sample Vertex Group - `Alt` `Ctrl` `I` = Vertex Group Lock Pie - `X` = Swap Colors (Previously missing in Sculpt Mode) ### Grease Pencil Adding many missing shortcuts. - `Shift S` = Animation Menu (Previously on `I` and missing outside of Draw Mode) - `Shift` `Alt` `S` = Insert Blank Keyframe - `Alt` `H` = Unhide Layers - `Ctrl` `H` = Hide Active Layer - `Shift` H = Hide Inactive Layers - `Y` = Active Layer Menu - `Shift` `Y` = Merge Layer Down - `Alt` `Y` = Material Menu - `Alt` `Backspace`/`Delete` = Delete Active Keyframe (Previously on `D` `Backspace`/`Delete`) ### Other Adding missing shortcuts. - `MMB` for panning in the User Interface (Highly requested) - `Shift F` = Center View to Mouse (Replacing Frame Selected(All Regions) shortcut) - `D` = Annotate - `L` = Toggle Stabilize Stroke (Previously on `Shift` `S`) - `Ctrl F` = Weight radial control in weight painting modes
Julien Kaspar added this to the 4.0 milestone 2023-07-05 17:18:20 +02:00
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR109750) when ready.
Julien Kaspar force-pushed ic-shortcut-consistency from fb36ea9994 to 834c49a7f1 2023-07-12 11:20:20 +02:00 Compare
Julien Kaspar force-pushed ic-shortcut-consistency from 834c49a7f1 to 11b49ded6b 2023-07-20 10:41:51 +02:00 Compare
Julien Kaspar force-pushed ic-shortcut-consistency from 11b49ded6b to c8c4d9ff69 2023-07-22 14:43:00 +02:00 Compare
Julien Kaspar force-pushed ic-shortcut-consistency from 72c194b8b9 to e854a8156a 2023-07-26 15:04:54 +02:00 Compare
Julien Kaspar force-pushed ic-shortcut-consistency from e854a8156a to 8611efb9df 2023-08-02 09:50:13 +02:00 Compare
Julien Kaspar changed title from WIP: Industry Compatible Keymap - Consistency and Updates to Industry Compatible Keymap - Consistency and Updates 2023-08-02 13:46:19 +02:00
Julien Kaspar requested review from Campbell Barton 2023-08-02 13:46:25 +02:00
Author
Member

@ideasman42 This patch is now complete with all the essential changes for all brush modes.
Some changes carried over to other modes as well (Select Linked and 3D Cursor).
If this is looking all good to you then this is good to go.

Any further changes can be done at a later time.

My only remaining nitpicks in this PR would be:

  • D is the default shortcut for the Annotate tool, except sculpt mode. (Less consistent but more useful for sculptors from Zbrush. We could also just get rid of all Annotate tool shortcuts but it's a hassle to add back manually)
  • Shift F is now using view3d.view_center_pick instead of view3d.view_selected (user_all_regions). (Way better use of Shift F to include an important default shortcut)
@ideasman42 This patch is now complete with all the essential changes for all brush modes. Some changes carried over to other modes as well (Select Linked and 3D Cursor). If this is looking all good to you then this is good to go. Any further changes can be done at a later time. My only remaining nitpicks in this PR would be: - `D` is the default shortcut for the Annotate tool, except sculpt mode. (Less consistent but more useful for sculptors from Zbrush. We could also just get rid of all Annotate tool shortcuts but it's a hassle to add back manually) - `Shift F` is now using `view3d.view_center_pick` instead of `view3d.view_selected (user_all_regions)`. (Way better use of `Shift F` to include an important default shortcut)
Author
Member

@blender-bot package

@blender-bot package
Member

Package build started. Download here when ready.

Package build started. [Download here](https://builder.blender.org/download/patch/PR109750) when ready.
First-time contributor

As far as I remember, tilda was not mapped because some keyboards missing it
(which is a tragedy to us since we solve multiref collision with it)

As far as I remember, tilda was not mapped because some keyboards missing it (which is a tragedy to us since we solve multiref collision with it)
Author
Member

@1D_Inc The Tilde key is mapped on the default keymap too but to non-essential shortcuts.
The same here in the IC keymap. Having the Transfer Mode shortcut is very useful but not essential. So everyone who's missing this key is still fine.

@1D_Inc The Tilde key is mapped on the default keymap too but to non-essential shortcuts. The same here in the IC keymap. Having the Transfer Mode shortcut is very useful but not essential. So everyone who's missing this key is still fine.
Julien Kaspar force-pushed ic-shortcut-consistency from 19d3b11081 to daaf1fdbbb 2023-08-09 18:14:15 +02:00 Compare
First-time contributor

Interesting, it looks like there are planned transform QWER hotkeys for IC, but not for default GEARS.

Interesting, it looks like there are planned transform QWER hotkeys for IC, but not for default GEARS.
Campbell Barton requested changes 2023-08-10 07:32:14 +02:00
Campbell Barton left a comment
Owner

Generally fine, although adding MMB pan in 2D views conflicts with tool access (in node editor for e.g.) where MMB is meant to have priority for tool access. I think it would be best to remove these new keymap entries, or - make it part of a separate PR as it conflicts.

Generally fine, although adding MMB pan in 2D views conflicts with tool access (in node editor for e.g.) where MMB is meant to have priority for tool access. I think it would be best to remove these new keymap entries, or - make it part of a separate PR as it conflicts.
@ -2291,9 +2296,6 @@ def km_grease_pencil(_params):
)
items.extend([

This extend command is now empty and can be removed.

This extend command is now empty and can be removed.
Author
Member

Done

Done
JulienKaspar marked this conversation as resolved
Author
Member

adding MMB pan in 2D views conflicts with tool access (in node editor for e.g.) where MMB is meant to have priority for tool access.

@ideasman42 That's true! I'll remove the addition from "View 2D". But in that case I'd like to add it specifically to the Outliner, File Browser and Info Editor.

The purpose is that MMB can be used in any general 2D UI list, so it's more natural to scroll without a mouse wheel.
Alt LMB also tends to conflict there with toggling an "accordion" or nested panel in the properties or preferences.

>adding MMB pan in 2D views conflicts with tool access (in node editor for e.g.) where MMB is meant to have priority for tool access. @ideasman42 That's true! I'll remove the addition from "View 2D". But in that case I'd like to add it specifically to the Outliner, File Browser and Info Editor. The purpose is that MMB can be used in any general 2D UI list, so it's more natural to scroll without a mouse wheel. `Alt LMB` also tends to conflict there with toggling an "accordion" or nested panel in the properties or preferences.
Julien Kaspar force-pushed ic-shortcut-consistency from 64e593cf03 to fe78614658 2023-08-12 13:38:54 +02:00 Compare
Julien Kaspar added 1 commit 2023-08-12 13:43:10 +02:00
Julien Kaspar requested review from Campbell Barton 2023-08-12 13:43:44 +02:00
Campbell Barton approved these changes 2023-08-12 15:41:36 +02:00
Campbell Barton manually merged commit 8814101a20 into main 2023-08-12 15:45:32 +02:00
Sign in to join this conversation.
No reviewers
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#109750
No description provided.