diff --git a/release/scripts/modules/bpy_extras/keyconfig_utils.py b/release/scripts/modules/bpy_extras/keyconfig_utils.py index 6de0cc2e205..4d5ec5286ec 100644 --- a/release/scripts/modules/bpy_extras/keyconfig_utils.py +++ b/release/scripts/modules/bpy_extras/keyconfig_utils.py @@ -488,6 +488,15 @@ def keymap_items_from_data(km, km_items, is_modal=False): _kmi_props_setattr(kmi_props, attr, value) +def keyconfig_init_from_data(kc, keyconfig_data): + # Load data in the format defined above. + # + # Runs at load time, keep this fast! + for (km_name, km_args, km_content) in keyconfig_data: + km = kc.keymaps.new(km_name, **km_args) + keymap_items_from_data(km, km_content["items"], is_modal=km_args.get("modal", False)) + + def keyconfig_import_from_data(name, keyconfig_data): # Load data in the format defined above. # @@ -496,10 +505,7 @@ def keyconfig_import_from_data(name, keyconfig_data): import bpy wm = bpy.context.window_manager kc = wm.keyconfigs.new(name) - for (km_name, km_args, km_content) in keyconfig_data: - km = kc.keymaps.new(km_name, **km_args) - keymap_items_from_data(km, km_content["items"], is_modal=km_args.get("modal", False)) - + keyconfig_init_from_data(kc, keyconfig_data) return kc