I’m trying to register a new shortcut from an addon but I can’t figure out how to do it.
Here’s my current, non working, code:
bl_info = {
'name': 'Shortcut Test',
'version': (0, 1, 0),
'blender': (2, 79, 0),
'description':
'',
'category': 'Test'
}
import bpy
class OT_Shortcut_Test(bpy.types.Operator):
bl_idname = "wm.shortcut_test"
bl_label = "Shortcut Test"
def execute(self, context):
self.report({'INFO'}, 'SHORTCUT TEST')
return {'FINISHED'}
classes=[OT_Shortcut_Test]
addon_keymaps = []
def register():
for cls in classes:
bpy.utils.register_class(cls)
wm = bpy.context.window_manager
if wm.keyconfigs.addon:
km = wm.keyconfigs.addon.keymaps.new(name='Shortcut Test', space_type='EMPTY')
kmi = km.keymap_items.new('wm.shortcut_test', 'A', 'PRESS')
addon_keymaps.append((km, kmi))
def unregister():
for cls in classes:
bpy.utils.unregister_class(cls)
wm = bpy.context.window_manager
kc = wm.keyconfigs.addon
if kc:
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()
if __name__ == "__main__":
register()