From 16cbab2de7ab4d45058a65d40cf16fb12fb84db3 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 16 Feb 2023 16:40:07 +0500 Subject: [PATCH] Commented how to regenerate BIM Tool keymap in case of errors --- .../blenderbim/bim/module/model/workspace.py | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/workspace.py b/src/blenderbim/blenderbim/bim/module/model/workspace.py index b14996476e..36c23c978b 100644 --- a/src/blenderbim/blenderbim/bim/module/model/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/model/workspace.py @@ -42,13 +42,24 @@ class BimTool(WorkSpaceTool): # ("bim.wall_tool_op", {"type": 'MOUSEMOVE', "value": 'ANY'}, {"properties": []}), # ("mesh.add_wall", {"type": 'LEFTMOUSE', "value": 'PRESS'}, {"properties": []}), # ("bim.sync_modeling", {"type": 'MOUSEMOVE', "value": 'ANY'}, {"properties": []}), - # replicate default blender selection behaviour with click and box selection + + # Replicate default blender selection behaviour with click and box selection # code below comes from blender_default.py which is part of default blender scripts licensed under GPL v2 # https://github.com/blender/blender/blob/master/release/scripts/presets/keyconfig/keymap_data/blender_default.py # the code is the data from evaluating km_3d_view_tool_select() and km_3d_view_tool_select_box() - # TODO: call blender_default.py functions instead of copying? - # from evaluating km_3d_view_tool_select() - # https://github.com/blender/blender/blob/4815d0706fb57d6e4f897dbb4e9aba9d2323cdce/release/scripts/presets/keyconfig/keymap_data/blender_default.py#L6710 + # + # You can run the snippet below in Blender console + # to regenerate those keybindings in case of errors in the future + # ``` + # import os + # version = ".".join(bpy.app.version_string.split(".")[:2]) + # fl = os.path.join(os.getcwd(), version, "scripts/presets/keyconfig/keymap_data/blender_default.py") + # def_keymap = bpy.utils.execfile(fl) + # params = def_keymap.Params + # box_keymap = def_keymap.km_3d_view_tool_select_box(def_keymap.Params(), fallback=None)[2]["items"] + # click_keymap = def_keymap.km_3d_view_tool_select(def_keymap.Params(select_mouse="LEFTMOUSE"), fallback=None)[2]["items"] + # ``` + # box selection keymap ("view3d.select_box", {"type": "LEFTMOUSE", "value": "CLICK_DRAG"}, None), ( "view3d.select_box", @@ -65,16 +76,10 @@ class BimTool(WorkSpaceTool): {"type": "LEFTMOUSE", "value": "CLICK_DRAG", "shift": True, "ctrl": True}, {"properties": [("mode", "AND")]}, ), - # from evaluating km_3d_view_tool_select() - # https://github.com/blender/blender/blob/4815d0706fb57d6e4f897dbb4e9aba9d2323cdce/release/scripts/presets/keyconfig/keymap_data/blender_default.py#L6734 - ("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", "alt": True}, {"properties": [("enumerate", True)]}), - ( - "view3d.select", - {"type": "LEFTMOUSE", "value": "CLICK", "shift": True, "alt": True}, - {"properties": [("toggle", True), ("enumerate", True)]}, - ), + # left-click selection keymap + ("view3d.select", {"type": "LEFTMOUSE", "value": "PRESS"}, {"properties": [("deselect_all", True)]}), + ("view3d.select", {"type": "LEFTMOUSE", "value": "PRESS", "shift": True}, {"properties": [("toggle", True)]}), + ("bim.hotkey", {"type": "A", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_A")]}), ("bim.hotkey", {"type": "C", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_C")]}), ("bim.hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}),