import bpy import lnx from lnx import log, props_ui if lnx.is_reload(__name__): props_ui = lnx.reload_module(props_ui) else: lnx.enable_reload(__name__) #lnx.keymaps = [] def register(): wm = bpy.context.window_manager keyconfig = wm.keyconfigs.user # Keyconfigs are not available in background mode. If the keyconfig # was not found despite running _not_ in background mode, a warning # is printed if keyconfig is None: if not bpy.app.background: log.warn("No keyconfig path found") return km = keyconfig.keymaps.get('Window') if km is None: log.warn("Window keymaps not available") return lnx_start = any(kmi.idname == props_ui.LeenkxPlayButton.bl_idname for kmi in km.keymap_items) if not lnx_start: kmw = keyconfig.keymaps.new(name='Window', space_type='EMPTY', region_type="WINDOW") kmw.keymap_items.new(props_ui.LeenkxPlayButton.bl_idname, type='F5', value='PRESS') kmw.keymap_items.new('tlm.build_lightmaps', type='F6', value='PRESS') kmw.keymap_items.new('tlm.clean_lightmaps', type='F7', value='PRESS') kmn = keyconfig.keymaps.new(name='Node Editor', space_type='NODE_EDITOR') kmn.keymap_items.new('lnx.add_call_group_node', 'G', 'PRESS', shift=True) kmn.keymap_items.new('lnx.add_group_tree_from_selected', 'G', 'PRESS', ctrl=True) kmn.keymap_items.new('lnx.edit_group_tree', 'TAB', 'PRESS') kmn.keymap_items.new('node.tree_path_parent', 'TAB', 'PRESS', ctrl=True) kmn.keymap_items.new('lnx.ungroup_group_tree', 'G', 'PRESS', alt=True) def unregister(): kmw = bpy.context.window_manager.keyconfigs.user.keymaps.get('Window') kmw.keymap_items.remove(kmw.keymap_items[props_ui.LeenkxPlayButton.bl_idname]) kmw.keymap_items.remove(kmw.keymap_items['tlm.build_lightmaps']) kmw.keymap_items.remove(kmw.keymap_items['tlm.clean_lightmaps']) kmn = bpy.context.window_manager.keyconfigs.user.keymaps.get('Node Editor') kmn.keymap_items.remove(kmn.keymap_items['lnx.add_call_group_node']) kmn.keymap_items.remove(kmn.keymap_items['lnx.add_group_tree_from_selected']) kmn.keymap_items.remove(kmn.keymap_items['lnx.edit_group_tree']) kmn.keymap_items.remove(kmn.keymap_items['node.tree_path_parent']) kmn.keymap_items.remove(kmn.keymap_items['lnx.ungroup_group_tree'])