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'])
 |