From 645242dcc4efe49bdf2f9347f443affb3046cfc5 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Mon, 17 Feb 2025 08:44:05 +0100 Subject: [PATCH] Fix: Point cloud keymap not working Pull Request: https://projects.blender.org/blender/blender/pulls/134638 --- scripts/modules/bl_keymap_utils/keymap_hierarchy.py | 1 + source/blender/editors/space_view3d/space_view3d.cc | 3 +++ source/blender/windowmanager/intern/wm_keymap_utils.cc | 7 +++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/modules/bl_keymap_utils/keymap_hierarchy.py b/scripts/modules/bl_keymap_utils/keymap_hierarchy.py index b338a254c98..9f7fdd39c4f 100644 --- a/scripts/modules/bl_keymap_utils/keymap_hierarchy.py +++ b/scripts/modules/bl_keymap_utils/keymap_hierarchy.py @@ -78,6 +78,7 @@ _km_hierarchy = [ _km_expand_from_toolsystem('VIEW_3D', 'EDIT_TEXT'), ]), ('Grease Pencil', 'EMPTY', 'WINDOW', []), + ('Point Cloud', 'EMPTY', 'WINDOW', []), ('Pose', 'EMPTY', 'WINDOW', [ _km_expand_from_toolsystem('VIEW_3D', 'POSE'), ]), diff --git a/source/blender/editors/space_view3d/space_view3d.cc b/source/blender/editors/space_view3d/space_view3d.cc index c72c2582474..1ab6386ef13 100644 --- a/source/blender/editors/space_view3d/space_view3d.cc +++ b/source/blender/editors/space_view3d/space_view3d.cc @@ -395,6 +395,9 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *region) keymap = WM_keymap_ensure(wm->defaultconf, "Particle", SPACE_EMPTY, RGN_TYPE_WINDOW); WM_event_add_keymap_handler(®ion->runtime->handlers, keymap); + keymap = WM_keymap_ensure(wm->defaultconf, "Point Cloud", SPACE_EMPTY, RGN_TYPE_WINDOW); + WM_event_add_keymap_handler(®ion->runtime->handlers, keymap); + keymap = WM_keymap_ensure(wm->defaultconf, "Sculpt Curves", SPACE_EMPTY, RGN_TYPE_WINDOW); WM_event_add_keymap_handler(®ion->runtime->handlers, keymap); diff --git a/source/blender/windowmanager/intern/wm_keymap_utils.cc b/source/blender/windowmanager/intern/wm_keymap_utils.cc index a3e2065e838..6ffecb3e3cd 100644 --- a/source/blender/windowmanager/intern/wm_keymap_utils.cc +++ b/source/blender/windowmanager/intern/wm_keymap_utils.cc @@ -122,7 +122,7 @@ wmKeyMap *WM_keymap_guess_from_context(const bContext *C) km_id = "Grease Pencil Edit Mode"; break; case CTX_MODE_EDIT_POINT_CLOUD: - km_id = "Point Cloud Edit Mode"; + km_id = "Point Cloud"; break; case CTX_MODE_POSE: km_id = "Pose"; @@ -341,6 +341,9 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) else if (STRPREFIX(opname, "PARTICLE_OT")) { km = WM_keymap_find_all(wm, "Particle", SPACE_EMPTY, RGN_TYPE_WINDOW); } + else if (STRPREFIX(opname, "POINT_CLOUD_OT")) { + km = WM_keymap_find_all(wm, "Point Cloud", SPACE_EMPTY, RGN_TYPE_WINDOW); + } else if (STRPREFIX(opname, "FONT_OT")) { km = WM_keymap_find_all(wm, "Font", SPACE_EMPTY, RGN_TYPE_WINDOW); } @@ -499,7 +502,7 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) km = WM_keymap_find_all(wm, "Curves", SPACE_EMPTY, RGN_TYPE_WINDOW); break; case CTX_MODE_EDIT_POINT_CLOUD: - km = WM_keymap_find_all(wm, "Point Cloud Edit Mode", SPACE_EMPTY, RGN_TYPE_WINDOW); + km = WM_keymap_find_all(wm, "Point Cloud", SPACE_EMPTY, RGN_TYPE_WINDOW); break; case CTX_MODE_SCULPT: km = WM_keymap_find_all(wm, "Sculpt", SPACE_EMPTY, RGN_TYPE_WINDOW);