Update leenkx/blender/lnx/keymap.py

This commit is contained in:
Onek8 2025-02-08 17:29:46 +00:00
parent ed932e3fa4
commit 37a09d0a21

View File

@ -7,48 +7,46 @@ if lnx.is_reload(__name__):
else: else:
lnx.enable_reload(__name__) lnx.enable_reload(__name__)
lnx.keymaps = [] #lnx.keymaps = []
def register(): def register():
wm = bpy.context.window_manager wm = bpy.context.window_manager
addon_keyconfig = wm.keyconfigs.addon keyconfig = wm.keyconfigs.user
# Keyconfigs are not available in background mode. If the keyconfig # Keyconfigs are not available in background mode. If the keyconfig
# was not found despite running _not_ in background mode, a warning # was not found despite running _not_ in background mode, a warning
# is printed # is printed
if addon_keyconfig is None: if keyconfig is None:
if not bpy.app.background: if not bpy.app.background:
log.warn("No keyconfig path found") log.warn("No keyconfig path found")
return return
km = keyconfig.keymaps.get('Window')
km = addon_keyconfig.keymaps.new(name='Window', space_type='EMPTY', region_type="WINDOW") if km is None:
km.keymap_items.new(props_ui.LeenkxPlayButton.bl_idname, type='F5', value='PRESS') log.warn("Window keymaps not available")
km.keymap_items.new("tlm.build_lightmaps", type='F6', value='PRESS') return
km.keymap_items.new("tlm.clean_lightmaps", type='F7', value='PRESS') lnx_start = any(kmi.idname == props_ui.LeenkxPlayButton.bl_idname for kmi in km.keymap_items)
lnx.keymaps.append(km) if not lnx_start:
kmw = keyconfig.keymaps.new(name='Window', space_type='EMPTY', region_type="WINDOW")
km = addon_keyconfig.keymaps.new(name='Node Editor', space_type='NODE_EDITOR') kmw.keymap_items.new(props_ui.LeenkxPlayButton.bl_idname, type='F5', value='PRESS')
kmw.keymap_items.new('tlm.build_lightmaps', type='F6', value='PRESS')
# shift+G: Create a new node call group node kmw.keymap_items.new('tlm.clean_lightmaps', type='F7', value='PRESS')
km.keymap_items.new('lnx.add_call_group_node', 'G', 'PRESS', shift=True) kmn = keyconfig.keymaps.new(name='Node Editor', space_type='NODE_EDITOR')
kmn.keymap_items.new('lnx.add_call_group_node', 'G', 'PRESS', shift=True)
# ctrl+G: make node group from selected kmn.keymap_items.new('lnx.add_group_tree_from_selected', 'G', 'PRESS', ctrl=True)
km.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)
# TAB: enter node groups depending on selection kmn.keymap_items.new('lnx.ungroup_group_tree', 'G', 'PRESS', alt=True)
km.keymap_items.new('lnx.edit_group_tree', 'TAB', 'PRESS')
# ctrl+TAB: exit node groups depending on selectio
km.keymap_items.new('node.tree_path_parent', 'TAB', 'PRESS', ctrl=True)
# alt+G: ungroup node tree
km.keymap_items.new('lnx.ungroup_group_tree', 'G', 'PRESS', alt=True)
lnx.keymaps.append(km)
def unregister(): def unregister():
wm = bpy.context.window_manager kmw = bpy.context.window_manager.keyconfigs.user.keymaps.get('Window')
for km in lnx.keymaps: kmw.keymap_items.remove(kmw.keymap_items[props_ui.LeenkxPlayButton.bl_idname])
wm.keyconfigs.addon.keymaps.remove(km) kmw.keymap_items.remove(kmw.keymap_items['tlm.build_lightmaps'])
del lnx.keymaps[:] 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'])