diff --git a/src/bonsai/bonsai/bim/module/geometry/__init__.py b/src/bonsai/bonsai/bim/module/geometry/__init__.py index d7aecb662a..44478124c6 100644 --- a/src/bonsai/bonsai/bim/module/geometry/__init__.py +++ b/src/bonsai/bonsai/bim/module/geometry/__init__.py @@ -138,6 +138,10 @@ def register(): kmi = km.keymap_items.new("bim.override_mode_set_object", "TAB", "PRESS") addon_keymaps.append((km, kmi)) + km = wm.keyconfigs.addon.keymaps.new(name="3D View", space_type="VIEW_3D") + kmi = km.keymap_items.new("bim.override_escape", "ESC", "PRESS") + addon_keymaps.append((km, kmi)) + km = wm.keyconfigs.addon.keymaps.new(name="Outliner", space_type="OUTLINER") kmi = km.keymap_items.new("bim.override_paste_buffer", "V", "PRESS", ctrl=True) addon_keymaps.append((km, kmi)) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index df46e775f0..63510aeddd 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -1848,17 +1848,12 @@ class OverrideEscape(bpy.types.Operator): bl_label = "Override Escape" def execute(self, context): - self.report({"INFO"}, "Operator executed") - return {"FINISHED"} - - def modal(self, context, event): - if event.type == "ESC" and context.scene.BIMGeometryProperties.mode == "ITEM": + if context.scene.BIMGeometryProperties.mode == "ITEM": tool.Geometry.disable_item_mode() - return {"PASS_THROUGH"} - - def invoke(self, context, event): - context.window_manager.modal_handler_add(self) - return {"RUNNING_MODAL"} + if context.scene.BIMGeometryProperties.mode == "EDIT": + bpy.ops.object.editmode_toggle() + tool.Geometry.disable_item_mode() + return {"FINISHED"} class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator):