2026-03-11_4

This commit is contained in:
2026-03-17 15:34:28 -06:00
parent 9706bc055f
commit eef5547a2c
474 changed files with 113268 additions and 27500 deletions
File diff suppressed because it is too large Load Diff
@@ -4,24 +4,31 @@
<ThemeUserInterface
menu_shadow_fac="0.3"
menu_shadow_width="4"
icon_file=""
icon_alpha="1"
icon_saturation="0.5"
widget_emboss="#00000005"
editor_outline="#1f1f1f"
widget_text_cursor="#3399e6"
transparent_checker_primary="#333333"
transparent_checker_secondary="#262626"
transparent_checker_size="8"
axis_x="#ff3352"
axis_y="#8bdc00"
axis_z="#2890ff"
gizmo_hi="#ffffff"
gizmo_primary="#f5f14d"
gizmo_secondary="#63ffff"
gizmo_view_align="#ffffff"
gizmo_a="#4da84d"
gizmo_b="#a33535"
icon_scene="#e6e6e6ff"
icon_collection="#e6e6e6ff"
icon_object="#e49759ff"
icon_object_data="#89e689ff"
icon_modifier="#84b8ffff"
icon_shading="#ff6060ff"
icon_folder="#e3c16eff"
icon_border_intensity="0"
>
<wcol_regular>
<ThemeWidgetColors
@@ -360,6 +367,7 @@
speaker="#000000"
vertex="#000000"
vertex_select="#ff8500"
vertex_active="#000000"
vertex_size="3"
vertex_bevel="#00a5ff"
vertex_unreferenced="#000000"
@@ -375,6 +383,8 @@
face_dot="#ff8500"
facedot_size="3"
freestyle_face_mark="#7fff7f33"
face_back="#ff0000b3"
face_front="#0000ffb3"
nurb_uline="#909000"
nurb_vline="#803060"
nurb_sel_uline="#f0ff40"
@@ -400,6 +410,7 @@
bone_pose="#50c8ff"
bone_pose_active="#8cffff"
bone_solid="#c8c8c8"
bone_locked_weight="#ff000080"
bundle_solid="#c8c8c8"
camera_path="#000000"
skin_root="#b44d4d"
@@ -409,6 +420,7 @@
paint_curve_handle="#7fff7f7f"
paint_curve_pivot="#ff7f7f7f"
outline_width="1"
object_origin_size="6"
>
<space>
<ThemeSpaceGradient
@@ -431,7 +443,7 @@
>
<gradients>
<ThemeGradientColors
show_grad="TRUE"
background_type="LINEAR"
high_gradient="#889db3"
gradient="#0e0e0e"
>
@@ -453,6 +465,9 @@
<ThemeGraphEditor
grid="#2a2a2a"
frame_current="#5680c2"
time_scrub_background="#292929e6"
time_marker_line="#00000060"
time_marker_line_selected="#ffffff60"
window_sliders="#969696"
channels_region="#333333"
dopesheet_channel="#0f2c4d"
@@ -462,6 +477,7 @@
preview_range="#a14d0066"
vertex="#000000"
vertex_select="#ff8500"
vertex_active="#ffffff"
vertex_size="6"
vertex_bevel="#000000"
vertex_unreferenced="#000000"
@@ -524,6 +540,7 @@
<file_browser>
<ThemeFileBrowser
selected_file="#4f76b3"
row_alternate="#ffffff07"
>
<space>
<ThemeSpaceGeneric
@@ -561,6 +578,8 @@
<ThemeNLAEditor
grid="#2a2a2a"
view_sliders="#969696"
dopesheet_channel="#5a85b2"
nla_track="#424242"
active_action="#cc701a66"
active_action_unset="#9987614d"
preview_range="#a14d0066"
@@ -577,6 +596,9 @@
keyframe_border="#000000ff"
keyframe_border_selected="#000000ff"
frame_current="#5680c2"
time_scrub_background="#292929e6"
time_marker_line="#00000060"
time_marker_line_selected="#ffffff60"
>
<space>
<ThemeSpaceGeneric
@@ -623,6 +645,9 @@
<ThemeDopeSheet
grid="#2a2a2a"
frame_current="#5680c2"
time_scrub_background="#292929e6"
time_marker_line="#00000060"
time_marker_line_selected="#ffffff60"
value_sliders="#000000"
view_sliders="#c0c0c0"
dopesheet_channel="#0f2c4d24"
@@ -693,11 +718,10 @@
</dopesheet_editor>
<image_editor>
<ThemeImageEditor
gp_vertex="#000000"
gp_vertex_select="#ff8500"
gp_vertex_size="3"
grid="#505050ff"
vertex="#000000"
vertex_select="#ff8500"
vertex_active="#000000"
vertex_size="3"
vertex_bevel="#000000"
vertex_unreferenced="#000000"
@@ -706,6 +730,8 @@
face_dot="#ff8500"
facedot_size="3"
freestyle_face_mark="#7fff7f33"
face_back="#00000000"
face_front="#00000000"
editmesh_active="#ffffff80"
wire_edit="#c0c0c0"
edge_select="#ff8500"
@@ -717,7 +743,6 @@
preview_stitch_unstitchable="#ff0000ff"
preview_stitch_active="#e1d2c323"
uv_shadow="#707070ff"
uv_others="#606060ff"
frame_current="#60c040"
metadatabg="#000000"
metadatatext="#ffffff"
@@ -769,9 +794,6 @@
</image_editor>
<sequence_editor>
<ThemeSequenceEditor
gp_vertex="#000000"
gp_vertex_select="#ff8500"
gp_vertex_size="3"
grid="#404040"
window_sliders="#a0a0a0"
movie_strip="#516987"
@@ -780,15 +802,23 @@
scene_strip="#4e983e"
audio_strip="#2e8f8f"
effect_strip="#a9547c"
transition_strip="#a25f6f"
color_strip="#8f8f8f"
meta_strip="#6d9183"
mask_strip="#666666"
text_strip="#a29700"
active_strip="#d9d9d9"
selected_strip="#ff8f0d"
frame_current="#5680c2"
time_scrub_background="#292929e6"
time_marker_line="#00000060"
time_marker_line_selected="#ffffff60"
keyframe="#ff8500"
draw_action="#50c8ff"
preview_back="#000000"
metadatabg="#000000"
metadatatext="#ffffff"
preview_range="#a14d0066"
row_alternate="#ffffff0d"
>
<space>
<ThemeSpaceGeneric
@@ -823,7 +853,10 @@
</ThemeSequenceEditor>
</sequence_editor>
<properties>
<ThemeProperties>
<ThemeProperties
match="#5680c2"
active_modifier="#5680c2ff"
>
<space>
<ThemeSpaceGeneric
back="#424242"
@@ -858,6 +891,7 @@
</properties>
<text_editor>
<ThemeTextEditor
line_numbers="#d0d0d0"
line_numbers_background="#313133"
selected_text="#19191a"
cursor="#ff0000"
@@ -904,9 +938,7 @@
</text_editor>
<node_editor>
<ThemeNodeEditor
gp_vertex="#979797"
gp_vertex_select="#ff8500"
gp_vertex_size="3"
grid="#232323"
node_selected="#ed5700"
node_active="#ffffff"
wire="#808080"
@@ -916,12 +948,13 @@
node_backdrop="#565656ff"
converter_node="#66c4ff"
color_node="#ccb83d"
group_node="#426628"
group_node="#426628b9"
group_socket_node="#1a1a1a"
frame_node="#1a1a1acc"
matte_node="#975b5b"
distor_node="#749797"
noodle_curving="0"
grid_levels="2"
input_node="#e64555"
output_node="#b33641"
filter_node="#584d80"
@@ -931,6 +964,8 @@
script_node="#084d4d"
pattern_node="#6c696f"
layout_node="#6c696f"
geometry_node="#00d7a4"
attribute_node="#3f5980"
>
<space>
<ThemeSpaceGeneric
@@ -977,6 +1012,11 @@
<ThemeOutliner
match="#337f33"
selected_highlight="#314e78"
active="#3b5689"
selected_object="#e96a00"
active_object="#ffaf29"
edited_object="#00806266"
row_alternate="#ffffff07"
>
<space>
<ThemeSpaceGeneric
@@ -1014,14 +1054,18 @@
<ThemeInfo
info_selected="#6080ff"
info_selected_text="#ffffff"
info_error="#990000"
info_error="#990000ff"
info_error_text="#ffffff"
info_warning="#b36a00"
info_warning="#b36a00ff"
info_warning_text="#ffffff"
info_info="#668000"
info_info="#668000ff"
info_info_text="#ffffff"
info_debug="#d3d3d3"
info_debug="#d3d3d3ff"
info_debug_text="#000000"
info_property="#3ace87ff"
info_property_text="#ffffff"
info_operator="#3ace87ff"
info_operator_text="#ffffff"
>
<space>
<ThemeSpaceGeneric
@@ -1132,9 +1176,7 @@
</console>
<clip_editor>
<ThemeClipEditor
gp_vertex="#000000"
gp_vertex_select="#000000"
gp_vertex_size="1"
grid="#424242ff"
marker_outline="#000000"
marker="#7f7f00"
active_marker="#ffffff"
@@ -1143,7 +1185,12 @@
locked_marker="#7f7f7f"
path_before="#ff0000"
path_after="#0000ff"
path_keyframe_before="#ffc4c4"
path_keyframe_after="#c4c4ff"
frame_current="#5680c2"
time_scrub_background="#292929e6"
time_marker_line="#00000060"
time_marker_line_selected="#ffffff60"
strips="#0c0a0a"
strips_selected="#ff8c00"
metadatabg="#000000"
@@ -1411,6 +1458,40 @@
>
</ThemeBoneColorSet>
</bone_color_sets>
<collection_color>
<ThemeCollectionColor
color="#e2605b"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#f1a355"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#f1dc55"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#7bcc7b"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#5db6ea"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#8d59da"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#c673b8"
>
</ThemeCollectionColor>
<ThemeCollectionColor
color="#7a5441"
>
</ThemeCollectionColor>
</collection_color>
</Theme>
<ThemeStyle>
<panel_title>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1244,8 +1244,7 @@ def km_file_browser(params):
("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("wm.context_toggle", {"type": 'H', "value": 'PRESS'},
{"properties": [("data_path", "space_data.params.show_hidden")]}),
("file.directory_new", {"type": 'I', "value": 'PRESS'},
{"properties": [("confirm", False)]}),
("file.directory_new", {"type": 'I', "value": 'PRESS'}, None),
("file.rename", {"type": 'F2', "value": 'PRESS'}, None),
("file.delete", {"type": 'DEL', "value": 'PRESS'}, None),
("file.smoothscroll", {"type": 'TIMER1', "value": 'ANY', "any": True}, None),
@@ -2222,8 +2221,9 @@ def km_spreadsheet_generic(_params):
)
items.extend([
("wm.context_toggle", {"type": 'LEFT_BRACKET', "value": 'PRESS', "ctrl": True},
{"properties": [("data_path", "space_data.show_region_toolbar")]}),
*_template_space_region_type_toggle(
channels_key={"type": 'T', "value": 'PRESS'},
),
("wm.context_toggle", {"type": 'RIGHT_BRACKET', "value": 'PRESS', "ctrl": True},
{"properties": [("data_path", "space_data.show_region_ui")]}),
])
@@ -2349,6 +2349,817 @@ def km_animation_channels(params):
# Modes
def km_gpencil_legacy(_params):
items = []
keymap = (
"Grease Pencil",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
return keymap
def _gpencil_legacy_selection(params):
return [
# Select all
("gpencil.select_all", {"type": 'A', "value": 'PRESS', "ctrl": True}, {"properties": [("action", 'SELECT')]}),
("gpencil.select_all", {"type": 'A', "value": 'PRESS', "ctrl": True,
"shift": True}, {"properties": [("action", 'DESELECT')]}),
("gpencil.select_all", {"type": 'I', "value": 'PRESS', "ctrl": True}, {"properties": [("action", 'INVERT')]}),
# Select linked
("gpencil.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
# Select grouped
("gpencil.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
# Select more/less
("gpencil.select_more", {"type": 'UP_ARROW', "value": 'PRESS', "repeat": True}, None),
("gpencil.select_less", {"type": 'DOWN_ARROW', "value": 'PRESS', "repeat": True}, None),
]
def _gpencil_legacy_display():
return [
("wm.context_toggle", {"type": 'Q', "value": 'PRESS', "shift": True},
{"properties": [("data_path", "space_data.overlay.use_gpencil_edit_lines")]}),
("wm.context_toggle", {"type": 'Q', "value": 'PRESS', "shift": True, "alt": True},
{"properties": [("data_path", "space_data.overlay.use_gpencil_multiedit_line_only")]}),
]
def km_gpencil_legacy_stroke_edit_mode(params):
items = []
keymap = (
"Grease Pencil Stroke Edit Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Normal select
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK'},
{"properties": [("deselect_all", True)]}),
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True},
{"properties": [("extend", True), ("toggle", True)]}),
# Selection
*_gpencil_legacy_selection(params),
("gpencil.select_all", {"type": 'A', "value": 'PRESS', "ctrl": True}, {"properties": [("action", 'SELECT')]}),
# Duplicate and move selected points
("gpencil.duplicate_move", {"type": 'D', "value": 'PRESS', "ctrl": True}, None),
# Delete
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}),
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'DEL', "value": 'PRESS'}),
("gpencil.dissolve", {"type": 'BACK_SPACE', "value": 'PRESS', "ctrl": True}, None),
("gpencil.dissolve", {"type": 'DEL', "value": 'PRESS', "ctrl": True}, None),
("gpencil.active_frames_delete_all", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
# Context menu
*_template_items_context_menu("VIEW3D_MT_gpencil_edit_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
# Separate
op_menu("GPENCIL_MT_separate", {"type": 'P', "value": 'PRESS'}),
# Split and joint strokes
("gpencil.stroke_join", {"type": 'J', "value": 'PRESS', "ctrl": True}, None),
("gpencil.stroke_join", {"type": 'J', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties": [("type", 'JOINCOPY')]}),
# Copy + paste.
("gpencil.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
("gpencil.paste", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
# Snap
op_menu_pie("GPENCIL_MT_snap_pie", {"type": 'X', "value": 'PRESS', "shift": True}),
# Show/hide
("gpencil.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("gpencil.hide", {"type": 'H', "value": 'PRESS', "ctrl": True},
{"properties": [("unselected", False)]}),
# Isolate layer
("gpencil.layer_isolate", {"type": 'NUMPAD_ASTERIX', "value": 'PRESS'}, None),
# Transform tools
("transform.translate", {"type": 'LEFTMOUSE', "value": 'CLICK_DRAG'}, None),
("wm.context_toggle", {"type": 'B', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_proportional_edit")]}),
# Vertex group menu
op_menu("GPENCIL_MT_gpencil_vertex_group", {"type": 'G', "value": 'PRESS', "ctrl": True}),
# Select mode
("gpencil.selectmode_toggle", {"type": 'ONE', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 0)]}),
("gpencil.selectmode_toggle", {"type": 'TWO', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 1)]}),
("gpencil.selectmode_toggle", {"type": 'THREE', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 2)]}),
# Active layer
op_menu("GPENCIL_MT_layer_active", {"type": 'Y', "value": 'PRESS'}),
# Merge Layer
("gpencil.layer_merge", {"type": 'Y', "value": 'PRESS', "shift": True}, None),
# Keyframes
op_menu("VIEW3D_MT_gpencil_animation", {"type": 'S', "value": 'PRESS', "shift": True}),
("gpencil.blank_frame_add", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
# Tools
*_template_items_basic_tools(),
op_tool_cycle("builtin.extrude", {"type": 'E', "value": 'PRESS', "ctrl": True}),
op_tool_cycle("builtin.radius", {"type": 'R', "value": 'PRESS', "ctrl": True}),
op_tool_cycle("builtin.bend", {"type": 'B', "value": 'PRESS', "ctrl": True}),
])
return keymap
def km_gpencil_legacy_stroke_paint_mode(params):
items = []
keymap = (
"Grease Pencil Stroke Paint Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_paint.brush.gpencil_settings.pen_strength")]}),
# Brush properties
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_paint.brush.size")]}),
("brush.scale_size", {"type": 'LEFT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 0.9)]}),
("brush.scale_size", {"type": 'RIGHT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 1.0 / 0.9)]}),
# Color operators
("gpencil.tint_flip", {"type": 'X', "value": 'PRESS'}, None),
# Draw context menu
*_template_items_context_panel("VIEW3D_PT_gpencil_draw_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
# Show/hide
("gpencil.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("gpencil.hide", {"type": 'H', "value": 'PRESS', "ctrl": True}, {"properties": [("unselected", False)]}),
("gpencil.hide", {"type": 'H', "value": 'PRESS', "shift": True}, {"properties": [("unselected", True)]}),
# Delete
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}),
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'DEL', "value": 'PRESS'}),
("gpencil.dissolve", {"type": 'BACK_SPACE', "value": 'PRESS', "ctrl": True}, None),
("gpencil.dissolve", {"type": 'DEL', "value": 'PRESS', "ctrl": True}, None),
("gpencil.active_frames_delete_all", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
# Box delete
("gpencil.select_box", {"type": 'B', "value": 'PRESS'}, None),
# Lasso delete
("gpencil.select_lasso", {"type": params.action_mouse, "value": 'CLICK_DRAG', "ctrl": True, "alt": True}, None),
# Tools
op_tool_cycle("builtin.cutter", {"type": 'K', "value": 'PRESS'}),
op_tool_cycle("builtin.cursor", {"type": 'C', "value": 'PRESS'}),
op_tool_cycle("builtin.annotate", {"type": 'D', "value": 'PRESS'}),
# Active layer
op_menu("GPENCIL_MT_layer_active", {"type": 'Y', "value": 'PRESS'}),
# Merge Layer
("gpencil.layer_merge", {"type": 'Y', "value": 'PRESS', "shift": True}, None),
# Material menu
op_menu("GPENCIL_MT_material_active", {"type": 'Y', "value": 'PRESS', "alt": True}),
# Keyframes
op_menu("VIEW3D_MT_gpencil_animation", {"type": 'S', "value": 'PRESS', "shift": True}),
("gpencil.blank_frame_add", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
])
return keymap
def km_gpencil_legacy_stroke_paint_draw_brush(params):
items = []
keymap = (
"Grease Pencil Stroke Paint (Draw brush)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Draw
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("mode", 'DRAW'), ("wait_for_input", False)]}),
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("mode", 'DRAW'), ("wait_for_input", False)]}),
# Draw - straight lines
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "alt": True},
{"properties": [("mode", 'DRAW_STRAIGHT'), ("wait_for_input", False)]}),
# Erase
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
# Tablet Mappings for Drawing ------------------ */
# For now, only support direct drawing using the eraser, as most users using a tablet
# may still want to use that as their primary pointing device!
("gpencil.draw", {"type": 'ERASER', "value": 'PRESS'},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_paint_erase(params):
items = []
keymap = (
"Grease Pencil Stroke Paint (Erase)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Erase
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
("gpencil.draw", {"type": 'ERASER', "value": 'PRESS'},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_paint_fill(params):
items = []
keymap = (
"Grease Pencil Stroke Paint (Fill)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Fill
("gpencil.fill", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("on_back", False)]}),
("gpencil.fill", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("on_back", False)]}),
# If press alternate key, the brush now it's for drawing areas
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [
("mode", 'DRAW'),
("wait_for_input", False),
("disable_straight", True),
("disable_stabilizer", True),
]}),
# If press alternative key, the brush now it's for drawing lines
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
{"properties": [
("mode", 'DRAW'),
("wait_for_input", False),
("disable_straight", True),
("disable_stabilizer", True),
("disable_fill", True),
]}),
])
return keymap
def km_gpencil_legacy_stroke_paint_tint(params):
items = []
keymap = (
"Grease Pencil Stroke Paint (Tint)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_mode(params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items}
)
items.extend([
# Selection Modes
("wm.context_toggle", {"type": 'ONE', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_select_mask_point")]}),
("wm.context_toggle", {"type": 'TWO', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_select_mask_stroke")]}),
("wm.context_toggle", {"type": 'THREE', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_select_mask_segment")]}),
# Normal Selection
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties": [("deselect_all", True), ("toggle", True), ("use_shift_extend", False)]}),
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True, "ctrl": True},
{"properties": [("use_shift_extend", True), ("toggle", True)]}),
# Selection
*_gpencil_legacy_selection(params),
# Brush properties
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_sculpt_paint.brush.strength")]}),
("brush.scale_size", {"type": 'LEFT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 0.9)]}),
("brush.scale_size", {"type": 'RIGHT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 1.0 / 0.9)]}),
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_sculpt_paint.brush.size")]}),
# Copy
("gpencil.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
# Display
*_gpencil_legacy_display(),
# Delete
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}),
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'DEL', "value": 'PRESS'}),
("gpencil.active_frames_delete_all", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
# Keyframes
op_menu("VIEW3D_MT_gpencil_animation", {"type": 'S', "value": 'PRESS', "shift": True}),
("gpencil.blank_frame_add", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
# Active layer
op_menu("GPENCIL_MT_layer_active", {"type": 'Y', "value": 'PRESS'}),
# Merge Layer
("gpencil.layer_merge", {"type": 'Y', "value": 'PRESS', "shift": True}, None),
# Material menu
op_menu("GPENCIL_MT_material_active", {"type": 'Y', "value": 'PRESS', "alt": True}),
# Context menu
op_panel("VIEW3D_PT_gpencil_sculpt_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
op_menu_pie(
"VIEW3D_MT_sculpt_gpencil_automasking_pie",
{"type": 'A', "alt": True, "value": 'PRESS'}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_smooth(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Smooth)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_thickness(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Thickness)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_strength(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Strength)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_grab(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Grab)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_push(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Push)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_twist(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Twist)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_pinch(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Pinch)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_randomize(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Randomize)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_sculpt_clone(_params):
items = []
keymap = (
"Grease Pencil Stroke Sculpt (Clone)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
("gpencil.sculpt_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_weight_mode(params):
items = []
keymap = (
"Grease Pencil Stroke Weight Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_weight_paint.brush.strength")]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_weight_paint.brush.size")]}),
("brush.scale_size", {"type": 'LEFT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 0.9)]}),
("brush.scale_size", {"type": 'RIGHT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 1.0 / 0.9)]}),
("wm.radial_control", {"type": 'F', "value": 'PRESS', "ctrl": True},
{"properties": [("data_path_primary", "tool_settings.gpencil_weight_paint.brush.weight")]}),
# Weight sample
("gpencil.weight_sample", {"type": 'I', "value": 'PRESS'}, None),
# Tools
op_tool_cycle("builtin.annotate", {"type": 'D', "value": 'PRESS'}),
# Delete
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}),
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'DEL', "value": 'PRESS'}),
("gpencil.active_frames_delete_all", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
# Keyframes
op_menu("VIEW3D_MT_gpencil_animation", {"type": 'S', "value": 'PRESS', "shift": True}),
("gpencil.blank_frame_add", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
# Active layer
op_menu("GPENCIL_MT_layer_active", {"type": 'Y', "value": 'PRESS'}),
# Merge Layer
("gpencil.layer_merge", {"type": 'Y', "value": 'PRESS', "shift": True}, None),
# Context menu
*_template_items_context_panel("VIEW3D_PT_gpencil_weight_context_menu",
{"type": 'RIGHTMOUSE', "value": 'PRESS'}),
])
return keymap
def km_gpencil_legacy_stroke_weight_draw(_params):
items = []
keymap = (
"Grease Pencil Stroke Weight (Draw)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.weight_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.weight_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_weight_blur(_params):
items = []
keymap = (
"Grease Pencil Stroke Weight (Blur)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.weight_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_weight_average(_params):
items = []
keymap = (
"Grease Pencil Stroke Weight (Average)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.weight_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_weight_smear(_params):
items = []
keymap = (
"Grease Pencil Stroke Weight (Smear)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
("gpencil.weight_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_mode(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Selection Modes
("wm.context_toggle", {"type": 'ONE', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_vertex_select_mask_point")]}),
("wm.context_toggle", {"type": 'TWO', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_vertex_select_mask_stroke")]}),
("wm.context_toggle", {"type": 'THREE', "value": 'PRESS'},
{"properties": [("data_path", "tool_settings.use_gpencil_vertex_select_mask_segment")]}),
# Normal Selection
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties": [("deselect_all", True), ("toggle", True), ("use_shift_extend", False)]}),
("gpencil.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True, "ctrl": True},
{"properties": [("use_shift_extend", True), ("toggle", True)]}),
# Selection
*_gpencil_legacy_selection(params),
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.gpencil_settings.pen_strength"),
]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size")]}),
("brush.scale_size", {"type": 'LEFT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 0.9)]}),
("brush.scale_size", {"type": 'RIGHT_BRACKET', "value": 'PRESS', "repeat": True},
{"properties": [("scalar", 1.0 / 0.9)]}),
# Color operators
("gpencil.tint_flip", {"type": 'X', "value": 'PRESS'}, None),
# Display
*_gpencil_legacy_display(),
# Delete
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}),
op_menu("VIEW3D_MT_edit_gpencil_delete", {"type": 'DEL', "value": 'PRESS'}),
("gpencil.active_frames_delete_all", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
# Keyframes
op_menu("VIEW3D_MT_gpencil_animation", {"type": 'S', "value": 'PRESS', "shift": True}),
("gpencil.blank_frame_add", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
# Active layer
op_menu("GPENCIL_MT_layer_active", {"type": 'Y', "value": 'PRESS'}),
# Merge Layer
("gpencil.layer_merge", {"type": 'Y', "value": 'PRESS', "shift": True}, None),
# Tools
op_tool_cycle("builtin.select_box", {"type": 'Q', "value": 'PRESS'}),
op_tool_cycle("builtin.annotate", {"type": 'D', "value": 'PRESS'}),
# Vertex Paint context menu
op_panel("VIEW3D_PT_gpencil_vertex_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_draw(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex (Draw)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.gpencil_settings.pen_strength"),
]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size")]}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_blur(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex (Blur)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.gpencil_settings.pen_strength"),
]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size"),
]}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_average(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex (Average)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("wait_for_input", False)]}),
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS'},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.gpencil_settings.pen_strength"),
]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size")]}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_smear(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex (Smear)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
# Brush strength
("wm.radial_control", {"type": 'U', "value": 'PRESS', "shift": True},
{"properties": [
("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.gpencil_settings.pen_strength"),
]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size")]}),
])
return keymap
def km_gpencil_legacy_stroke_vertex_replace(params):
items = []
keymap = (
"Grease Pencil Stroke Vertex (Replace)",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items": items},
)
items.extend([
# Tint
("gpencil.vertex_paint", {"type": 'LEFTMOUSE', "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
# Brush size
("wm.radial_control", {"type": 'S', "value": 'PRESS'},
{"properties": [("data_path_primary", "tool_settings.gpencil_vertex_paint.brush.size")]}),
])
return keymap
def km_face_mask(params):
items = []
keymap = (
@@ -2588,6 +3399,7 @@ def km_paint_curve(params):
("transform.translate", {"type": 'LEFTMOUSE', "value": 'CLICK_DRAG'}, None),
("transform.rotate", {"type": 'E', "value": 'PRESS'}, None),
("transform.resize", {"type": 'R', "value": 'PRESS'}, None),
op_asset_shelf_popup("VIEW3D_AST_brush_sculpt_curves", {"type": 'B', "value": 'PRESS'}),
])
return keymap
@@ -3407,7 +4219,6 @@ def km_sculpt_curves(params):
("sculpt_curves.min_distance_edit", {"type": 'D', "value": 'PRESS', "ctrl": True}, {}),
# Tools
op_tool_cycle("builtin.annotate", {"type": 'D', "value": 'PRESS'}),
op_asset_shelf_popup("VIEW3D_AST_brush_sculpt_curves", {"type": 'B', "value": 'PRESS'}),
])
return keymap
@@ -3605,6 +4416,14 @@ def km_image_editor_tool_uv_select(params):
)
def km_3d_view_tool_edit_gpencil_select(params):
return (
"3D View Tool: Edit Gpencil, Tweak",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": _template_items_tool_select(params, "gpencil.select", extend="toggle")},
)
def km_sequencer_editor_tool_select_preview(params):
return (
"Sequencer Preview Tool: Tweak",
@@ -3740,7 +4559,6 @@ def generate_keymaps_impl(params=None):
km_clip_editor(params),
km_clip_graph_editor(params),
km_clip_dopesheet_editor(params),
km_spreadsheet_generic(params),
# Animation.
km_frames(params),
@@ -3748,6 +4566,34 @@ def generate_keymaps_impl(params=None):
km_animation_channels(params),
# Modes.
# km_gpencil_legacy(params), # Empty.
km_gpencil_legacy_stroke_edit_mode(params),
km_gpencil_legacy_stroke_paint_mode(params),
km_gpencil_legacy_stroke_paint_draw_brush(params),
km_gpencil_legacy_stroke_paint_erase(params),
km_gpencil_legacy_stroke_paint_fill(params),
km_gpencil_legacy_stroke_paint_tint(params),
km_gpencil_legacy_stroke_sculpt_mode(params),
km_gpencil_legacy_stroke_sculpt_smooth(params),
km_gpencil_legacy_stroke_sculpt_thickness(params),
km_gpencil_legacy_stroke_sculpt_strength(params),
km_gpencil_legacy_stroke_sculpt_grab(params),
km_gpencil_legacy_stroke_sculpt_push(params),
km_gpencil_legacy_stroke_sculpt_twist(params),
km_gpencil_legacy_stroke_sculpt_pinch(params),
km_gpencil_legacy_stroke_sculpt_randomize(params),
km_gpencil_legacy_stroke_sculpt_clone(params),
km_gpencil_legacy_stroke_weight_mode(params),
km_gpencil_legacy_stroke_weight_draw(params),
km_gpencil_legacy_stroke_weight_blur(params),
km_gpencil_legacy_stroke_weight_average(params),
km_gpencil_legacy_stroke_weight_smear(params),
km_gpencil_legacy_stroke_vertex_mode(params),
km_gpencil_legacy_stroke_vertex_draw(params),
km_gpencil_legacy_stroke_vertex_blur(params),
km_gpencil_legacy_stroke_vertex_average(params),
km_gpencil_legacy_stroke_vertex_smear(params),
km_gpencil_legacy_stroke_vertex_replace(params),
km_face_mask(params),
km_weight_paint_vertex_selection(params),
km_pose(params),
@@ -3781,6 +4627,7 @@ def generate_keymaps_impl(params=None):
# Tool System.
km_3d_view_tool_select(params),
km_image_editor_tool_uv_select(params),
km_3d_view_tool_edit_gpencil_select(params),
km_sequencer_editor_tool_select_preview(params),
km_sequencer_editor_tool_select_timeline(params),
km_3d_view_tool_interactive_add(params),