Cleanup: use sections for key-map definition

This commit is contained in:
Campbell Barton 2021-10-28 14:26:37 +11:00
parent 16f468fb14
commit e1fb7740f8
1 changed files with 196 additions and 154 deletions

View File

@ -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 = []
@ -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 = (
@ -2165,7 +2190,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 +2273,9 @@ def km_file_browser_buttons(_params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Dope Sheet)
def km_dopesheet_generic(_params):
items = []
keymap = (
@ -2382,6 +2410,9 @@ def km_dopesheet(params):
return keymap
# ------------------------------------------------------------------------------
# Editor (NLA)
def km_nla_generic(_params):
items = []
keymap = (
@ -2511,6 +2542,9 @@ def km_nla_editor(params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Text)
def km_text_generic(_params):
items = []
keymap = (
@ -2672,6 +2706,9 @@ def km_text(params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Sequencer)
def km_sequencercommon(params):
items = []
keymap = (
@ -2893,6 +2930,9 @@ def km_sequencerpreview(params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Console)
def km_console(_params):
items = []
keymap = (
@ -2958,6 +2998,9 @@ def km_console(_params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Clip)
def km_clip(_params):
items = []
keymap = (
@ -3187,6 +3230,9 @@ def km_clip_dopesheet_editor(_params):
return keymap
# ------------------------------------------------------------------------------
# Editor (Spreadsheet)
def km_spreadsheet_generic(_params):
items = []
keymap = (
@ -3208,7 +3254,6 @@ def km_spreadsheet_generic(_params):
# ------------------------------------------------------------------------------
# Animation
def km_frames(params):
items = []
keymap = (
@ -3372,8 +3417,7 @@ def km_animation_channels(params):
# ------------------------------------------------------------------------------
# Modes
# Object Modes
def km_grease_pencil(params):
items = []
@ -4686,7 +4730,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")),
@ -5486,7 +5530,6 @@ def km_object_non_modal(params):
# ------------------------------------------------------------------------------
# Modal Maps and Gizmos
def km_eyedropper_modal_map(_params):
items = []
keymap = (
@ -6164,7 +6207,6 @@ def km_popup_toolbar(_params):
#
# Named are auto-generated based on the tool name and it's toolbar.
def km_generic_tool_annotate(params):
return (
"Generic Tool: Annotate",