Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/presets/keyconfig/keymap_data/blender_default.py')
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py530
1 files changed, 291 insertions, 239 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index e70fe63677a..9f921bd2b70 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -208,7 +208,6 @@ class Params:
# ------------------------------------------------------------------------------
# Constants
-
# Physical layout.
NUMBERS_1 = ('ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE', 'ZERO')
# Numeric order.
@@ -846,8 +845,156 @@ def km_user_interface(_params):
# ------------------------------------------------------------------------------
-# Editors
+# Shared Between Editors (Mask, Time-Line)
+def km_mask_editing(params):
+ items = []
+ keymap = (
+ "Mask Editing",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ if params.select_mouse == 'RIGHTMOUSE':
+ # mask.slide_point performs mostly the same function, so for the left
+ # click select keymap it's fine to have the context menu instead.
+ items.extend([
+ ("mask.select", {"type": 'RIGHTMOUSE', "value": 'PRESS'},
+ {"properties": [("deselect_all", not params.legacy)]}),
+ ("transform.translate", {"type": 'EVT_TWEAK_R', "value": 'ANY'}, None),
+ ])
+
+ items.extend([
+ ("mask.new", {"type": 'N', "value": 'PRESS', "alt": True}, None),
+ op_menu("MASK_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
+ *_template_items_proportional_editing(
+ params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_mask'),
+ ("mask.add_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.add_feather_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
+ ("mask.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("mask.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+ ("mask.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+ {"properties": [("toggle", True)]}),
+ *_template_items_select_actions(params, "mask.select_all"),
+ ("mask.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS'},
+ {"properties": [("deselect", False)]}),
+ ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
+ {"properties": [("deselect", True)]}),
+ ("mask.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ ("mask.select_circle", {"type": 'C', "value": 'PRESS'}, None),
+ ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
+ {"properties": [("mode", 'ADD')]}),
+ ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
+ {"properties": [("mode", 'SUB')]}),
+ ("mask.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
+ ("mask.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
+ *_template_items_hide_reveal_actions("mask.hide_view_set", "mask.hide_view_clear"),
+ ("clip.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True}, None),
+ ("mask.cyclic_toggle", {"type": 'C', "value": 'PRESS', "alt": True}, None),
+ ("mask.slide_point", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ("mask.slide_spline_curvature", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ("mask.handle_type_set", {"type": 'V', "value": 'PRESS'}, None),
+ ("mask.normals_make_consistent",
+ {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None),
+ ("mask.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
+ ("mask.shape_key_insert", {"type": 'I', "value": 'PRESS'}, None),
+ ("mask.shape_key_clear", {"type": 'I', "value": 'PRESS', "alt": True}, None),
+ ("mask.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
+ ("mask.copy_splines", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.paste_splines", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
+ ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
+ ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
+ ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
+ ("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
+ ("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
+ ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
+ ("transform.transform", {"type": 'S', "value": 'PRESS', "alt": True},
+ {"properties": [("mode", 'MASK_SHRINKFATTEN')]}),
+ ])
+
+ # 3D cursor
+ if params.cursor_tweak_event:
+ items.extend([
+ ("uv.cursor_set", params.cursor_set_event, None),
+ ("transform.translate", params.cursor_tweak_event,
+ {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
+ ])
+ else:
+ items.extend([
+ ("uv.cursor_set", params.cursor_set_event, None),
+ ])
+
+ return keymap
+
+
+def km_markers(params):
+ items = []
+ keymap = (
+ "Markers",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("marker.add", {"type": 'M', "value": 'PRESS'}, None),
+ ("marker.move", {"type": params.select_tweak, "value": 'ANY'},
+ {"properties": [("tweak", True)]}),
+ ("marker.duplicate", {"type": 'D', "value": 'PRESS', "shift": True}, None),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS'}, None),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+ {"properties": [("extend", True)]}),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
+ {"properties": [("camera", True)]}),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True},
+ {"properties": [("extend", True), ("camera", True)]}),
+ ("marker.select_box", {"type": params.select_tweak, "value": 'ANY'},
+ {"properties": [("tweak", True)]}),
+ ("marker.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ *_template_items_select_actions(params, "marker.select_all"),
+ ("marker.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("marker.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+ ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
+ ("marker.move", {"type": 'G', "value": 'PRESS'}, None),
+ ("marker.camera_bind", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
+ ])
+
+ return keymap
+
+
+def km_time_scrub(_params):
+ items = []
+ keymap = (
+ "Time Scrub",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("anim.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ])
+
+ return keymap
+
+
+def km_time_scrub_clip(_params):
+ items = []
+ keymap = (
+ "Clip Time Scrub",
+ {"space_type": 'CLIP_EDITOR', "region_type": 'PREVIEW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("clip.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ])
+
+ return keymap
+
+
+# ------------------------------------------------------------------------------
+# Editor (Property Editor)
def km_property_editor(_params):
items = []
@@ -894,6 +1041,9 @@ def km_property_editor(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Outliner)
+
def km_outliner(params):
items = []
keymap = (
@@ -983,6 +1133,9 @@ def km_outliner(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (UV Editor)
+
def km_uv_editor(params):
items = []
keymap = (
@@ -1114,6 +1267,9 @@ def km_uv_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (3D View)
+
# 3D View: all regions.
def km_view3d_generic(_params):
items = []
@@ -1478,151 +1634,8 @@ def km_view3d(params):
return keymap
-def km_mask_editing(params):
- items = []
- keymap = (
- "Mask Editing",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- if params.select_mouse == 'RIGHTMOUSE':
- # mask.slide_point performs mostly the same function, so for the left
- # click select keymap it's fine to have the context menu instead.
- items.extend([
- ("mask.select", {"type": 'RIGHTMOUSE', "value": 'PRESS'},
- {"properties": [("deselect_all", not params.legacy)]}),
- ("transform.translate", {"type": 'EVT_TWEAK_R', "value": 'ANY'}, None),
- ])
-
- items.extend([
- ("mask.new", {"type": 'N', "value": 'PRESS', "alt": True}, None),
- op_menu("MASK_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
- *_template_items_proportional_editing(
- params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_mask'),
- ("mask.add_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None),
- ("mask.add_feather_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
- ("mask.delete", {"type": 'X', "value": 'PRESS'}, None),
- ("mask.delete", {"type": 'DEL', "value": 'PRESS'}, None),
- ("mask.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
- {"properties": [("toggle", True)]}),
- *_template_items_select_actions(params, "mask.select_all"),
- ("mask.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
- ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS'},
- {"properties": [("deselect", False)]}),
- ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
- {"properties": [("deselect", True)]}),
- ("mask.select_box", {"type": 'B', "value": 'PRESS'}, None),
- ("mask.select_circle", {"type": 'C', "value": 'PRESS'}, None),
- ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
- {"properties": [("mode", 'ADD')]}),
- ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
- {"properties": [("mode", 'SUB')]}),
- ("mask.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
- ("mask.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
- *_template_items_hide_reveal_actions("mask.hide_view_set", "mask.hide_view_clear"),
- ("clip.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True}, None),
- ("mask.cyclic_toggle", {"type": 'C', "value": 'PRESS', "alt": True}, None),
- ("mask.slide_point", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ("mask.slide_spline_curvature", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ("mask.handle_type_set", {"type": 'V', "value": 'PRESS'}, None),
- ("mask.normals_make_consistent",
- {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None),
- ("mask.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
- ("mask.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
- ("mask.shape_key_insert", {"type": 'I', "value": 'PRESS'}, None),
- ("mask.shape_key_clear", {"type": 'I', "value": 'PRESS', "alt": True}, None),
- ("mask.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
- ("mask.copy_splines", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
- ("mask.paste_splines", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
- ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
- ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
- ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
- ("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
- ("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
- ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
- ("transform.transform", {"type": 'S', "value": 'PRESS', "alt": True},
- {"properties": [("mode", 'MASK_SHRINKFATTEN')]}),
- ])
-
- # 3D cursor
- if params.cursor_tweak_event:
- items.extend([
- ("uv.cursor_set", params.cursor_set_event, None),
- ("transform.translate", params.cursor_tweak_event,
- {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
- ])
- else:
- items.extend([
- ("uv.cursor_set", params.cursor_set_event, None),
- ])
-
- return keymap
-
-
-def km_markers(params):
- items = []
- keymap = (
- "Markers",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("marker.add", {"type": 'M', "value": 'PRESS'}, None),
- ("marker.move", {"type": params.select_tweak, "value": 'ANY'},
- {"properties": [("tweak", True)]}),
- ("marker.duplicate", {"type": 'D', "value": 'PRESS', "shift": True}, None),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS'}, None),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
- {"properties": [("extend", True)]}),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
- {"properties": [("camera", True)]}),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True},
- {"properties": [("extend", True), ("camera", True)]}),
- ("marker.select_box", {"type": params.select_tweak, "value": 'ANY'},
- {"properties": [("tweak", True)]}),
- ("marker.select_box", {"type": 'B', "value": 'PRESS'}, None),
- *_template_items_select_actions(params, "marker.select_all"),
- ("marker.delete", {"type": 'X', "value": 'PRESS'}, None),
- ("marker.delete", {"type": 'DEL', "value": 'PRESS'}, None),
- ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
- ("marker.move", {"type": 'G', "value": 'PRESS'}, None),
- ("marker.camera_bind", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
- ])
-
- return keymap
-
-
-def km_time_scrub(_params):
- items = []
- keymap = (
- "Time Scrub",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("anim.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ])
-
- return keymap
-
-
-def km_time_scrub_clip(_params):
- items = []
- keymap = (
- "Clip Time Scrub",
- {"space_type": 'CLIP_EDITOR', "region_type": 'PREVIEW'},
- {"items": items},
- )
-
- items.extend([
- ("clip.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ])
-
- return keymap
-
+# ------------------------------------------------------------------------------
+# Editor (Graph Editor)
def km_graph_editor_generic(_params):
items = []
@@ -1637,7 +1650,7 @@ def km_graph_editor_generic(_params):
sidebar_key={"type": 'N', "value": 'PRESS'},
),
("graph.extrapolation_type", {"type": 'E', "value": 'PRESS', "shift": True}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
*_template_items_hide_reveal_actions("graph.hide", "graph.reveal"),
("wm.context_set_enum", {"type": 'TAB', "value": 'PRESS', "ctrl": True},
{"properties": [("data_path", 'area.type'), ("value", 'DOPESHEET_EDITOR')]}),
@@ -1777,6 +1790,9 @@ def km_graph_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Image)
+
def km_image_generic(params):
items = []
keymap = (
@@ -1899,6 +1915,9 @@ def km_image(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Node)
+
def km_node_generic(_params):
items = []
keymap = (
@@ -2072,6 +2091,9 @@ def km_node_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Info)
+
def km_info(params):
items = []
keymap = (
@@ -2098,6 +2120,9 @@ def km_info(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (File Browser)
+
def km_file_browser(params):
items = []
keymap = (
@@ -2115,7 +2140,9 @@ def km_file_browser(params):
("file.parent", {"type": 'UP_ARROW', "value": 'PRESS', "alt": True}, None),
("file.previous", {"type": 'LEFT_ARROW', "value": 'PRESS', "alt": True}, None),
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "alt": True}, None),
+ # The two refresh operators have polls excluding each other (so only one is available depending on context).
("file.refresh", {"type": 'R', "value": 'PRESS'}, None),
+ ("file.asset_library_refresh", {"type": 'R', "value": 'PRESS'}, None),
("file.parent", {"type": 'P', "value": 'PRESS'}, None),
("file.previous", {"type": 'BACK_SPACE', "value": 'PRESS'}, None),
("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
@@ -2165,7 +2192,7 @@ def km_file_browser_main(params):
if not params.use_file_single_click:
items.extend([
("file.select", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'},
- {"properties": [("open", True), ("deselect_all", not params.legacy)]}),
+ {"properties": [("open", True), ("deselect_all", not params.legacy)]}),
])
items.extend([
@@ -2248,6 +2275,9 @@ def km_file_browser_buttons(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Dope Sheet)
+
def km_dopesheet_generic(_params):
items = []
keymap = (
@@ -2359,7 +2389,7 @@ def km_dopesheet(params):
("action.view_selected", {"type": 'NUMPAD_PERIOD', "value": 'PRESS'}, None),
("action.view_frame", {"type": 'NUMPAD_0', "value": 'PRESS'}, None),
("anim.channels_editable_toggle", {"type": 'TAB', "value": 'PRESS'}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
("transform.transform", {"type": 'G', "value": 'PRESS'},
{"properties": [("mode", 'TIME_TRANSLATE')]}),
("transform.transform", {"type": params.select_tweak, "value": 'ANY'},
@@ -2382,6 +2412,9 @@ def km_dopesheet(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (NLA)
+
def km_nla_generic(_params):
items = []
keymap = (
@@ -2400,7 +2433,7 @@ def km_nla_generic(_params):
{"properties": [("isolate_action", True)]}),
("nla.tweakmode_exit", {"type": 'TAB', "value": 'PRESS', "shift": True},
{"properties": [("isolate_action", True)]}),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
])
return keymap
@@ -2511,6 +2544,9 @@ def km_nla_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Text)
+
def km_text_generic(_params):
items = []
keymap = (
@@ -2672,6 +2708,9 @@ def km_text(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Sequencer)
+
def km_sequencercommon(params):
items = []
keymap = (
@@ -2831,7 +2870,10 @@ def km_sequencerpreview(params):
value=params.select_mouse_value_fallback,
legacy=params.legacy,
),
+ *_template_items_select_actions(params, "sequencer.select_all"),
+ ("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ # View.
("sequencer.view_all_preview", {"type": 'HOME', "value": 'PRESS'}, None),
("sequencer.view_all_preview", {"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'}, None),
("sequencer.view_ghost_border", {"type": 'O', "value": 'PRESS'}, None),
@@ -2849,6 +2891,8 @@ def km_sequencerpreview(params):
{"properties": [("ratio", 0.25)]}),
("sequencer.view_zoom_ratio", {"type": 'NUMPAD_8', "value": 'PRESS'},
{"properties": [("ratio", 0.125)]}),
+
+ # Edit.
("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
op_tool_optional(
("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
@@ -2865,6 +2909,10 @@ def km_sequencerpreview(params):
{"properties": [("property", 'SCALE')]}),
("sequencer.strip_transform_clear", {"type": 'R', "alt": True, "value": 'PRESS'},
{"properties": [("property", 'ROTATION')]}),
+
+ ("sequencer.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("sequencer.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+
*_template_items_context_menu("SEQUENCER_MT_preview_context_menu", params.context_menu_event),
])
@@ -2893,6 +2941,9 @@ def km_sequencerpreview(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Console)
+
def km_console(_params):
items = []
keymap = (
@@ -2958,6 +3009,9 @@ def km_console(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Clip)
+
def km_clip(_params):
items = []
keymap = (
@@ -3187,6 +3241,9 @@ def km_clip_dopesheet_editor(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Spreadsheet)
+
def km_spreadsheet_generic(_params):
items = []
keymap = (
@@ -3208,7 +3265,6 @@ def km_spreadsheet_generic(_params):
# ------------------------------------------------------------------------------
# Animation
-
def km_frames(params):
items = []
keymap = (
@@ -3328,7 +3384,7 @@ def km_animation_channels(params):
("anim.channel_select_keys", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK', "shift": True},
{"properties": [("extend", True)]}),
# Find (setting the name filter).
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
# Selection.
*_template_items_select_actions(params, "anim.channels_select_all"),
("anim.channels_select_box", {"type": 'B', "value": 'PRESS'}, None),
@@ -3372,8 +3428,7 @@ def km_animation_channels(params):
# ------------------------------------------------------------------------------
-# Modes
-
+# Object Modes
def km_grease_pencil(params):
items = []
@@ -4607,17 +4662,6 @@ def _template_view3d_select(*, type, value, legacy):
)]
-def _template_view3d_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_view3d_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_view3d_gpencil_select(*, type, value, legacy, use_select_mouse=True):
return [
*([] if not use_select_mouse else [
@@ -4633,17 +4677,6 @@ def _template_view3d_gpencil_select(*, type, value, legacy, use_select_mouse=Tru
]
-def _template_view3d_gpencil_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_view3d_gpencil_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_uv_select(*, type, value, legacy):
return [
("uv.select", {"type": type, "value": value},
@@ -4653,17 +4686,6 @@ def _template_uv_select(*, type, value, legacy):
]
-def _template_uv_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_uv_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_sequencer_generic_select(*, type, value, legacy):
return [(
"sequencer.select",
@@ -4686,7 +4708,7 @@ def _template_sequencer_preview_select(*, type, value, legacy):
(("center",), ("ctrl",)),
# TODO:
# (("enumerate",), ("alt",)),
- (("toggle", "center"), ("shift", "ctrl")),
+ (("toggle", "center"), ("shift", "ctrl")),
# (("center", "enumerate"), ("ctrl", "alt")),
# (("toggle", "enumerate"), ("shift", "alt")),
# (("toggle", "center", "enumerate"), ("shift", "ctrl", "alt")),
@@ -4709,17 +4731,6 @@ def _template_sequencer_timeline_select(*, type, value, legacy):
)]
-def _template_sequencer_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_sequencer_generic_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def km_image_paint(params):
items = []
keymap = (
@@ -5486,7 +5497,6 @@ def km_object_non_modal(params):
# ------------------------------------------------------------------------------
# Modal Maps and Gizmos
-
def km_eyedropper_modal_map(_params):
items = []
keymap = (
@@ -6160,11 +6170,10 @@ def km_popup_toolbar(_params):
# ------------------------------------------------------------------------------
-# Tool System Keymaps
+# Tool System (Generic)
#
# Named are auto-generated based on the tool name and it's toolbar.
-
def km_generic_tool_annotate(params):
return (
"Generic Tool: Annotate",
@@ -6227,6 +6236,9 @@ def km_image_editor_tool_generic_sample(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (UV Editor)
+
def km_image_editor_tool_uv_cursor(params):
return (
"Image Editor Tool: Uv, Cursor",
@@ -6261,7 +6273,6 @@ def km_image_editor_tool_uv_select_box(params, *, fallback):
"uv.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_uv_select_for_fallback(params, fallback),
]},
)
@@ -6289,7 +6300,6 @@ def km_image_editor_tool_uv_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
"uv.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_uv_select_for_fallback(params, fallback),
]},
)
@@ -6357,6 +6367,9 @@ def km_image_editor_tool_uv_scale(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Node Editor)
+
def km_node_editor_tool_select(params, *, fallback):
return (
_fallback_id("Node Tool: Tweak", fallback),
@@ -6377,7 +6390,8 @@ def km_node_editor_tool_select_box(params, *, fallback):
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
"node.select_box",
- type=params.tool_maybe_tweak, value=params.tool_maybe_tweak_value,
+ # Don't use `tool_maybe_tweak_event`, see comment for this slot.
+ **(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", True)],
)),
]},
@@ -6390,7 +6404,7 @@ def km_node_editor_tool_select_lasso(params, *, fallback):
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
- "node.select_lasso", type=params.tool_mouse, value='PRESS',
+ "node.select_lasso", **(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", True)]))
]},
)
@@ -6402,7 +6416,11 @@ def km_node_editor_tool_select_circle(params, *, fallback):
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
- "node.select_circle", type=params.tool_mouse, value='PRESS',
+ "node.select_circle",
+ # Why circle select should be used on tweak?
+ # So that RMB or Shift-RMB is still able to set an element as active.
+ type=params.select_tweak if fallback else params.tool_mouse,
+ value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
]},
)
@@ -6418,6 +6436,9 @@ def km_node_editor_tool_links_cut(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Generic)
+
def km_3d_view_tool_cursor(params):
return (
"3D View Tool: Cursor",
@@ -6453,7 +6474,6 @@ def km_3d_view_tool_select_box(params, *, fallback):
"view3d.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_select_for_fallback(params, fallback),
]},
)
@@ -6470,7 +6490,6 @@ def km_3d_view_tool_select_circle(params, *, fallback):
type=params.select_tweak if fallback else params.tool_mouse,
value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
- # No selection fallback since this operates on press.
]},
)
@@ -6483,7 +6502,6 @@ def km_3d_view_tool_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions(
"view3d.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_select_for_fallback(params, fallback),
]}
)
@@ -6564,6 +6582,9 @@ def km_3d_view_tool_measure(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Pose Mode)
+
def km_3d_view_tool_pose_breakdowner(params):
return (
"3D View Tool: Pose, Breakdowner",
@@ -6594,6 +6615,9 @@ def km_3d_view_tool_pose_relax(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Armature)
+
def km_3d_view_tool_edit_armature_roll(params):
return (
"3D View Tool: Edit Armature, Roll",
@@ -6649,6 +6673,9 @@ def km_3d_view_tool_edit_armature_extrude_to_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Object Mode)
+
def km_3d_view_tool_interactive_add(params):
return (
"3D View Tool: Object, Add Primitive",
@@ -6665,6 +6692,9 @@ def km_3d_view_tool_interactive_add(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Mesh)
+
def km_3d_view_tool_edit_mesh_extrude_region(params):
return (
"3D View Tool: Edit Mesh, Extrude Region",
@@ -6931,6 +6961,9 @@ def km_3d_view_tool_edit_mesh_rip_edge(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Curve)
+
def km_3d_view_tool_edit_curve_draw(params):
return (
"3D View Tool: Edit Curve, Draw",
@@ -6998,6 +7031,9 @@ def km_3d_view_tool_edit_curve_extrude_to_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Sculpt)
+
def km_3d_view_tool_sculpt_box_hide(params):
return (
"3D View Tool: Sculpt, Box Hide",
@@ -7153,6 +7189,9 @@ def km_3d_view_tool_sculpt_face_set_edit(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Weight Paint)
+
def km_3d_view_tool_paint_weight_sample_weight(params):
return (
"3D View Tool: Paint Weight, Sample Weight",
@@ -7183,6 +7222,9 @@ def km_3d_view_tool_paint_weight_gradient(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Paint)
+
def km_3d_view_tool_paint_gpencil_line(params):
return (
"3D View Tool: Paint Gpencil, Line",
@@ -7317,6 +7359,9 @@ def km_3d_view_tool_paint_gpencil_interpolate(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Edit)
+
def km_3d_view_tool_edit_gpencil_select(params, *, fallback):
return (
_fallback_id("3D View Tool: Edit Gpencil, Tweak", fallback),
@@ -7339,7 +7384,6 @@ def km_3d_view_tool_edit_gpencil_select_box(params, *, fallback):
"gpencil.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_gpencil_select_for_fallback(params, fallback),
]},
)
@@ -7356,7 +7400,6 @@ def km_3d_view_tool_edit_gpencil_select_circle(params, *, fallback):
type=params.select_tweak if fallback else params.tool_mouse,
value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
- # No selection fallback since this operates on press.
]},
)
@@ -7369,7 +7412,6 @@ def km_3d_view_tool_edit_gpencil_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions(
"gpencil.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_gpencil_select_for_fallback(params, fallback),
]}
)
@@ -7455,6 +7497,9 @@ def km_3d_view_tool_edit_gpencil_interpolate(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Sculpt)
+
def km_3d_view_tool_sculpt_gpencil_select(params):
return (
"3D View Tool: Sculpt Gpencil, Tweak",
@@ -7490,24 +7535,26 @@ def km_3d_view_tool_sculpt_gpencil_select_lasso(params):
)
-def km_sequencer_editor_tool_select(params, *, fallback):
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Generic)
+
+def km_sequencer_editor_tool_generic_select(params, *, fallback):
return (
_fallback_id("Sequencer Tool: Tweak", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- *([] if fallback else
- _template_items_tool_select(params, "sequencer.select", "sequencer.cursor_set", extend="toggle")
- ),
- *([] if (not params.use_fallback_tool_rmb) else _template_sequencer_generic_select(
- type=params.select_mouse, value=params.select_mouse_value, legacy=params.legacy)),
+ *([] if fallback else _template_items_tool_select(
+ params, "sequencer.select", "sequencer.cursor_set", extend="toggle")),
+ *([] if (not params.use_fallback_tool_rmb) else _template_sequencer_preview_select(
+ type=params.select_mouse, value=params.select_mouse_value_fallback, legacy=params.legacy)),
# Ignored for preview.
*_template_items_change_frame(params),
]},
)
-def km_sequencer_editor_tool_select_box(params, *, fallback):
+def km_sequencer_editor_tool_generic_select_box(params, *, fallback):
return (
_fallback_id("Sequencer Tool: Select Box", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
@@ -7517,7 +7564,6 @@ def km_sequencer_editor_tool_select_box(params, *, fallback):
"sequencer.select_box",
**(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", params.select_mouse == 'LEFTMOUSE')])),
- *_template_sequencer_select_for_fallback(params, fallback),
# RMB select can already set the frame, match the tweak tool.
# Ignored for preview.
@@ -7527,17 +7573,7 @@ def km_sequencer_editor_tool_select_box(params, *, fallback):
)
-def km_sequencer_editor_tool_generic_sample(params):
- return (
- "Sequencer Tool: Sample",
- {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
- {"items": [
- ("sequencer.sample", {"type": params.tool_mouse, "value": 'PRESS'}, None),
- ]},
- )
-
-
-def km_sequencer_editor_tool_cursor(params):
+def km_sequencer_editor_tool_generic_cursor(params):
return (
"Sequencer Tool: Cursor",
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
@@ -7550,6 +7586,9 @@ def km_sequencer_editor_tool_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Timeline)
+
def km_sequencer_editor_tool_blade(_params):
return (
"Sequencer Tool: Blade",
@@ -7566,6 +7605,19 @@ def km_sequencer_editor_tool_blade(_params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Preview)
+
+def km_sequencer_editor_tool_sample(params):
+ return (
+ "Sequencer Tool: Sample",
+ {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
+ {"items": [
+ ("sequencer.sample", {"type": params.tool_mouse, "value": 'PRESS'}, None),
+ ]},
+ )
+
+
def km_sequencer_editor_tool_move(params):
return (
"Sequencer Tool: Move",
@@ -7848,14 +7900,14 @@ def generate_keymaps(params=None):
km_3d_view_tool_sculpt_gpencil_select_box(params),
km_3d_view_tool_sculpt_gpencil_select_circle(params),
km_3d_view_tool_sculpt_gpencil_select_lasso(params),
- *(km_sequencer_editor_tool_select(params, fallback=fallback) for fallback in (False, True)),
- *(km_sequencer_editor_tool_select_box(params, fallback=fallback) for fallback in (False, True)),
+ *(km_sequencer_editor_tool_generic_select(params, fallback=fallback) for fallback in (False, True)),
+ *(km_sequencer_editor_tool_generic_select_box(params, fallback=fallback) for fallback in (False, True)),
+ km_sequencer_editor_tool_generic_cursor(params),
km_sequencer_editor_tool_blade(params),
- km_sequencer_editor_tool_generic_sample(params),
- km_sequencer_editor_tool_cursor(params),
- km_sequencer_editor_tool_scale(params),
- km_sequencer_editor_tool_rotate(params),
+ km_sequencer_editor_tool_sample(params),
km_sequencer_editor_tool_move(params),
+ km_sequencer_editor_tool_rotate(params),
+ km_sequencer_editor_tool_scale(params),
]
# ------------------------------------------------------------------------------