... можно попробовать отказаться от масок в пользу микширования по Alpha и Z ...
import bpybl_info = { "name": "toggle set 3D cursor", "description": "toggle set 3D cursor", "author": "blender-3d.ru", "version": (1, 0), "category": "User Interface" } class WM_OT_toggle_cursor3d(bpy.types.Operator): bl_idname = "wm.toggle_cursor3d" bl_label = "Toggle 3D Cursor" @classmethod def poll(cls, context): return context.active_object def execute(self, context): op = bpy.data.window_managers[0].keyconfigs[0].keymaps["3D View"].keymap_items["view3d.cursor3d"] op.active = not op.active return {'FINISHED'} def register(): bpy.utils.register_class(WM_OT_toggle_cursor3d) kc = bpy.context.window_manager.keyconfigs.addon if kc: km = kc.keymaps.new(name="Window", space_type="EMPTY") kmi = km.keymap_items.new('wm.toggle_cursor3d', 'F9', 'PRESS' ) def unregister(): bpy.utils.unregister_class(WM_OT_toggle_cursor3d) kc = bpy.context.window_manager.keyconfigs.addon if kc: km = kc.keymaps["Window"] for kmi in km.keymap_items: if kmi.idname == 'wm.toggle_cursor3d': km.keymap_items.remove(kmi) break if __name__ == "__main__": register()