53 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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'])
 |