diff --git a/scripts/addons_core/pose_library/keymaps.py b/scripts/addons_core/pose_library/keymaps.py index 68cb3b1b726..0810ec79d00 100644 --- a/scripts/addons_core/pose_library/keymaps.py +++ b/scripts/addons_core/pose_library/keymaps.py @@ -15,7 +15,7 @@ def register() -> None: # This happens when Blender is running in the background. return - km = wm.keyconfigs.addon.keymaps.new(name="File Browser Main", space_type="FILE_BROWSER") + km = wm.keyconfigs.addon.keymaps.new(name="Asset Browser Main", space_type="FILE_BROWSER") # DblClick to apply pose. kmi = km.keymap_items.new("poselib.apply_pose_asset", "LEFTMOUSE", "DOUBLE_CLICK") diff --git a/source/blender/editors/space_file/space_file.cc b/source/blender/editors/space_file/space_file.cc index ad7f7736b38..ed88881226d 100644 --- a/source/blender/editors/space_file/space_file.cc +++ b/source/blender/editors/space_file/space_file.cc @@ -450,6 +450,11 @@ static void file_main_region_init(wmWindowManager *wm, ARegion *region) keymap = WM_keymap_ensure( wm->runtime->defaultconf, "File Browser Main", SPACE_FILE, RGN_TYPE_WINDOW); WM_event_add_keymap_handler_v2d_mask(®ion->runtime->handlers, keymap); + + keymap = WM_keymap_ensure( + wm->runtime->defaultconf, "Asset Browser Main", SPACE_FILE, RGN_TYPE_WINDOW); + WM_event_add_keymap_handler_v2d_mask(®ion->runtime->handlers, keymap); + keymap->poll = [](bContext *C) { return ED_operator_asset_browsing_active(C); }; } static void file_main_region_listener(const wmRegionListenerParams *listener_params) diff --git a/source/blender/windowmanager/intern/wm_keymap.cc b/source/blender/windowmanager/intern/wm_keymap.cc index 94f7f53e22a..015053c9a14 100644 --- a/source/blender/windowmanager/intern/wm_keymap.cc +++ b/source/blender/windowmanager/intern/wm_keymap.cc @@ -489,7 +489,9 @@ bool WM_keymap_poll(bContext *C, wmKeyMap *keymap) !STREQ(keymap->idname, "Node Tool: Tweak") && /* Another exception: Asset shelf keymap is meant for add-ons to use, it's empty by * default. */ - !STREQ(keymap->idname, "Asset Shelf")) + !STREQ(keymap->idname, "Asset Shelf") && + /* Same for the asset browser keymap. */ + !STREQ(keymap->idname, "Asset Browser Main")) { CLOG_WARN(WM_LOG_EVENTS, "empty keymap '%s'", keymap->idname); }