Advertisement
tlousky

Add keymap via python - failed (why?)

Jul 10th, 2014
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.73 KB | None | 0 0
  1. bl_info = {
  2.     "name"        : "Test",
  3.     "author"      : "Me",
  4.     "blender"     : (2, 70, 0),
  5.     "version"     : (0, 0, 0, 1),
  6.     "location"    : "3D View > Toolbox",
  7.     "description" : "Test",
  8.     "category"    : "Object"
  9. }
  10.  
  11. import bpy
  12.  
  13. class test( bpy.types.Panel ):
  14.     bl_idname      = "teststuff"
  15.     bl_label       = ""
  16.     bl_category    = "Test"
  17.     bl_space_type  = 'VIEW_3D'
  18.     bl_region_type = 'TOOLS'
  19.  
  20.     @classmethod
  21.     def poll( self, context ): return True
  22.  
  23.     def draw( self, context):
  24.         layout = self.layout
  25.         col    = layout.column()
  26.  
  27.         col.operator('object.myop')
  28.        
  29. class myop( bpy.types.Operator ):
  30.     bl_idname      = "object.myop"
  31.     bl_label       = "Test"
  32.     bl_description = "Test"
  33.     bl_options     = {'REGISTER', 'UNDO'}
  34.  
  35.     mode = bpy.props.StringProperty()
  36.  
  37.     @classmethod
  38.     def poll( self, context ): return True
  39.  
  40.     def execute( self, context ):
  41.         if self.mode == 'A':
  42.             print( "Got A" )
  43.         else:
  44.             print( "Got Else" )
  45.            
  46.         return {'FINISHED'}
  47.            
  48. # store keymaps here to access after registration
  49. addon_keymaps = []
  50.  
  51. def register():
  52.     bpy.utils.register_module(__name__)
  53.  
  54.     # add keymap entry
  55.     km = bpy.context.window_manager.keyconfigs.addon.keymaps.new(
  56.         name = 'Test', space_type = 'EMPTY'
  57.     )
  58.  
  59.     kmi = km.keymap_items.new(
  60.         "object.myop", 'ACCENT_GRAVE', 'PRESS', alt = True
  61.     )
  62.  
  63.     kmi.properties.mode = 'A'
  64.  
  65.     addon_keymaps.append((km, kmi))
  66.  
  67. def unregister():
  68.     bpy.utils.unregister_module(__name__)
  69.  
  70.     # remove keymap entry
  71.     for km, kmi in addon_keymaps:
  72.         km.keymap_items.remove(kmi)
  73.  
  74.     addon_keymaps.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement