Skip to content

Instantly share code, notes, and snippets.

@bastianlstrube
Created April 11, 2019 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bastianlstrube/010f9e22c15ce05b42ec464acee2369d to your computer and use it in GitHub Desktop.
Save bastianlstrube/010f9e22c15ce05b42ec464acee2369d to your computer and use it in GitHub Desktop.
Blender Mayan Pies - Draft Recipe
keyconfig_data = \
[("Object Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.call_menu_pie",
{"type": 'O', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_proportional_editing_falloff_pie'),
],
},
),
("wm.context_toggle",
{"type": 'O', "value": 'PRESS'},
{"properties":
[("data_path", 'tool_settings.use_proportional_edit_objects'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'PRESS'},
{"properties":
[("action", 'SELECT'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'PRESS', "alt": True},
{"properties":
[("action", 'DESELECT'),
],
},
),
("object.select_all",
{"type": 'I', "value": 'PRESS', "ctrl": True},
{"properties":
[("action", 'INVERT'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'DOUBLE_CLICK'},
{"properties":
[("action", 'DESELECT'),
],
},
),
("object.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True}, None),
("object.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True}, None),
("object.select_linked", {"type": 'L', "value": 'PRESS', "shift": True}, None),
("object.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
("object.select_hierarchy",
{"type": 'LEFT_BRACKET', "value": 'PRESS'},
{"properties":
[("direction", 'PARENT'),
("extend", False),
],
},
),
("object.select_hierarchy",
{"type": 'LEFT_BRACKET', "value": 'PRESS', "shift": True},
{"properties":
[("direction", 'PARENT'),
("extend", True),
],
},
),
("object.select_hierarchy",
{"type": 'RIGHT_BRACKET', "value": 'PRESS'},
{"properties":
[("direction", 'CHILD'),
("extend", False),
],
},
),
("object.select_hierarchy",
{"type": 'RIGHT_BRACKET', "value": 'PRESS', "shift": True},
{"properties":
[("direction", 'CHILD'),
("extend", True),
],
},
),
("object.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
("object.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
("object.location_clear",
{"type": 'G', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.rotation_clear",
{"type": 'R', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.scale_clear",
{"type": 'S', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.delete",
{"type": 'X', "value": 'PRESS'},
{"properties":
[("use_global", False),
],
},
),
("object.delete",
{"type": 'X', "value": 'PRESS', "shift": True},
{"properties":
[("use_global", True),
],
},
),
("object.delete",
{"type": 'DEL', "value": 'PRESS'},
{"properties":
[("use_global", False),
("confirm", False),
],
},
),
("object.delete",
{"type": 'DEL', "value": 'PRESS', "shift": True},
{"properties":
[("use_global", True),
("confirm", False),
],
},
),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_add'),
],
},
),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_object_apply'),
],
},
),
("wm.call_menu",
{"type": 'L', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_make_links'),
],
},
),
("object.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
("object.duplicate_move_linked", {"type": 'D', "value": 'PRESS', "alt": True}, None),
("object.join", {"type": 'J', "value": 'PRESS', "ctrl": True}, None),
("anim.keyframe_insert_menu", {"type": 'I', "value": 'PRESS'}, None),
("anim.keyframe_delete_v3d", {"type": 'I', "value": 'PRESS', "alt": True}, None),
("anim.keying_set_active_set", {"type": 'I', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("collection.create", {"type": 'G', "value": 'PRESS', "ctrl": True}, None),
("collection.objects_remove", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("collection.objects_remove_all", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("collection.objects_add_active", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("collection.objects_remove_active", {"type": 'G', "value": 'PRESS', "shift": True, "alt": True}, None),
("wm.call_menu",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True},
{"properties":
[("name", 'VIEW3D_MT_object_context_menu'),
],
},
),
("object.subdivision_set",
{"type": 'ZERO', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 0),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'ONE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 1),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'TWO', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 2),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'THREE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 3),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'FOUR', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 4),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'FIVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 5),
("relative", False),
],
},
),
("object.move_to_collection", {"type": 'M', "value": 'PRESS'}, None),
("object.link_to_collection", {"type": 'M', "value": 'PRESS', "shift": True}, None),
("object.hide_view_clear", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("object.hide_view_set",
{"type": 'H', "value": 'PRESS'},
{"properties":
[("unselected", False),
],
},
),
("object.hide_view_set",
{"type": 'H', "value": 'PRESS', "shift": True},
{"properties":
[("unselected", True),
],
},
),
("object.hide_collection", {"type": 'H', "value": 'PRESS', "ctrl": True}, None),
("object.hide_collection",
{"type": 'ONE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 1),
],
},
),
("object.hide_collection",
{"type": 'TWO', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 2),
],
},
),
("object.hide_collection",
{"type": 'THREE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 3),
],
},
),
("object.hide_collection",
{"type": 'FOUR', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 4),
],
},
),
("object.hide_collection",
{"type": 'FIVE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 5),
],
},
),
("object.hide_collection",
{"type": 'SIX', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 6),
],
},
),
("object.hide_collection",
{"type": 'SEVEN', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 7),
],
},
),
("object.hide_collection",
{"type": 'EIGHT', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 8),
],
},
),
("object.hide_collection",
{"type": 'NINE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 9),
],
},
),
("object.hide_collection",
{"type": 'ZERO', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 10),
],
},
),
],
},
),
("Mesh",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("mesh.loopcut_slide",
{"type": 'R', "value": 'PRESS', "ctrl": True},
{"properties":
[("TRANSFORM_OT_edge_slide",
[("release_confirm", False),
],
),
],
},
),
("mesh.offset_edge_loops_slide",
{"type": 'R', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("TRANSFORM_OT_edge_slide",
[("release_confirm", False),
],
),
],
},
),
("mesh.inset", {"type": 'I', "value": 'PRESS'}, None),
("mesh.bevel",
{"type": 'B', "value": 'PRESS', "ctrl": True},
{"properties":
[("vertex_only", False),
],
},
),
("mesh.bevel",
{"type": 'B', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("vertex_only", True),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS'},
{"properties":
[("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS'},
{"properties":
[("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS'},
{"properties":
[("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'FACE'),
],
},
),
("mesh.loop_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", False),
],
},
),
("mesh.loop_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", True),
],
},
),
("mesh.edgering_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", False),
],
},
),
("mesh.edgering_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", True),
],
},
),
("mesh.shortest_path_pick",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("use_fill", False),
],
},
),
("mesh.shortest_path_pick",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("use_fill", True),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'PRESS'},
{"properties":
[("action", 'SELECT'),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'PRESS', "alt": True},
{"properties":
[("action", 'DESELECT'),
],
},
),
("mesh.select_all",
{"type": 'I', "value": 'PRESS', "ctrl": True},
{"properties":
[("action", 'INVERT'),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'DOUBLE_CLICK'},
{"properties":
[("action", 'DESELECT'),
],
},
),
("mesh.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_next_item", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("mesh.select_prev_item", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("mesh.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_linked_pick",
{"type": 'L', "value": 'PRESS'},
{"properties":
[("deselect", False),
],
},
),
("mesh.select_linked_pick",
{"type": 'L', "value": 'PRESS', "shift": True},
{"properties":
[("deselect", True),
],
},
),
("mesh.select_mirror", {"type": 'M', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("wm.call_menu",
{"type": 'G', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_select_similar'),
],
},
),
("mesh.hide",
{"type": 'H', "value": 'PRESS'},
{"properties":
[("unselected", False),
],
},
),
("mesh.hide",
{"type": 'H', "value": 'PRESS', "shift": True},
{"properties":
[("unselected", True),
],
},
),
("mesh.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("mesh.normals_make_consistent",
{"type": 'N', "value": 'PRESS', "shift": True},
{"properties":
[("inside", False),
],
},
),
("mesh.normals_make_consistent",
{"type": 'N', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("inside", True),
],
},
),
("mesh.flip_normals", {"type": 'N', "value": 'PRESS', "alt": True}, None),
("view3d.edit_mesh_extrude_move_normal", {"type": 'E', "value": 'PRESS'}, None),
("wm.call_menu",
{"type": 'E', "value": 'PRESS', "alt": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_extrude'),
],
},
),
("transform.edge_crease", {"type": 'E', "value": 'PRESS', "shift": True}, None),
("mesh.fill", {"type": 'F', "value": 'PRESS', "alt": True}, None),
("mesh.quads_convert_to_tris",
{"type": 'T', "value": 'PRESS', "ctrl": True},
{"properties":
[("quad_method", 'BEAUTY'),
("ngon_method", 'BEAUTY'),
],
},
),
("mesh.quads_convert_to_tris",
{"type": 'T', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("quad_method", 'FIXED'),
("ngon_method", 'CLIP'),
],
},
),
("mesh.tris_convert_to_quads", {"type": 'J', "value": 'PRESS', "alt": True}, None),
("mesh.rip_move",
{"type": 'V', "value": 'PRESS'},
{"properties":
[("MESH_OT_rip",
[("use_fill", False),
],
),
],
},
),
("mesh.rip_move",
{"type": 'V', "value": 'PRESS', "alt": True},
{"properties":
[("MESH_OT_rip",
[("use_fill", True),
],
),
],
},
),
("mesh.rip_edge_move", {"type": 'D', "value": 'PRESS', "alt": True}, None),
("mesh.merge", {"type": 'M', "value": 'PRESS', "alt": True}, None),
("transform.shrink_fatten", {"type": 'S', "value": 'PRESS', "alt": True}, None),
("mesh.edge_face_add", {"type": 'F', "value": 'PRESS'}, None),
("mesh.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_mesh_add'),
],
},
),
("mesh.separate", {"type": 'P', "value": 'PRESS'}, None),
("mesh.split", {"type": 'Y', "value": 'PRESS'}, None),
("mesh.vert_connect_path", {"type": 'J', "value": 'PRESS'}, None),
("mesh.point_normals", {"type": 'L', "value": 'PRESS', "alt": True}, None),
("transform.vert_slide", {"type": 'V', "value": 'PRESS', "shift": True}, None),
("mesh.dupli_extrude_cursor",
{"type": 'RIGHTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("rotate_source", True),
],
},
),
("mesh.dupli_extrude_cursor",
{"type": 'RIGHTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("rotate_source", False),
],
},
),
("wm.call_menu",
{"type": 'X', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_delete'),
],
},
),
("wm.call_menu",
{"type": 'DEL', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_delete'),
],
},
),
("mesh.dissolve_mode", {"type": 'X', "value": 'PRESS', "ctrl": True}, None),
("mesh.dissolve_mode", {"type": 'DEL', "value": 'PRESS', "ctrl": True}, None),
("mesh.knife_tool",
{"type": 'K', "value": 'PRESS'},
{"properties":
[("use_occlude_geometry", True),
("only_selected", False),
],
},
),
("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_context_menu'),
],
},
),
("wm.call_menu",
{"type": 'F', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_faces'),
],
},
),
("wm.call_menu",
{"type": 'E', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_edges'),
],
},
),
("wm.call_menu",
{"type": 'V', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_vertices'),
],
},
),
("wm.call_menu",
{"type": 'H', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_hook'),
],
},
),
("wm.call_menu",
{"type": 'U', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_uv_map'),
],
},
),
("wm.call_menu",
{"type": 'G', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_vertex_group'),
],
},
),
("object.vertex_group_remove_from", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("wm.call_menu_pie",
{"type": 'O', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_proportional_editing_falloff_pie'),
],
},
),
("wm.context_toggle_enum",
{"type": 'O', "value": 'PRESS'},
{"properties":
[("data_path", 'tool_settings.proportional_edit'),
("value_1", 'DISABLED'),
("value_2", 'ENABLED'),
],
},
),
("wm.context_toggle_enum",
{"type": 'O', "value": 'PRESS', "alt": True},
{"properties":
[("data_path", 'tool_settings.proportional_edit'),
("value_1", 'DISABLED'),
("value_2", 'CONNECTED'),
],
},
),
],
},
),
("3D View",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.cursor3d", {"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("transform.translate",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "shift": True},
{"properties":
[("cursor_transform", True),
("release_confirm", True),
],
},
),
("view3d.localview", {"type": 'NUMPAD_SLASH', "value": 'PRESS'}, None),
("view3d.localview", {"type": 'SLASH', "value": 'PRESS'}, None),
("view3d.localview_remove_from", {"type": 'M', "value": 'PRESS'}, None),
("view3d.rotate", {"type": 'MIDDLEMOUSE', "value": 'PRESS'}, None),
("view3d.move", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "shift": True}, None),
("view3d.zoom", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "ctrl": True}, None),
("view3d.dolly", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("view3d.view_selected",
{"type": 'NUMPAD_PERIOD', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_all_regions", True),
],
},
),
("view3d.view_selected",
{"type": 'NUMPAD_PERIOD', "value": 'PRESS'},
{"properties":
[("use_all_regions", False),
],
},
),
("view3d.smoothview", {"type": 'TIMER1', "value": 'ANY', "any": True}, None),
("view3d.rotate", {"type": 'TRACKPADPAN', "value": 'ANY'}, None),
("view3d.rotate", {"type": 'MOUSEROTATE', "value": 'ANY'}, None),
("view3d.move", {"type": 'TRACKPADPAN', "value": 'ANY', "shift": True}, None),
("view3d.zoom", {"type": 'TRACKPADZOOM', "value": 'ANY'}, None),
("view3d.zoom", {"type": 'TRACKPADPAN', "value": 'ANY', "ctrl": True}, None),
("view3d.zoom",
{"type": 'NUMPAD_PLUS', "value": 'PRESS'},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'NUMPAD_MINUS', "value": 'PRESS'},
{"properties":
[("delta", -1),
],
},
),
("view3d.zoom",
{"type": 'EQUAL', "value": 'PRESS', "ctrl": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'MINUS', "value": 'PRESS', "ctrl": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.zoom",
{"type": 'WHEELINMOUSE', "value": 'PRESS'},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'WHEELOUTMOUSE', "value": 'PRESS'},
{"properties":
[("delta", -1),
],
},
),
("view3d.dolly",
{"type": 'NUMPAD_PLUS', "value": 'PRESS', "shift": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.dolly",
{"type": 'NUMPAD_MINUS', "value": 'PRESS', "shift": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.dolly",
{"type": 'EQUAL', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.dolly",
{"type": 'MINUS', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.view_center_camera", {"type": 'HOME', "value": 'PRESS'}, None),
("view3d.view_center_lock", {"type": 'HOME', "value": 'PRESS'}, None),
("view3d.view_all",
{"type": 'HOME', "value": 'PRESS'},
{"properties":
[("center", False),
],
},
),
("view3d.view_all",
{"type": 'HOME', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_all_regions", True),
("center", False),
],
},
),
("view3d.view_all",
{"type": 'C', "value": 'PRESS', "shift": True},
{"properties":
[("center", True),
],
},
),
("wm.call_menu_pie",
{"type": 'ACCENT_GRAVE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_view_pie'),
],
},
),
("view3d.navigate", {"type": 'ACCENT_GRAVE', "value": 'PRESS', "shift": True}, None),
("view3d.view_camera", {"type": 'NUMPAD_0', "value": 'PRESS'}, None),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS'},
{"properties":
[("type", 'FRONT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_2', "value": 'PRESS'},
{"properties":
[("type", 'ORBITDOWN'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_4', "value": 'PRESS'},
{"properties":
[("type", 'ORBITLEFT'),
],
},
),
("view3d.view_persportho", {"type": 'NUMPAD_5', "value": 'PRESS'}, None),
("view3d.view_orbit",
{"type": 'NUMPAD_6', "value": 'PRESS'},
{"properties":
[("type", 'ORBITRIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS'},
{"properties":
[("type", 'TOP'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_8', "value": 'PRESS'},
{"properties":
[("type", 'ORBITUP'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'BACK'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'BOTTOM'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_2', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANDOWN'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_4', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANLEFT'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_6', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANRIGHT'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_8', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANUP'),
],
},
),
("view3d.view_roll",
{"type": 'NUMPAD_4', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_roll",
{"type": 'NUMPAD_6', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_9', "value": 'PRESS'},
{"properties":
[("angle", 3.1415927),
("type", 'ORBITRIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'FRONT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'TOP'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'BACK'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'LEFT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'BOTTOM'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'NORTH', "alt": True},
{"properties":
[("type", 'TOP'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'SOUTH', "alt": True},
{"properties":
[("type", 'BOTTOM'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'EAST', "alt": True},
{"properties":
[("type", 'RIGHT'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'WEST', "alt": True},
{"properties":
[("type", 'LEFT'),
("relative", True),
],
},
),
("view3d.view_center_pick", {"type": 'MIDDLEMOUSE', "value": 'CLICK', "alt": True}, None),
("view3d.ndof_orbit_zoom", {"type": 'NDOF_MOTION', "value": 'ANY'}, None),
("view3d.ndof_orbit", {"type": 'NDOF_MOTION', "value": 'ANY', "ctrl": True}, None),
("view3d.ndof_pan", {"type": 'NDOF_MOTION', "value": 'ANY', "shift": True}, None),
("view3d.ndof_all", {"type": 'NDOF_MOTION', "value": 'ANY', "shift": True, "ctrl": True}, None),
("view3d.view_selected",
{"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'},
{"properties":
[("use_all_regions", False),
],
},
),
("view3d.view_roll",
{"type": 'NDOF_BUTTON_ROLL_CCW', "value": 'PRESS'},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_roll",
{"type": 'NDOF_BUTTON_ROLL_CCW', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_FRONT', "value": 'PRESS'},
{"properties":
[("type", 'FRONT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_BACK', "value": 'PRESS'},
{"properties":
[("type", 'BACK'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_LEFT', "value": 'PRESS'},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_RIGHT', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_TOP', "value": 'PRESS'},
{"properties":
[("type", 'TOP'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_BOTTOM', "value": 'PRESS'},
{"properties":
[("type", 'BOTTOM'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_FRONT', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'FRONT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_RIGHT', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_TOP', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'TOP'),
("align_active", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK'},
{"properties":
[("deselect_all", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True},
{"properties":
[("toggle", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("center", True),
("object", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "alt": True},
{"properties":
[("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("extend", True),
("toggle", True),
("center", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True, "alt": True},
{"properties":
[("center", True),
("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties":
[("toggle", True),
("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True, "alt": True},
{"properties":
[("toggle", True),
("center", True),
("enumerate", True),
],
},
),
("view3d.select_box", {"type": 'B', "value": 'PRESS'}, None),
("view3d.select_lasso",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_lasso",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "shift": True, "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
("view3d.select_circle", {"type": 'C', "value": 'PRESS'}, None),
("view3d.clip_border", {"type": 'B', "value": 'PRESS', "alt": True}, None),
("view3d.zoom_border", {"type": 'B', "value": 'PRESS', "shift": True}, None),
("view3d.render_border", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
("view3d.clear_render_border", {"type": 'B', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("view3d.camera_to_view", {"type": 'NUMPAD_0', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("view3d.object_as_camera", {"type": 'NUMPAD_0', "value": 'PRESS', "ctrl": True}, None),
("view3d.copybuffer", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
("view3d.pastebuffer", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu_pie",
{"type": 'S', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_snap_pie'),
],
},
),
("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
("transform.translate", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
("transform.bend", {"type": 'W', "value": 'PRESS', "shift": True}, 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.mirror", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
("wm.context_toggle",
{"type": 'TAB', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'tool_settings.use_snap'),
],
},
),
("wm.call_panel",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'VIEW3D_PT_snapping'),
("keep_open", False),
],
},
),
("object.transform_axis_target", {"type": 'T', "value": 'PRESS', "shift": True}, None),
("transform.skin_resize", {"type": 'A', "value": 'PRESS', "ctrl": True}, None),
("view3d.copybuffer", {"type": 'C', "value": 'PRESS', "oskey": True}, None),
("view3d.pastebuffer", {"type": 'V', "value": 'PRESS', "oskey": True}, None),
("wm.context_toggle",
{"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("data_path", 'space_data.show_gizmo_tool'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_pie'),
],
},
),
("wm.call_menu_pie",
{"type": 'COMMA', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_orientations_pie'),
],
},
),
("wm.context_toggle",
{"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("data_path", 'space_data.show_gizmo_tool'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shading_ex_pie'),
],
},
),
("view3d.toggle_shading",
{"type": 'Z', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'WIREFRAME'),
],
},
),
("view3d.toggle_xray", {"type": 'Z', "value": 'PRESS', "alt": True}, None),
("wm.context_toggle",
{"type": 'Z', "value": 'PRESS', "shift": True, "alt": True},
{"properties":
[("data_path", 'space_data.overlay.show_overlays'),
],
},
),
("wm.tool_set_by_id",
{"type": 'W', "value": 'PRESS'},
{"properties":
[("name", 'builtin.select_box'),
("cycle", True),
],
},
),
("wm.call_menu_pie",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_contextPie'),
],
},
),
("wm.call_menu_pie",
{"type": 'SPACE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_spaceMaster'),
],
},
),
("wm.call_menu_pie",
{"type": 'RIGHTMOUSE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_editobject'),
],
},
),
("wm.call_menu_pie",
{"type": 'Q', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_manipulator'),
],
},
),
],
},
),
("3D View Tool: Select Box",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True, "ctrl": True},
{"properties":
[("mode", 'AND'),
],
},
),
],
},
),
("3D View Tool: Transform",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Move",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Rotate",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Scale",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("Window",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.read_homefile", {"type": 'N', "value": 'PRESS', "oskey": True}, None),
("wm.call_menu",
{"type": 'O', "value": 'PRESS', "shift": True, "oskey": True},
{"properties":
[("name", 'TOPBAR_MT_file_open_recent'),
],
},
),
("wm.open_mainfile", {"type": 'O', "value": 'PRESS', "oskey": True}, None),
("wm.save_mainfile", {"type": 'S', "value": 'PRESS', "oskey": True}, None),
("wm.save_as_mainfile", {"type": 'S', "value": 'PRESS', "shift": True, "oskey": True}, None),
("wm.quit_blender", {"type": 'Q', "value": 'PRESS', "oskey": True}, None),
("wm.search_menu", {"type": 'F', "value": 'PRESS', "oskey": True}, None),
("wm.read_homefile", {"type": 'N', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'O', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'TOPBAR_MT_file_open_recent'),
],
},
),
("wm.open_mainfile", {"type": 'O', "value": 'PRESS', "ctrl": True}, None),
("wm.save_mainfile", {"type": 'S', "value": 'PRESS', "ctrl": True}, None),
("wm.save_as_mainfile", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("wm.quit_blender", {"type": 'Q', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'Q', "value": 'PRESS', "shift": True, "oskey": True},
{"properties":
[("name", 'SCREEN_MT_user_menu'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F1', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'FILE_BROWSER'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F2', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'CLIP_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F3', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'NODE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F4', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'CONSOLE'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F5', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'VIEW_3D'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F6', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'GRAPH_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F7', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'PROPERTIES'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F8', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'SEQUENCE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F9', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'OUTLINER'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F10', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'IMAGE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F11', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'TEXT_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F12', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'DOPESHEET_EDITOR'),
],
},
),
("wm.call_menu",
{"type": 'NDOF_BUTTON_MENU', "value": 'PRESS'},
{"properties":
[("name", 'USERPREF_MT_ndof_settings'),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_PLUS', "value": 'PRESS'},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 1.1),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_MINUS', "value": 'PRESS'},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 0.90909094),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_PLUS', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 1.5),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_MINUS', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 0.6666667),
],
},
),
("info.reports_display_update", {"type": 'TIMER_REPORT', "value": 'ANY', "any": True}, None),
("wm.doc_view_manual_ui_context", {"type": 'F1', "value": 'PRESS'}, None),
("wm.call_panel",
{"type": 'F2', "value": 'PRESS'},
{"properties":
[("name", 'TOPBAR_PT_name'),
("keep_open", False),
],
},
),
("wm.search_menu", {"type": 'F3', "value": 'PRESS'}, None),
("wm.call_menu",
{"type": 'F4', "value": 'PRESS'},
{"properties":
[("name", 'TOPBAR_MT_file_context_menu'),
],
},
),
("wm.toolbar", {"type": 'SPACE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True}, None),
],
},
),
("Object Non-modal",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'view3d.snap_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shade_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'view3d.snap_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shade_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_of'),
],
},
),
("object.mode_set",
{"type": 'TAB', "value": 'PRESS', "ctrl": True},
{"properties":
[("mode", 'EDIT'),
("toggle", True),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_pie'),
],
},
),
],
},
),
]
if __name__ == "__main__":
import os
from bl_keymap_utils.io import keyconfig_import_from_data
keyconfig_import_from_data(os.path.splitext(os.path.basename(__file__))[0], keyconfig_data)
import bpy
from bpy.types import (
Header,
Menu,
Panel,
)
from bpy.app.translations import contexts as i18n_contexts
class VIEW3D_contextPie(Menu):
bl_label = ""
def draw(self, context):
if context.mode == 'EDIT_MESH':
def count_selected_items_for_objects_in_mode():
selected_verts_len = 0
selected_edges_len = 0
selected_faces_len = 0
for ob in context.objects_in_mode_unique_data:
v, e, f = ob.data.count_selected_items()
selected_verts_len += v
selected_edges_len += e
selected_faces_len += f
return (selected_verts_len, selected_edges_len, selected_faces_len)
is_vert_mode, is_edge_mode, is_face_mode = context.tool_settings.mesh_select_mode
selected_verts_len, selected_edges_len, selected_faces_len = count_selected_items_for_objects_in_mode()
del count_selected_items_for_objects_in_mode
# If nothing is selected
# (disabled for now until it can be made more useful).
'''
# If nothing is selected
if not (selected_verts_len or selected_edges_len or selected_faces_len):
layout.menu("VIEW3D_MT_mesh_add", text="Add")
return
'''
# Else something is selected
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
pie = layout.menu_pie()
if is_vert_mode:
# WEST
pie.operator("mesh.knife_tool", text="Knife")
# EAST
pie.separator()
# SOUTH
pie.operator("mesh.extrude_vertices_move", text="Extrude Vertices")
# NORTH
pie.operator("mesh.merge", text="Merge")
# potentiel for sub pie: pie.operator("mesh.remove_doubles", text="Remove Double Vertices")
# NORTH-WEST
pie.operator("mesh.loopcut_slide", text="Insert Loop")
# NORTH-EAST
pie.operator("mesh.bevel", text="Bevel Vertices").vertex_only = True
# SOUTH-WEST
pie.menu("VIEW3D_MT_edit_mesh_delete", text="Delete")
#pie.operator("mesh.dissolve_verts")
# potentiel for sub pie: pie.operator("mesh.delete", text="Delete Vertices").type = 'VERT'
# SOUTH-EAST
pie.operator("transform.vert_slide", text="Slide Vertex")
# Static Vert menu
pie.separator()
pie.separator()
dropdown = pie.column()
gap = dropdown.column()
gap.separator()
gap.scale_y = 8
dropdown_menu = dropdown.box().column()
dropdown_menu.scale_y=1
dropdown_menu.operator("wm.toolbar", text = "Handy Tools", icon="TOOL_SETTINGS")
dropdown_menu.operator("mesh.remove_doubles", text="Remove Double Vertices")
dropdown_menu.operator("mesh.bisect", text = "Bisect")
dropdown_menu.operator("transform.edge_crease", text = "Crease Tool")
dropdown_menu.operator("mesh.rip_move", text = "Detach Components")
dropdown_menu.operator("mesh.bevel", text="Bevel Vertices").vertex_only = True
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Crease Tool", icon="ops.generic.select")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Connect Components")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Circularize Component")
if is_edge_mode:
#render = context.scene.render
# WEST
pie.operator("mesh.knife_tool", text="Knife")
# EAST
pie.operator("mesh.edge_face_add", text="Fill")
# SOUTH
pie.operator("mesh.extrude_edges_move", text="Extrude Edges")
# NORTH
pie.operator("mesh.merge", text="Merge")
# NORTH-WEST
pie.operator("mesh.loopcut_slide", text="Insert Loop")
# NORTH-EAST
pie.operator("mesh.bevel", text="Bevel Edges").vertex_only = False
# SOUTH-WEST
pie.menu("VIEW3D_MT_edit_mesh_delete", text="Delete")
# SOUTH-EAST
pie.operator("transform.edge_slide", text="Slide Edge")
# Static edge menu
pie.separator()
pie.separator()
dropdown = pie.column()
gap = dropdown.column()
gap.separator()
gap.scale_y = 8
dropdown_menu = dropdown.box().column()
dropdown_menu.scale_y=1
dropdown_menu.operator("wm.toolbar", text = "Handy Tools", icon="TOOL_SETTINGS")
dropdown_menu.operator("mesh.bisect", text = "Bisect")
dropdown_menu.operator("transform.edge_crease", text = "Crease Tool")
dropdown_menu.operator("mesh.mark_sharp", text = "Mark Sharp")
dropdown_menu.operator("mesh.mark_sharp", text="Clear Sharp").clear = True
dropdown_menu.operator("mesh.subdivide", text = "Add Division To Edge")
dropdown_menu.operator("mesh.bridge_edge_loops", text = "Bridge")
dropdown_menu.operator("mesh.rip_move", text = "Detach Components")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Circularize Component")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Edit Edge Flow")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Offset Edge Loop Tool")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Insert Edgeloop Tool")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Fill")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "Connect Components")
if is_face_mode:
# WEST
pie.operator("mesh.knife_tool", text="Knife")
# EAST
pie.operator("mesh.subdivide", text="Subdivide")
# SOUTH
pie.operator("view3d.edit_mesh_extrude_move_normal", text="Extrude Faces")
# NORTH
pie.operator("mesh.merge", text="Merge")
# potentiel for sub pie: pie.operator("mesh.dissolve_faces")
# NORTH-WEST
pie.operator("mesh.loopcut_slide", text="Insert Loop")
# NORTH-EAST
pie.operator("mesh.unsubdivide")
# SOUTH-WEST
pie.menu("VIEW3D_MT_edit_mesh_delete", text="Delete")
# SOUTH-EAST
pie.separator()
# Static face menu
pie.separator()
pie.separator()
dropdown = pie.column()
gap = dropdown.column()
gap.separator()
gap.scale_y = 8
dropdown_menu = dropdown.box().column()
dropdown_menu.scale_y=1
dropdown_menu.operator("wm.toolbar", text = "Handy Tools", icon="TOOL_SETTINGS")
dropdown_menu.operator("mesh.bisect", text = "Bisect")
dropdown_menu.operator("mesh.rip_move", text = "Extract Faces")
#dropdown_menu.operator("mesh.primitive_cube_add", text = "handy tools", icon="TOOL_SETTINGS")
if bpy.context.mode == 'OBJECT':
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
pie = layout.menu_pie()
obj = context.object
# WEST
if obj is not None and obj.type in {'MESH', 'CURVE', 'SURFACE'}:
pie.operator("object.shade_smooth", text="Shade Smooth")
pie.operator("object.shade_flat", text="Shade Flat")
# SOUTH
props = pie.operator("object.select_hierarchy", text="Select Child")
props.extend = False
props.direction = 'CHILD'
# NORTH
props = pie.operator("object.select_hierarchy", text="Select Parent")
props.extend = False
props.direction = 'PARENT'
# NORTH-WEST
pie.operator("object.parent_set", text="Parent")
# NORTH-EAST
pie.operator("object.parent_clear", text="Clear Parent")
# SOUTH-WEST
pie.separator()
# SOUTH-EAST
pie.separator()
# Static non pie menu 01
pie.separator()
pie.separator()
dropdown = pie.column()
gap = dropdown.column()
gap.separator()
gap.scale_y = 8
dropdown_menu = dropdown.box().column()
dropdown_menu.scale_y=1
#dropdown_menu.operator("object.shade_smooth", text="Shade Smooth")
#dropdown_menu.operator("object.shade_smooth", text="Deselect All")
#dropdown_menu.operator("object.shade_smooth", text="Select Hierachy")
#dropdown_menu.operator("object.shade_smooth", text="Invert Selection")
def register():
bpy.utils.register_class(VIEW3D_contextPie)
def unregister():
bpy.utils.unregister_class(VIEW3D_contextPie)
if __name__ == "__main__":
register()
bpy.ops.wm.call_menu_pie(name="VIEW3D_contextPie")
"""
class VIEW3D_MT_edit_mesh_specials(Menu):
bl_label = ""
def draw(self, context):
def count_selected_items_for_objects_in_mode():
selected_verts_len = 0
selected_edges_len = 0
selected_faces_len = 0
for ob in context.objects_in_mode_unique_data:
v, e, f = ob.data.count_selected_items()
selected_verts_len += v
selected_edges_len += e
selected_faces_len += f
return (selected_verts_len, selected_edges_len, selected_faces_len)
is_vert_mode, is_edge_mode, is_face_mode = context.tool_settings.mesh_select_mode
selected_verts_len, selected_edges_len, selected_faces_len = count_selected_items_for_objects_in_mode()
del count_selected_items_for_objects_in_mode
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
# If nothing is selected
# (disabled for now until it can be made more useful).
'''
# If nothing is selected
if not (selected_verts_len or selected_edges_len or selected_faces_len):
layout.menu("VIEW3D_MT_mesh_add", text="Add")
return
'''
# Else something is selected
row = layout.row()
if is_vert_mode:
col = row.column()
col.label(text="Vertex Context Menu", icon='VERTEXSEL')
col.separator()
# Additive Operators
col.operator("mesh.subdivide", text="Subdivide")
col.separator()
col.operator("mesh.extrude_vertices_move", text="Extrude Vertices"),
col.operator("mesh.bevel", text="Bevel Vertices").vertex_only = True
if selected_verts_len > 1:
col.separator()
col.operator("mesh.edge_face_add", text="New Edge/Face from Vertices")
col.operator("mesh.vert_connect_path", text="Connect Vertex Path")
col.operator("mesh.vert_connect", text="Connect Vertex Pairs")
col.separator()
# Deform Operators
col.operator("transform.push_pull", text="Push/Pull")
col.operator("transform.shrink_fatten", text="Shrink/Fatten")
col.operator("transform.shear", text="Shear")
col.operator("transform.vert_slide", text="Slide Vertices")
col.operator("transform.vertex_random", text="Randomize Vertices")
col.operator("mesh.vertices_smooth", text="Smooth Vertices")
col.operator("mesh.vertices_smooth_laplacian", text="Smooth Laplacian")
col.separator()
col.menu("VIEW3D_MT_snap", text="Snap Vertices...")
col.operator("transform.mirror", text="Mirror Vertices")
col.separator()
# Removal Operators
if selected_verts_len > 1:
col.operator("mesh.merge", text="Merge Vertices...")
col.operator("mesh.remove_doubles", text="Remove Double Vertices")
col.operator("mesh.dissolve_verts")
col.operator("mesh.delete", text="Delete Vertices").type = 'VERT'
if is_edge_mode:
render = context.scene.render
col = row.column()
col.label(text="Edge Context Menu", icon='EDGESEL')
col.separator()
# Additive Operators
col.operator("mesh.subdivide", text="Subdivide")
col.separator()
col.operator("mesh.extrude_edges_move", text="Extrude Edges"),
col.operator("mesh.bevel", text="Bevel Edges").vertex_only = False
if selected_edges_len >= 2:
col.operator("mesh.bridge_edge_loops")
col.separator()
col.operator("mesh.loopcut_slide")
col.operator("mesh.offset_edge_loops_slide")
col.operator("mesh.knife_tool")
col.operator("mesh.bisect")
col.operator("mesh.bridge_edge_loops", text="Bridge Edge Loops")
col.separator()
# Deform Operators
col.operator("mesh.edge_rotate", text="Rotate Edge CW").use_ccw = False
col.operator("transform.edge_slide")
col.operator("mesh.edge_split")
col.separator()
# Edge Flags
col.operator("transform.edge_crease")
col.operator("transform.edge_bevelweight")
col.separator()
col.operator("mesh.mark_seam").clear = False
col.operator("mesh.mark_seam", text="Clear Seam").clear = True
col.separator()
col.operator("mesh.mark_sharp")
col.operator("mesh.mark_sharp", text="Clear Sharp").clear = True
if render.use_freestyle:
col.separator()
col.operator("mesh.mark_freestyle_edge").clear = False
col.operator("mesh.mark_freestyle_edge", text="Clear Freestyle Edge").clear = True
col.separator()
# Removal Operators
col.operator("mesh.unsubdivide")
col.operator("mesh.dissolve_edges")
col.operator("mesh.delete", text="Delete Edges").type = 'EDGE'
if is_face_mode:
col = row.column()
col.label(text="Face Context Menu", icon='FACESEL')
col.separator()
# Additive Operators
col.operator("mesh.subdivide", text="Subdivide")
col.separator()
col.operator("view3d.edit_mesh_extrude_move_normal", text="Extrude Faces"),
col.operator("view3d.edit_mesh_extrude_move_shrink_fatten", text="Extrude Faces Along Normals"),
col.operator("mesh.extrude_faces_move", text="Extrude Individual Faces"),
col.operator("mesh.inset"),
col.operator("mesh.poke")
if selected_faces_len >= 2:
col.operator("mesh.bridge_edge_loops", text="Bridge Faces")
col.separator()
# Modify Operators
col.menu("VIEW3D_MT_uv_map", text="UV Unwrap Faces...")
col.separator()
props = col.operator("mesh.quads_convert_to_tris")
props.quad_method = props.ngon_method = 'BEAUTY'
col.operator("mesh.tris_convert_to_quads")
col.separator()
col.operator("mesh.faces_shade_smooth")
col.operator("mesh.faces_shade_flat")
col.separator()
# Removal Operators
col.operator("mesh.unsubdivide")
col.operator("mesh.dissolve_faces")
col.operator("mesh.delete", text="Delete Faces").type = 'FACE'
class VIEW3D_MT_object_specials(Menu):
bl_label = "Object Context Menu"
def draw(self, context):
layout = self.layout
view = context.space_data
obj = context.object
is_eevee = context.scene.render.engine == 'BLENDER_EEVEE'
selected_objects_len = len(context.selected_objects)
# If nothing is selected
# (disabled for now until it can be made more useful).
'''
if selected_objects_len == 0:
layout.menu("VIEW3D_MT_add", text="Add")
layout.operator("view3d.pastebuffer", text="Paste Objects", icon='PASTEDOWN')
return
'''
# If something is selected
if obj is not None and obj.type in {'MESH', 'CURVE', 'SURFACE'}:
layout.operator("object.shade_smooth", text="Shade Smooth")
layout.operator("object.shade_flat", text="Shade Flat")
layout.separator()
if obj is None:
pass
elif obj.type == 'MESH':
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator_menu_enum("object.origin_set", text="Set Origin...", property="type")
layout.operator_context = 'INVOKE_DEFAULT'
# If more than one object is selected
if selected_objects_len > 1:
layout.operator("object.join")
elif obj.type == 'CAMERA':
layout.operator_context = 'INVOKE_REGION_WIN'
if obj.data.type == 'PERSP':
props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.lens"
props.input_scale = 0.1
if obj.data.lens_unit == 'MILLIMETERS':
props.header_text = "Camera Lens Angle: %.1fmm"
else:
props.header_text = "Camera Lens Angle: %.1f\u00B0"
else:
props = layout.operator("wm.context_modal_mouse", text="Camera Lens Scale")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.ortho_scale"
props.input_scale = 0.01
props.header_text = "Camera Lens Scale: %.3f"
if not obj.data.dof_object:
if view and view.camera == obj and view.region_3d.view_perspective == 'CAMERA':
props = layout.operator("ui.eyedropper_depth", text="DOF Distance (Pick)")
else:
props = layout.operator("wm.context_modal_mouse", text="DOF Distance")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.dof_distance"
props.input_scale = 0.02
props.header_text = "DOF Distance: %.3f"
elif obj.type in {'CURVE', 'FONT'}:
layout.operator_context = 'INVOKE_REGION_WIN'
props = layout.operator("wm.context_modal_mouse", text="Extrude Size")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.extrude"
props.input_scale = 0.01
props.header_text = "Extrude Size: %.3f"
props = layout.operator("wm.context_modal_mouse", text="Width Size")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.offset"
props.input_scale = 0.01
props.header_text = "Width Size: %.3f"
layout.operator("object.convert", text="Convert to Mesh").target = 'MESH'
layout.operator_menu_enum("object.origin_set", text="Set Origin...", property="type")
elif obj.type == 'GPENCIL':
layout.operator("gpencil.convert", text="Convert to Path").type = 'PATH'
layout.operator("gpencil.convert", text="Convert to Bezier Curves").type = 'CURVE'
layout.operator("gpencil.convert", text="Convert to Mesh").type = 'POLY'
layout.operator_menu_enum("object.origin_set", text="Set Origin...", property="type")
elif obj.type == 'EMPTY':
layout.operator_context = 'INVOKE_REGION_WIN'
props = layout.operator("wm.context_modal_mouse", text="Empty Draw Size")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "empty_display_size"
props.input_scale = 0.01
props.header_text = "Empty Draw Size: %.3f"
elif obj.type == 'LIGHT':
light = obj.data
layout.operator_context = 'INVOKE_REGION_WIN'
emission_node = None
if light.node_tree:
for node in light.node_tree.nodes:
if getattr(node, "type", None) == 'EMISSION':
emission_node = node
break
if is_eevee and not emission_node:
props = layout.operator("wm.context_modal_mouse", text="Energy")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.energy"
props.header_text = "Light Energy: %.3f"
if emission_node is not None:
props = layout.operator("wm.context_modal_mouse", text="Energy")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = (
"data.node_tree"
".nodes[\"" + emission_node.name + "\"]"
".inputs[\"Strength\"].default_value"
)
props.header_text = "Light Energy: %.3f"
props.input_scale = 0.1
if light.type == 'AREA':
props = layout.operator("wm.context_modal_mouse", text="Size X")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.size"
props.header_text = "Light Size X: %.3f"
if light.shape in {'RECTANGLE', 'ELLIPSE'}:
props = layout.operator("wm.context_modal_mouse", text="Size Y")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.size_y"
props.header_text = "Light Size Y: %.3f"
elif light.type in {'SPOT', 'POINT', 'SUN'}:
props = layout.operator("wm.context_modal_mouse", text="Radius")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.shadow_soft_size"
props.header_text = "Light Radius: %.3f"
if light.type == 'SPOT':
layout.separator()
props = layout.operator("wm.context_modal_mouse", text="Spot Size")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.spot_size"
props.input_scale = 0.01
props.header_text = "Spot Size: %.2f"
props = layout.operator("wm.context_modal_mouse", text="Spot Blend")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.spot_blend"
props.input_scale = -0.01
props.header_text = "Spot Blend: %.2f"
layout.separator()
layout.operator("view3d.copybuffer", text="Copy Objects", icon='COPYDOWN')
layout.operator("view3d.pastebuffer", text="Paste Objects", icon='PASTEDOWN')
layout.separator()
layout.operator("object.duplicate_move", icon='DUPLICATE')
layout.operator("object.duplicate_move_linked")
layout.separator()
layout.menu("VIEW3D_MT_snap")
layout.menu("VIEW3D_MT_object_parent")
layout.operator_context = 'INVOKE_REGION_WIN'
if view and view.local_view:
layout.operator("view3d.localview_remove_from")
else:
layout.operator("object.move_to_collection")
layout.separator()
layout.operator("anim.keyframe_insert_menu", text="Insert Keyframe...")
layout.separator()
layout.operator_context = 'EXEC_DEFAULT'
layout.operator("object.delete", text="Delete").use_global = False
"""
import bpy
from bpy.types import (keyconfig_data = \
[("Object Mode",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.call_menu_pie",
{"type": 'O', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_proportional_editing_falloff_pie'),
],
},
),
("wm.context_toggle",
{"type": 'O', "value": 'PRESS'},
{"properties":
[("data_path", 'tool_settings.use_proportional_edit_objects'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'PRESS'},
{"properties":
[("action", 'SELECT'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'PRESS', "alt": True},
{"properties":
[("action", 'DESELECT'),
],
},
),
("object.select_all",
{"type": 'I', "value": 'PRESS', "ctrl": True},
{"properties":
[("action", 'INVERT'),
],
},
),
("object.select_all",
{"type": 'A', "value": 'DOUBLE_CLICK'},
{"properties":
[("action", 'DESELECT'),
],
},
),
("object.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True}, None),
("object.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True}, None),
("object.select_linked", {"type": 'L', "value": 'PRESS', "shift": True}, None),
("object.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
("object.select_hierarchy",
{"type": 'LEFT_BRACKET', "value": 'PRESS'},
{"properties":
[("direction", 'PARENT'),
("extend", False),
],
},
),
("object.select_hierarchy",
{"type": 'LEFT_BRACKET', "value": 'PRESS', "shift": True},
{"properties":
[("direction", 'PARENT'),
("extend", True),
],
},
),
("object.select_hierarchy",
{"type": 'RIGHT_BRACKET', "value": 'PRESS'},
{"properties":
[("direction", 'CHILD'),
("extend", False),
],
},
),
("object.select_hierarchy",
{"type": 'RIGHT_BRACKET', "value": 'PRESS', "shift": True},
{"properties":
[("direction", 'CHILD'),
("extend", True),
],
},
),
("object.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
("object.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
("object.location_clear",
{"type": 'G', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.rotation_clear",
{"type": 'R', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.scale_clear",
{"type": 'S', "value": 'PRESS', "alt": True},
{"properties":
[("clear_delta", False),
],
},
),
("object.delete",
{"type": 'X', "value": 'PRESS'},
{"properties":
[("use_global", False),
],
},
),
("object.delete",
{"type": 'X', "value": 'PRESS', "shift": True},
{"properties":
[("use_global", True),
],
},
),
("object.delete",
{"type": 'DEL', "value": 'PRESS'},
{"properties":
[("use_global", False),
("confirm", False),
],
},
),
("object.delete",
{"type": 'DEL', "value": 'PRESS', "shift": True},
{"properties":
[("use_global", True),
("confirm", False),
],
},
),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_add'),
],
},
),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_object_apply'),
],
},
),
("wm.call_menu",
{"type": 'L', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_make_links'),
],
},
),
("object.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
("object.duplicate_move_linked", {"type": 'D', "value": 'PRESS', "alt": True}, None),
("object.join", {"type": 'J', "value": 'PRESS', "ctrl": True}, None),
("anim.keyframe_insert_menu", {"type": 'I', "value": 'PRESS'}, None),
("anim.keyframe_delete_v3d", {"type": 'I', "value": 'PRESS', "alt": True}, None),
("anim.keying_set_active_set", {"type": 'I', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("collection.create", {"type": 'G', "value": 'PRESS', "ctrl": True}, None),
("collection.objects_remove", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("collection.objects_remove_all", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("collection.objects_add_active", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("collection.objects_remove_active", {"type": 'G', "value": 'PRESS', "shift": True, "alt": True}, None),
("wm.call_menu",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True},
{"properties":
[("name", 'VIEW3D_MT_object_context_menu'),
],
},
),
("object.subdivision_set",
{"type": 'ZERO', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 0),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'ONE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 1),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'TWO', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 2),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'THREE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 3),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'FOUR', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 4),
("relative", False),
],
},
),
("object.subdivision_set",
{"type": 'FIVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("level", 5),
("relative", False),
],
},
),
("object.move_to_collection", {"type": 'M', "value": 'PRESS'}, None),
("object.link_to_collection", {"type": 'M', "value": 'PRESS', "shift": True}, None),
("object.hide_view_clear", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("object.hide_view_set",
{"type": 'H', "value": 'PRESS'},
{"properties":
[("unselected", False),
],
},
),
("object.hide_view_set",
{"type": 'H', "value": 'PRESS', "shift": True},
{"properties":
[("unselected", True),
],
},
),
("object.hide_collection", {"type": 'H', "value": 'PRESS', "ctrl": True}, None),
("object.hide_collection",
{"type": 'ONE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 1),
],
},
),
("object.hide_collection",
{"type": 'TWO', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 2),
],
},
),
("object.hide_collection",
{"type": 'THREE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 3),
],
},
),
("object.hide_collection",
{"type": 'FOUR', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 4),
],
},
),
("object.hide_collection",
{"type": 'FIVE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 5),
],
},
),
("object.hide_collection",
{"type": 'SIX', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 6),
],
},
),
("object.hide_collection",
{"type": 'SEVEN', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 7),
],
},
),
("object.hide_collection",
{"type": 'EIGHT', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 8),
],
},
),
("object.hide_collection",
{"type": 'NINE', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 9),
],
},
),
("object.hide_collection",
{"type": 'ZERO', "value": 'PRESS', "any": True},
{"properties":
[("collection_index", 10),
],
},
),
],
},
),
("Mesh",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("mesh.loopcut_slide",
{"type": 'R', "value": 'PRESS', "ctrl": True},
{"properties":
[("TRANSFORM_OT_edge_slide",
[("release_confirm", False),
],
),
],
},
),
("mesh.offset_edge_loops_slide",
{"type": 'R', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("TRANSFORM_OT_edge_slide",
[("release_confirm", False),
],
),
],
},
),
("mesh.inset", {"type": 'I', "value": 'PRESS'}, None),
("mesh.bevel",
{"type": 'B', "value": 'PRESS', "ctrl": True},
{"properties":
[("vertex_only", False),
],
},
),
("mesh.bevel",
{"type": 'B', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("vertex_only", True),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS'},
{"properties":
[("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS'},
{"properties":
[("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS'},
{"properties":
[("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "shift": True},
{"properties":
[("use_extend", True),
("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_expand", True),
("type", 'FACE'),
],
},
),
("mesh.select_mode",
{"type": 'ONE', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'VERT'),
],
},
),
("mesh.select_mode",
{"type": 'TWO', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'EDGE'),
],
},
),
("mesh.select_mode",
{"type": 'THREE', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("use_extend", True),
("use_expand", True),
("type", 'FACE'),
],
},
),
("mesh.loop_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", False),
],
},
),
("mesh.loop_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", True),
],
},
),
("mesh.edgering_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", False),
],
},
),
("mesh.edgering_select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True, "alt": True},
{"properties":
[("extend", False),
("deselect", False),
("toggle", True),
],
},
),
("mesh.shortest_path_pick",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("use_fill", False),
],
},
),
("mesh.shortest_path_pick",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("use_fill", True),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'PRESS'},
{"properties":
[("action", 'SELECT'),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'PRESS', "alt": True},
{"properties":
[("action", 'DESELECT'),
],
},
),
("mesh.select_all",
{"type": 'I', "value": 'PRESS', "ctrl": True},
{"properties":
[("action", 'INVERT'),
],
},
),
("mesh.select_all",
{"type": 'A', "value": 'DOUBLE_CLICK'},
{"properties":
[("action", 'DESELECT'),
],
},
),
("mesh.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_next_item", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("mesh.select_prev_item", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("mesh.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
("mesh.select_linked_pick",
{"type": 'L', "value": 'PRESS'},
{"properties":
[("deselect", False),
],
},
),
("mesh.select_linked_pick",
{"type": 'L', "value": 'PRESS', "shift": True},
{"properties":
[("deselect", True),
],
},
),
("mesh.select_mirror", {"type": 'M', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("wm.call_menu",
{"type": 'G', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_select_similar'),
],
},
),
("mesh.hide",
{"type": 'H', "value": 'PRESS'},
{"properties":
[("unselected", False),
],
},
),
("mesh.hide",
{"type": 'H', "value": 'PRESS', "shift": True},
{"properties":
[("unselected", True),
],
},
),
("mesh.reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
("mesh.normals_make_consistent",
{"type": 'N', "value": 'PRESS', "shift": True},
{"properties":
[("inside", False),
],
},
),
("mesh.normals_make_consistent",
{"type": 'N', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("inside", True),
],
},
),
("mesh.flip_normals", {"type": 'N', "value": 'PRESS', "alt": True}, None),
("view3d.edit_mesh_extrude_move_normal", {"type": 'E', "value": 'PRESS'}, None),
("wm.call_menu",
{"type": 'E', "value": 'PRESS', "alt": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_extrude'),
],
},
),
("transform.edge_crease", {"type": 'E', "value": 'PRESS', "shift": True}, None),
("mesh.fill", {"type": 'F', "value": 'PRESS', "alt": True}, None),
("mesh.quads_convert_to_tris",
{"type": 'T', "value": 'PRESS', "ctrl": True},
{"properties":
[("quad_method", 'BEAUTY'),
("ngon_method", 'BEAUTY'),
],
},
),
("mesh.quads_convert_to_tris",
{"type": 'T', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("quad_method", 'FIXED'),
("ngon_method", 'CLIP'),
],
},
),
("mesh.tris_convert_to_quads", {"type": 'J', "value": 'PRESS', "alt": True}, None),
("mesh.rip_move",
{"type": 'V', "value": 'PRESS'},
{"properties":
[("MESH_OT_rip",
[("use_fill", False),
],
),
],
},
),
("mesh.rip_move",
{"type": 'V', "value": 'PRESS', "alt": True},
{"properties":
[("MESH_OT_rip",
[("use_fill", True),
],
),
],
},
),
("mesh.rip_edge_move", {"type": 'D', "value": 'PRESS', "alt": True}, None),
("mesh.merge", {"type": 'M', "value": 'PRESS', "alt": True}, None),
("transform.shrink_fatten", {"type": 'S', "value": 'PRESS', "alt": True}, None),
("mesh.edge_face_add", {"type": 'F', "value": 'PRESS'}, None),
("mesh.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
("wm.call_menu",
{"type": 'A', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_mesh_add'),
],
},
),
("mesh.separate", {"type": 'P', "value": 'PRESS'}, None),
("mesh.split", {"type": 'Y', "value": 'PRESS'}, None),
("mesh.vert_connect_path", {"type": 'J', "value": 'PRESS'}, None),
("mesh.point_normals", {"type": 'L', "value": 'PRESS', "alt": True}, None),
("transform.vert_slide", {"type": 'V', "value": 'PRESS', "shift": True}, None),
("mesh.dupli_extrude_cursor",
{"type": 'RIGHTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("rotate_source", True),
],
},
),
("mesh.dupli_extrude_cursor",
{"type": 'RIGHTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("rotate_source", False),
],
},
),
("wm.call_menu",
{"type": 'X', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_delete'),
],
},
),
("wm.call_menu",
{"type": 'DEL', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_delete'),
],
},
),
("mesh.dissolve_mode", {"type": 'X', "value": 'PRESS', "ctrl": True}, None),
("mesh.dissolve_mode", {"type": 'DEL', "value": 'PRESS', "ctrl": True}, None),
("mesh.knife_tool",
{"type": 'K', "value": 'PRESS'},
{"properties":
[("use_occlude_geometry", True),
("only_selected", False),
],
},
),
("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_context_menu'),
],
},
),
("wm.call_menu",
{"type": 'F', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_faces'),
],
},
),
("wm.call_menu",
{"type": 'E', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_edges'),
],
},
),
("wm.call_menu",
{"type": 'V', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_edit_mesh_vertices'),
],
},
),
("wm.call_menu",
{"type": 'H', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_hook'),
],
},
),
("wm.call_menu",
{"type": 'U', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_uv_map'),
],
},
),
("wm.call_menu",
{"type": 'G', "value": 'PRESS', "ctrl": True},
{"properties":
[("name", 'VIEW3D_MT_vertex_group'),
],
},
),
("object.vertex_group_remove_from", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("wm.call_menu_pie",
{"type": 'O', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_proportional_editing_falloff_pie'),
],
},
),
("wm.context_toggle_enum",
{"type": 'O', "value": 'PRESS'},
{"properties":
[("data_path", 'tool_settings.proportional_edit'),
("value_1", 'DISABLED'),
("value_2", 'ENABLED'),
],
},
),
("wm.context_toggle_enum",
{"type": 'O', "value": 'PRESS', "alt": True},
{"properties":
[("data_path", 'tool_settings.proportional_edit'),
("value_1", 'DISABLED'),
("value_2", 'CONNECTED'),
],
},
),
],
},
),
("3D View",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.cursor3d", {"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("transform.translate",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "shift": True},
{"properties":
[("cursor_transform", True),
("release_confirm", True),
],
},
),
("view3d.localview", {"type": 'NUMPAD_SLASH', "value": 'PRESS'}, None),
("view3d.localview", {"type": 'SLASH', "value": 'PRESS'}, None),
("view3d.localview_remove_from", {"type": 'M', "value": 'PRESS'}, None),
("view3d.rotate", {"type": 'MIDDLEMOUSE', "value": 'PRESS'}, None),
("view3d.move", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "shift": True}, None),
("view3d.zoom", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "ctrl": True}, None),
("view3d.dolly", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("view3d.view_selected",
{"type": 'NUMPAD_PERIOD', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_all_regions", True),
],
},
),
("view3d.view_selected",
{"type": 'NUMPAD_PERIOD', "value": 'PRESS'},
{"properties":
[("use_all_regions", False),
],
},
),
("view3d.smoothview", {"type": 'TIMER1', "value": 'ANY', "any": True}, None),
("view3d.rotate", {"type": 'TRACKPADPAN', "value": 'ANY'}, None),
("view3d.rotate", {"type": 'MOUSEROTATE', "value": 'ANY'}, None),
("view3d.move", {"type": 'TRACKPADPAN', "value": 'ANY', "shift": True}, None),
("view3d.zoom", {"type": 'TRACKPADZOOM', "value": 'ANY'}, None),
("view3d.zoom", {"type": 'TRACKPADPAN', "value": 'ANY', "ctrl": True}, None),
("view3d.zoom",
{"type": 'NUMPAD_PLUS', "value": 'PRESS'},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'NUMPAD_MINUS', "value": 'PRESS'},
{"properties":
[("delta", -1),
],
},
),
("view3d.zoom",
{"type": 'EQUAL', "value": 'PRESS', "ctrl": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'MINUS', "value": 'PRESS', "ctrl": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.zoom",
{"type": 'WHEELINMOUSE', "value": 'PRESS'},
{"properties":
[("delta", 1),
],
},
),
("view3d.zoom",
{"type": 'WHEELOUTMOUSE', "value": 'PRESS'},
{"properties":
[("delta", -1),
],
},
),
("view3d.dolly",
{"type": 'NUMPAD_PLUS', "value": 'PRESS', "shift": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.dolly",
{"type": 'NUMPAD_MINUS', "value": 'PRESS', "shift": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.dolly",
{"type": 'EQUAL', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("delta", 1),
],
},
),
("view3d.dolly",
{"type": 'MINUS', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("delta", -1),
],
},
),
("view3d.view_center_camera", {"type": 'HOME', "value": 'PRESS'}, None),
("view3d.view_center_lock", {"type": 'HOME', "value": 'PRESS'}, None),
("view3d.view_all",
{"type": 'HOME', "value": 'PRESS'},
{"properties":
[("center", False),
],
},
),
("view3d.view_all",
{"type": 'HOME', "value": 'PRESS', "ctrl": True},
{"properties":
[("use_all_regions", True),
("center", False),
],
},
),
("view3d.view_all",
{"type": 'C', "value": 'PRESS', "shift": True},
{"properties":
[("center", True),
],
},
),
("wm.call_menu_pie",
{"type": 'ACCENT_GRAVE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_view_pie'),
],
},
),
("view3d.navigate", {"type": 'ACCENT_GRAVE', "value": 'PRESS', "shift": True}, None),
("view3d.view_camera", {"type": 'NUMPAD_0', "value": 'PRESS'}, None),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS'},
{"properties":
[("type", 'FRONT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_2', "value": 'PRESS'},
{"properties":
[("type", 'ORBITDOWN'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_4', "value": 'PRESS'},
{"properties":
[("type", 'ORBITLEFT'),
],
},
),
("view3d.view_persportho", {"type": 'NUMPAD_5', "value": 'PRESS'}, None),
("view3d.view_orbit",
{"type": 'NUMPAD_6', "value": 'PRESS'},
{"properties":
[("type", 'ORBITRIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS'},
{"properties":
[("type", 'TOP'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_8', "value": 'PRESS'},
{"properties":
[("type", 'ORBITUP'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'BACK'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'BOTTOM'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_2', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANDOWN'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_4', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANLEFT'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_6', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANRIGHT'),
],
},
),
("view3d.view_pan",
{"type": 'NUMPAD_8', "value": 'PRESS', "ctrl": True},
{"properties":
[("type", 'PANUP'),
],
},
),
("view3d.view_roll",
{"type": 'NUMPAD_4', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_roll",
{"type": 'NUMPAD_6', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_orbit",
{"type": 'NUMPAD_9', "value": 'PRESS'},
{"properties":
[("angle", 3.1415927),
("type", 'ORBITRIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'FRONT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'TOP'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_1', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'BACK'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_3', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'LEFT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NUMPAD_7', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("type", 'BOTTOM'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'NORTH', "alt": True},
{"properties":
[("type", 'TOP'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'SOUTH', "alt": True},
{"properties":
[("type", 'BOTTOM'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'EAST', "alt": True},
{"properties":
[("type", 'RIGHT'),
("relative", True),
],
},
),
("view3d.view_axis",
{"type": 'EVT_TWEAK_M', "value": 'WEST', "alt": True},
{"properties":
[("type", 'LEFT'),
("relative", True),
],
},
),
("view3d.view_center_pick", {"type": 'MIDDLEMOUSE', "value": 'CLICK', "alt": True}, None),
("view3d.ndof_orbit_zoom", {"type": 'NDOF_MOTION', "value": 'ANY'}, None),
("view3d.ndof_orbit", {"type": 'NDOF_MOTION', "value": 'ANY', "ctrl": True}, None),
("view3d.ndof_pan", {"type": 'NDOF_MOTION', "value": 'ANY', "shift": True}, None),
("view3d.ndof_all", {"type": 'NDOF_MOTION', "value": 'ANY', "shift": True, "ctrl": True}, None),
("view3d.view_selected",
{"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'},
{"properties":
[("use_all_regions", False),
],
},
),
("view3d.view_roll",
{"type": 'NDOF_BUTTON_ROLL_CCW', "value": 'PRESS'},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_roll",
{"type": 'NDOF_BUTTON_ROLL_CCW', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_FRONT', "value": 'PRESS'},
{"properties":
[("type", 'FRONT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_BACK', "value": 'PRESS'},
{"properties":
[("type", 'BACK'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_LEFT', "value": 'PRESS'},
{"properties":
[("type", 'LEFT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_RIGHT', "value": 'PRESS'},
{"properties":
[("type", 'RIGHT'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_TOP', "value": 'PRESS'},
{"properties":
[("type", 'TOP'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_BOTTOM', "value": 'PRESS'},
{"properties":
[("type", 'BOTTOM'),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_FRONT', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'FRONT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_RIGHT', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'RIGHT'),
("align_active", True),
],
},
),
("view3d.view_axis",
{"type": 'NDOF_BUTTON_TOP', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'TOP'),
("align_active", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK'},
{"properties":
[("deselect_all", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True},
{"properties":
[("toggle", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties":
[("center", True),
("object", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "alt": True},
{"properties":
[("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True},
{"properties":
[("extend", True),
("toggle", True),
("center", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True, "alt": True},
{"properties":
[("center", True),
("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "alt": True},
{"properties":
[("toggle", True),
("enumerate", True),
],
},
),
("view3d.select",
{"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True, "ctrl": True, "alt": True},
{"properties":
[("toggle", True),
("center", True),
("enumerate", True),
],
},
),
("view3d.select_box", {"type": 'B', "value": 'PRESS'}, None),
("view3d.select_lasso",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_lasso",
{"type": 'EVT_TWEAK_R', "value": 'ANY', "shift": True, "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
("view3d.select_circle", {"type": 'C', "value": 'PRESS'}, None),
("view3d.clip_border", {"type": 'B', "value": 'PRESS', "alt": True}, None),
("view3d.zoom_border", {"type": 'B', "value": 'PRESS', "shift": True}, None),
("view3d.render_border", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
("view3d.clear_render_border", {"type": 'B', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("view3d.camera_to_view", {"type": 'NUMPAD_0', "value": 'PRESS', "ctrl": True, "alt": True}, None),
("view3d.object_as_camera", {"type": 'NUMPAD_0', "value": 'PRESS', "ctrl": True}, None),
("view3d.copybuffer", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
("view3d.pastebuffer", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu_pie",
{"type": 'S', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_MT_snap_pie'),
],
},
),
("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
("transform.translate", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
("transform.bend", {"type": 'W', "value": 'PRESS', "shift": True}, 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.mirror", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
("wm.context_toggle",
{"type": 'TAB', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'tool_settings.use_snap'),
],
},
),
("wm.call_panel",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'VIEW3D_PT_snapping'),
("keep_open", False),
],
},
),
("object.transform_axis_target", {"type": 'T', "value": 'PRESS', "shift": True}, None),
("transform.skin_resize", {"type": 'A', "value": 'PRESS', "ctrl": True}, None),
("view3d.copybuffer", {"type": 'C', "value": 'PRESS', "oskey": True}, None),
("view3d.pastebuffer", {"type": 'V', "value": 'PRESS', "oskey": True}, None),
("wm.context_toggle",
{"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("data_path", 'space_data.show_gizmo_tool'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_pie'),
],
},
),
("wm.call_menu_pie",
{"type": 'COMMA', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_orientations_pie'),
],
},
),
("wm.context_toggle",
{"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
{"properties":
[("data_path", 'space_data.show_gizmo_tool'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shading_ex_pie'),
],
},
),
("view3d.toggle_shading",
{"type": 'Z', "value": 'PRESS', "shift": True},
{"properties":
[("type", 'WIREFRAME'),
],
},
),
("view3d.toggle_xray", {"type": 'Z', "value": 'PRESS', "alt": True}, None),
("wm.context_toggle",
{"type": 'Z', "value": 'PRESS', "shift": True, "alt": True},
{"properties":
[("data_path", 'space_data.overlay.show_overlays'),
],
},
),
("wm.tool_set_by_id",
{"type": 'W', "value": 'PRESS'},
{"properties":
[("name", 'builtin.select_box'),
("cycle", True),
],
},
),
("wm.call_menu_pie",
{"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True},
{"properties":
[("name", 'VIEW3D_contextPie'),
],
},
),
("wm.call_menu_pie",
{"type": 'SPACE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_spaceMaster'),
],
},
),
("wm.call_menu_pie",
{"type": 'RIGHTMOUSE', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_editobject'),
],
},
),
("wm.call_menu_pie",
{"type": 'Q', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_PIE_manipulator'),
],
},
),
],
},
),
("3D View Tool: Select Box",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box", {"type": 'EVT_TWEAK_L', "value": 'ANY'}, None),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True, "ctrl": True},
{"properties":
[("mode", 'AND'),
],
},
),
],
},
),
("3D View Tool: Transform",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Move",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Rotate",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("3D View Tool: Scale",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items":
[("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "shift": True},
{"properties":
[("mode", 'XOR'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY'},
{"properties":
[("mode", 'ADD'),
],
},
),
("view3d.select_box",
{"type": 'EVT_TWEAK_L', "value": 'ANY', "ctrl": True},
{"properties":
[("mode", 'SUB'),
],
},
),
],
},
),
("Window",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.read_homefile", {"type": 'N', "value": 'PRESS', "oskey": True}, None),
("wm.call_menu",
{"type": 'O', "value": 'PRESS', "shift": True, "oskey": True},
{"properties":
[("name", 'TOPBAR_MT_file_open_recent'),
],
},
),
("wm.open_mainfile", {"type": 'O', "value": 'PRESS', "oskey": True}, None),
("wm.save_mainfile", {"type": 'S', "value": 'PRESS', "oskey": True}, None),
("wm.save_as_mainfile", {"type": 'S', "value": 'PRESS', "shift": True, "oskey": True}, None),
("wm.quit_blender", {"type": 'Q', "value": 'PRESS', "oskey": True}, None),
("wm.search_menu", {"type": 'F', "value": 'PRESS', "oskey": True}, None),
("wm.read_homefile", {"type": 'N', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'O', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'TOPBAR_MT_file_open_recent'),
],
},
),
("wm.open_mainfile", {"type": 'O', "value": 'PRESS', "ctrl": True}, None),
("wm.save_mainfile", {"type": 'S', "value": 'PRESS', "ctrl": True}, None),
("wm.save_as_mainfile", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("wm.quit_blender", {"type": 'Q', "value": 'PRESS', "ctrl": True}, None),
("wm.call_menu",
{"type": 'Q', "value": 'PRESS', "shift": True, "oskey": True},
{"properties":
[("name", 'SCREEN_MT_user_menu'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F1', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'FILE_BROWSER'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F2', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'CLIP_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F3', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'NODE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F4', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'CONSOLE'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F5', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'VIEW_3D'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F6', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'GRAPH_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F7', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'PROPERTIES'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F8', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'SEQUENCE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F9', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'OUTLINER'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F10', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'IMAGE_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F11', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'TEXT_EDITOR'),
],
},
),
("screen.space_type_set_or_cycle",
{"type": 'F12', "value": 'PRESS', "shift": True},
{"properties":
[("space_type", 'DOPESHEET_EDITOR'),
],
},
),
("wm.call_menu",
{"type": 'NDOF_BUTTON_MENU', "value": 'PRESS'},
{"properties":
[("name", 'USERPREF_MT_ndof_settings'),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_PLUS', "value": 'PRESS'},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 1.1),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_MINUS', "value": 'PRESS'},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 0.90909094),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_PLUS', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 1.5),
],
},
),
("wm.context_scale_float",
{"type": 'NDOF_BUTTON_MINUS', "value": 'PRESS', "shift": True},
{"properties":
[("data_path", 'preferences.inputs.ndof_sensitivity'),
("value", 0.6666667),
],
},
),
("info.reports_display_update", {"type": 'TIMER_REPORT', "value": 'ANY', "any": True}, None),
("wm.doc_view_manual_ui_context", {"type": 'F1', "value": 'PRESS'}, None),
("wm.call_panel",
{"type": 'F2', "value": 'PRESS'},
{"properties":
[("name", 'TOPBAR_PT_name'),
("keep_open", False),
],
},
),
("wm.search_menu", {"type": 'F3', "value": 'PRESS'}, None),
("wm.call_menu",
{"type": 'F4', "value": 'PRESS'},
{"properties":
[("name", 'TOPBAR_MT_file_context_menu'),
],
},
),
("wm.toolbar", {"type": 'SPACE', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True, "oskey": True}, None),
],
},
),
("Object Non-modal",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
{"items":
[("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'view3d.snap_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shade_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties":
[("name", 'view3d.snap_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'Z', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_shade_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'PERIOD', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_pivot_of'),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_of'),
],
},
),
("object.mode_set",
{"type": 'TAB', "value": 'PRESS', "ctrl": True},
{"properties":
[("mode", 'EDIT'),
("toggle", True),
],
},
),
("wm.call_menu_pie",
{"type": 'TAB', "value": 'PRESS'},
{"properties":
[("name", 'VIEW3D_MT_object_mode_pie'),
],
},
),
],
},
),
]
if __name__ == "__main__":
import os
from bl_keymap_utils.io import keyconfig_import_from_data
keyconfig_import_from_data(os.path.splitext(os.path.basename(__file__))[0], keyconfig_data)
Header,
Menu,
Panel,
)
from bpy.app.translations import contexts as i18n_contexts
# spawn an edit mode selection pie (run while object is in edit mode to get a valid output)
class VIEW3D_PIE_editobject(Menu):
# label is displayed at the center of the pie menu.
bl_label = ""
def draw(self, context):
if bpy.context.mode == 'OBJECT':
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
pie = layout.menu_pie()
obj = context.object
if obj is not None and obj.type in {'MESH', 'CURVE', 'SURFACE'}:
pie.operator_enum("OBJECT_OT_mode_set", "mode")
pie.menu("VIEW3D_MT_object_context_menu", text="Object Menu")
if context.mode == 'EDIT_MESH':
def count_selected_items_for_objects_in_mode():
selected_verts_len = 0
selected_edges_len = 0
selected_faces_len = 0
for ob in context.objects_in_mode_unique_data:
v, e, f = ob.data.count_selected_items()
selected_verts_len += v
selected_edges_len += e
selected_faces_len += f
return (selected_verts_len, selected_edges_len, selected_faces_len)
is_vert_mode, is_edge_mode, is_face_mode = context.tool_settings.mesh_select_mode
selected_verts_len, selected_edges_len, selected_faces_len = count_selected_items_for_objects_in_mode()
del count_selected_items_for_objects_in_mode
# If nothing is selected
# (disabled for now until it can be made more useful).
'''
# If nothing is selected
if not (selected_verts_len or selected_edges_len or selected_faces_len):
layout.menu("VIEW3D_MT_mesh_add", text="Add")
return
'''
# Else something is selected
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
pie = layout.menu_pie()
pie.operator("object.mode_set", text="object mode", icon="OBJECT_DATAMODE")
pie.operator_enum("mesh.select_mode", "type")
pie.menu("VIEW3D_MT_edit_mesh_edges", text="edge menu", icon="COLLAPSEMENU")
pie.menu("VIEW3D_MT_edit_mesh_vertices", text="vert menu", icon="COLLAPSEMENU")
pie.menu("VIEW3D_MT_edit_mesh_faces", text="face menu", icon="COLLAPSEMENU")
pie.menu("VIEW3D_MT_uv_map", text="uv", icon="UV")
#pie.operator("transform.edge_crease", text="edge crease", icon="SHARPCURVE")
#pie.operator_enum("OBJECT_OT_mode_set", "mode")
def register():
bpy.utils.register_class(VIEW3D_PIE_editobject)
def unregister():
bpy.utils.unregister_class(VIEW3D_PIE_editobject)
if __name__ == "__main__":
register()
bpy.ops.wm.call_menu_pie(name="VIEW3D_PIE_editobject")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment