Best Python code snippet using fMBT_python
3dsmax.py
Source:3dsmax.py  
1# Configuration 3dsmax2import bpy3wm = bpy.context.window_manager4kc = wm.keyconfigs.new('3dsmax')5# Map Window6km = kc.keymaps.new('Window', space_type='EMPTY', region_type='WINDOW', modal=False)7kmi = km.keymap_items.new('wm.window_duplicate', 'W', 'PRESS', ctrl=True, alt=True)8kmi = km.keymap_items.new('wm.read_homefile', 'N', 'PRESS', ctrl=True)9kmi = km.keymap_items.new('wm.save_homefile', 'U', 'PRESS', ctrl=True)10kmi = km.keymap_items.new('wm.call_menu', 'O', 'PRESS', shift=True, ctrl=True)11kmi.properties.name = 'INFO_MT_file_open_recent'12kmi = km.keymap_items.new('wm.open_mainfile', 'O', 'PRESS', ctrl=True)13kmi = km.keymap_items.new('wm.open_mainfile', 'F1', 'PRESS')14kmi = km.keymap_items.new('wm.link', 'O', 'PRESS', ctrl=True, alt=True)15kmi = km.keymap_items.new('wm.append', 'F1', 'PRESS', shift=True)16kmi.properties.link = False17kmi.properties.instance_groups = False18kmi = km.keymap_items.new('wm.save_mainfile', 'S', 'PRESS', ctrl=True)19kmi = km.keymap_items.new('wm.save_mainfile', 'W', 'PRESS', ctrl=True)20kmi = km.keymap_items.new('wm.save_as_mainfile', 'S', 'PRESS', shift=True, ctrl=True)21kmi = km.keymap_items.new('wm.save_as_mainfile', 'F2', 'PRESS')22kmi = km.keymap_items.new('wm.save_as_mainfile', 'S', 'PRESS', ctrl=True, alt=True)23kmi.properties.copy = True24kmi = km.keymap_items.new('wm.window_fullscreen_toggle', 'F11', 'PRESS', alt=True)25kmi = km.keymap_items.new('wm.quit_blender', 'Q', 'PRESS', ctrl=True)26kmi = km.keymap_items.new('wm.redraw_timer', 'T', 'PRESS', ctrl=True, alt=True)27kmi = km.keymap_items.new('wm.debug_menu', 'D', 'PRESS', ctrl=True, alt=True)28kmi = km.keymap_items.new('wm.search_menu', 'SPACE', 'PRESS')29kmi = km.keymap_items.new('wm.call_menu', 'NDOF_BUTTON_MENU', 'PRESS')30kmi.properties.name = 'USERPREF_MT_ndof_settings'31kmi = km.keymap_items.new('wm.context_set_enum', 'F2', 'PRESS', shift=True)32kmi.properties.data_path = 'area.type'33kmi.properties.value = 'LOGIC_EDITOR'34kmi = km.keymap_items.new('wm.context_set_enum', 'F3', 'PRESS', shift=True, ctrl=True)35kmi.properties.data_path = 'area.type'36kmi.properties.value = 'NODE_EDITOR'37kmi = km.keymap_items.new('wm.context_set_enum', 'F4', 'PRESS', shift=True)38kmi.properties.data_path = 'area.type'39kmi.properties.value = 'CONSOLE'40kmi = km.keymap_items.new('wm.context_set_enum', 'F5', 'PRESS', shift=True)41kmi.properties.data_path = 'area.type'42kmi.properties.value = 'VIEW_3D'43kmi = km.keymap_items.new('wm.context_set_enum', 'F6', 'PRESS', shift=True)44kmi.properties.data_path = 'area.type'45kmi.properties.value = 'GRAPH_EDITOR'46kmi = km.keymap_items.new('wm.context_set_enum', 'F7', 'PRESS', shift=True)47kmi.properties.data_path = 'area.type'48kmi.properties.value = 'PROPERTIES'49kmi = km.keymap_items.new('wm.context_set_enum', 'F8', 'PRESS', shift=True)50kmi.properties.data_path = 'area.type'51kmi.properties.value = 'SEQUENCE_EDITOR'52kmi = km.keymap_items.new('wm.context_set_enum', 'F9', 'PRESS', shift=True)53kmi.properties.data_path = 'area.type'54kmi.properties.value = 'OUTLINER'55kmi = km.keymap_items.new('wm.context_set_enum', 'F10', 'PRESS', shift=True, ctrl=True)56kmi.properties.data_path = 'area.type'57kmi.properties.value = 'IMAGE_EDITOR'58kmi = km.keymap_items.new('wm.context_set_enum', 'F11', 'PRESS', shift=True)59kmi.properties.data_path = 'area.type'60kmi.properties.value = 'TEXT_EDITOR'61kmi = km.keymap_items.new('wm.context_set_enum', 'F12', 'PRESS', shift=True)62kmi.properties.data_path = 'area.type'63kmi.properties.value = 'DOPESHEET_EDITOR'64kmi = km.keymap_items.new('wm.context_scale_float', 'NDOF_BUTTON_PLUS', 'PRESS')65kmi.properties.data_path = 'user_preferences.inputs.ndof_sensitivity'66kmi.properties.value = 1.167kmi = km.keymap_items.new('wm.context_scale_float', 'NDOF_BUTTON_MINUS', 'PRESS')68kmi.properties.data_path = 'user_preferences.inputs.ndof_sensitivity'69kmi.properties.value = 1.0 / 1.170kmi = km.keymap_items.new('wm.context_scale_float', 'NDOF_BUTTON_PLUS', 'PRESS', shift=True)71kmi.properties.data_path = 'user_preferences.inputs.ndof_sensitivity'72kmi.properties.value = 1.573kmi = km.keymap_items.new('wm.context_scale_float', 'NDOF_BUTTON_MINUS', 'PRESS', shift=True)74kmi.properties.data_path = 'user_preferences.inputs.ndof_sensitivity'75kmi.properties.value = 1.0 / 1.576kmi = km.keymap_items.new('info.reports_display_update', 'TIMER_REPORT', 'ANY', any=True)77# Map Screen78km = kc.keymaps.new('Screen', space_type='EMPTY', region_type='WINDOW', modal=False)79kmi = km.keymap_items.new('screen.animation_step', 'TIMER0', 'ANY', any=True)80kmi = km.keymap_items.new('screen.region_blend', 'TIMERREGION', 'ANY', any=True)81kmi = km.keymap_items.new('screen.screen_set', 'RIGHT_ARROW', 'PRESS', ctrl=True)82kmi.properties.delta = 183kmi = km.keymap_items.new('screen.screen_set', 'LEFT_ARROW', 'PRESS', ctrl=True)84kmi.properties.delta = -185kmi = km.keymap_items.new('screen.screen_full_area', 'UP_ARROW', 'PRESS', ctrl=True)86kmi = km.keymap_items.new('screen.screen_full_area', 'DOWN_ARROW', 'PRESS', ctrl=True)87kmi = km.keymap_items.new('screen.screen_full_area', 'SPACE', 'PRESS', shift=True)88kmi = km.keymap_items.new('screen.screenshot', 'F3', 'PRESS', ctrl=True)89kmi = km.keymap_items.new('screen.screencast', 'F3', 'PRESS', alt=True)90kmi = km.keymap_items.new('screen.region_quadview', 'W', 'PRESS', alt=True)91kmi = km.keymap_items.new('screen.repeat_history', 'F3', 'PRESS', shift=True)92kmi = km.keymap_items.new('screen.repeat_last', 'R', 'PRESS', shift=True)93kmi = km.keymap_items.new('screen.region_flip', 'F5', 'PRESS')94kmi = km.keymap_items.new('screen.redo_last', 'F6', 'PRESS')95kmi = km.keymap_items.new('script.reload', 'F8', 'PRESS')96kmi = km.keymap_items.new('file.execute', 'RET', 'PRESS')97kmi = km.keymap_items.new('file.execute', 'NUMPAD_ENTER', 'PRESS')98kmi = km.keymap_items.new('file.cancel', 'ESC', 'PRESS')99kmi = km.keymap_items.new('ed.undo', 'Z', 'PRESS', ctrl=True)100kmi = km.keymap_items.new('ed.redo', 'Z', 'PRESS', shift=True, ctrl=True)101kmi = km.keymap_items.new('ed.undo_history', 'Z', 'PRESS', ctrl=True, alt=True)102kmi = km.keymap_items.new('render.render', 'F10', 'PRESS')103kmi = km.keymap_items.new('render.render', 'F10', 'PRESS', ctrl=True)104kmi.properties.animation = True105kmi = km.keymap_items.new('render.view_cancel', 'ESC', 'PRESS')106kmi = km.keymap_items.new('render.view_show', 'F11', 'PRESS')107kmi = km.keymap_items.new('render.play_rendered_anim', 'F11', 'PRESS', ctrl=True)108kmi = km.keymap_items.new('screen.userpref_show', 'U', 'PRESS', ctrl=True, alt=True)109# Map Markers110km = kc.keymaps.new('Markers', space_type='EMPTY', region_type='WINDOW', modal=False)111kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')112kmi = km.keymap_items.new('marker.move', 'EVT_TWEAK_S', 'ANY')113kmi = km.keymap_items.new('marker.duplicate', 'D', 'PRESS', shift=True)114kmi = km.keymap_items.new('marker.select', 'SELECTMOUSE', 'PRESS')115kmi.properties.extend = False116kmi = km.keymap_items.new('marker.select', 'SELECTMOUSE', 'PRESS', shift=True)117kmi.properties.extend = True118kmi = km.keymap_items.new('marker.select', 'SELECTMOUSE', 'PRESS', ctrl=True)119kmi.properties.extend = False120kmi.properties.camera = True121kmi = km.keymap_items.new('marker.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)122kmi.properties.extend = True123kmi.properties.camera = True124kmi = km.keymap_items.new('marker.select_border', 'B', 'PRESS')125kmi = km.keymap_items.new('marker.select_all', 'A', 'PRESS', ctrl=True)126kmi = km.keymap_items.new('marker.delete', 'X', 'PRESS')127kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)128kmi = km.keymap_items.new('marker.move', 'G', 'PRESS')129kmi = km.keymap_items.new('marker.camera_bind', 'B', 'PRESS', ctrl=True)130# Map Outliner131km = kc.keymaps.new('Outliner', space_type='OUTLINER', region_type='WINDOW', modal=False)132kmi = km.keymap_items.new('outliner.item_rename', 'LEFTMOUSE', 'DOUBLE_CLICK')133kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK')134kmi.properties.extend = False135kmi.properties.recursive = False136kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', shift=True)137kmi.properties.extend = True138kmi.properties.recursive = False139kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', ctrl=True)140kmi.properties.extend = False141kmi.properties.recursive = True142kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', shift=True, ctrl=True)143kmi.properties.extend = True144kmi.properties.recursive = True145kmi = km.keymap_items.new('outliner.select_border', 'B', 'PRESS')146kmi = km.keymap_items.new('outliner.item_openclose', 'RET', 'PRESS')147kmi.properties.all = False148kmi = km.keymap_items.new('outliner.item_openclose', 'RET', 'PRESS', shift=True)149kmi.properties.all = True150kmi = km.keymap_items.new('outliner.item_rename', 'LEFTMOUSE', 'PRESS', ctrl=True)151kmi = km.keymap_items.new('outliner.operation', 'RIGHTMOUSE', 'PRESS')152kmi = km.keymap_items.new('outliner.show_hierarchy', 'HOME', 'PRESS')153kmi = km.keymap_items.new('outliner.show_active', 'PERIOD', 'PRESS')154kmi = km.keymap_items.new('outliner.show_active', 'NUMPAD_PERIOD', 'PRESS')155kmi = km.keymap_items.new('outliner.scroll_page', 'PAGE_DOWN', 'PRESS')156kmi = km.keymap_items.new('outliner.scroll_page', 'PAGE_UP', 'PRESS')157kmi.properties.up = True158kmi = km.keymap_items.new('outliner.show_one_level', 'NUMPAD_PLUS', 'PRESS')159kmi = km.keymap_items.new('outliner.show_one_level', 'NUMPAD_MINUS', 'PRESS')160kmi.properties.open = False161kmi = km.keymap_items.new('outliner.selected_toggle', 'A', 'PRESS', ctrl=True)162kmi = km.keymap_items.new('outliner.expanded_toggle', 'A', 'PRESS', shift=True)163kmi = km.keymap_items.new('outliner.renderability_toggle', 'R', 'PRESS')164kmi = km.keymap_items.new('outliner.selectability_toggle', 'S', 'PRESS')165kmi = km.keymap_items.new('outliner.visibility_toggle', 'V', 'PRESS')166kmi = km.keymap_items.new('outliner.keyingset_add_selected', 'K', 'PRESS')167kmi = km.keymap_items.new('outliner.keyingset_remove_selected', 'K', 'PRESS', alt=True)168kmi = km.keymap_items.new('anim.keyframe_insert', 'I', 'PRESS')169kmi = km.keymap_items.new('anim.keyframe_delete', 'I', 'PRESS', alt=True)170kmi = km.keymap_items.new('outliner.drivers_add_selected', 'D', 'PRESS')171kmi = km.keymap_items.new('outliner.drivers_delete_selected', 'D', 'PRESS', alt=True)172# Map 3D View Generic173km = kc.keymaps.new('3D View Generic', space_type='VIEW_3D', region_type='WINDOW', modal=False)174kmi = km.keymap_items.new('view3d.properties', 'F12', 'PRESS')175kmi = km.keymap_items.new('view3d.toolshelf', 'D', 'PRESS')176# Map Face Mask177km = kc.keymaps.new('Face Mask', space_type='EMPTY', region_type='WINDOW', modal=False)178kmi = km.keymap_items.new('paint.face_select_all', 'A', 'PRESS', ctrl=True)179kmi = km.keymap_items.new('paint.face_select_all', 'I', 'PRESS', ctrl=True)180kmi.properties.action = 'INVERT'181kmi = km.keymap_items.new('paint.face_select_hide', 'H', 'PRESS')182kmi.properties.unselected = False183kmi = km.keymap_items.new('paint.face_select_hide', 'H', 'PRESS', shift=True)184kmi.properties.unselected = True185kmi = km.keymap_items.new('paint.face_select_reveal', 'H', 'PRESS', alt=True)186kmi = km.keymap_items.new('paint.face_select_linked', 'L', 'PRESS', ctrl=True)187kmi = km.keymap_items.new('paint.face_select_linked_pick', 'L', 'PRESS')188# Map Weight Paint Vertex Selection189km = kc.keymaps.new('Weight Paint Vertex Selection', space_type='EMPTY', region_type='WINDOW', modal=False)190kmi = km.keymap_items.new('paint.vert_select_all', 'A', 'PRESS', ctrl=True)191kmi.properties.action = 'SELECT'192kmi = km.keymap_items.new('paint.vert_select_all', 'I', 'PRESS', ctrl=True)193kmi.properties.action = 'INVERT'194kmi = km.keymap_items.new('view3d.select_border', 'B', 'PRESS')195kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)196kmi.properties.deselect = False197kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)198kmi.properties.deselect = True199kmi = km.keymap_items.new('view3d.select_circle', 'C', 'PRESS', alt=True)200# Map Pose201km = kc.keymaps.new('Pose', space_type='EMPTY', region_type='WINDOW', modal=False)202kmi = km.keymap_items.new('object.parent_set', 'P', 'PRESS', ctrl=True)203kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)204kmi.properties.name = 'INFO_MT_add'205kmi = km.keymap_items.new('pose.hide', 'H', 'PRESS')206kmi.properties.unselected = False207kmi = km.keymap_items.new('pose.hide', 'H', 'PRESS', shift=True)208kmi.properties.unselected = True209kmi = km.keymap_items.new('pose.reveal', 'H', 'PRESS', alt=True)210kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True, ctrl=True)211kmi.properties.name = 'VIEW3D_MT_pose_apply'212kmi = km.keymap_items.new('pose.rot_clear', 'R', 'PRESS', alt=True)213kmi = km.keymap_items.new('pose.loc_clear', 'G', 'PRESS', alt=True)214kmi = km.keymap_items.new('pose.scale_clear', 'S', 'PRESS', alt=True)215kmi = km.keymap_items.new('pose.quaternions_flip', 'F', 'PRESS', alt=True)216kmi = km.keymap_items.new('pose.rotation_mode_set', 'R', 'PRESS', ctrl=True)217kmi = km.keymap_items.new('pose.copy', 'C', 'PRESS', ctrl=True)218kmi = km.keymap_items.new('pose.paste', 'V', 'PRESS', ctrl=True)219kmi.properties.flipped = False220kmi = km.keymap_items.new('pose.paste', 'V', 'PRESS', shift=True, ctrl=True)221kmi.properties.flipped = True222kmi = km.keymap_items.new('pose.select_all', 'LEFTMOUSE', 'CLICK')223kmi.properties.action = 'TOGGLE'224kmi = km.keymap_items.new('pose.select_all', 'I', 'PRESS', ctrl=True)225kmi.properties.action = 'INVERT'226kmi = km.keymap_items.new('pose.select_parent', 'P', 'PRESS', shift=True)227kmi = km.keymap_items.new('pose.select_hierarchy', 'LEFT_BRACKET', 'PRESS')228kmi.properties.direction = 'PARENT'229kmi.properties.extend = False230kmi = km.keymap_items.new('pose.select_hierarchy', 'LEFT_BRACKET', 'PRESS', shift=True)231kmi.properties.direction = 'PARENT'232kmi.properties.extend = True233kmi = km.keymap_items.new('pose.select_hierarchy', 'RIGHT_BRACKET', 'PRESS')234kmi.properties.direction = 'CHILD'235kmi.properties.extend = False236kmi = km.keymap_items.new('pose.select_hierarchy', 'RIGHT_BRACKET', 'PRESS', shift=True)237kmi.properties.direction = 'CHILD'238kmi.properties.extend = True239kmi = km.keymap_items.new('pose.select_linked', 'L', 'PRESS', alt=True)240kmi = km.keymap_items.new('pose.select_grouped', 'G', 'PRESS', shift=True)241kmi = km.keymap_items.new('pose.select_mirror', 'F', 'PRESS', shift=True)242kmi.properties.only_active = True243kmi = km.keymap_items.new('pose.constraint_add_with_targets', 'C', 'PRESS', shift=True, ctrl=True)244kmi = km.keymap_items.new('pose.constraints_clear', 'C', 'PRESS', ctrl=True, alt=True)245kmi = km.keymap_items.new('pose.ik_add', 'I', 'PRESS', shift=True)246kmi = km.keymap_items.new('pose.ik_clear', 'I', 'PRESS', ctrl=True, alt=True)247kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', ctrl=True)248kmi.properties.name = 'VIEW3D_MT_pose_group'249kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', shift=True)250kmi.properties.name = 'VIEW3D_MT_bone_options_toggle'251kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', shift=True, ctrl=True)252kmi.properties.name = 'VIEW3D_MT_bone_options_enable'253kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', alt=True)254kmi.properties.name = 'VIEW3D_MT_bone_options_disable'255kmi = km.keymap_items.new('armature.layers_show_all', 'ACCENT_GRAVE', 'PRESS', ctrl=True)256kmi = km.keymap_items.new('armature.armature_layers', 'M', 'PRESS', shift=True)257kmi = km.keymap_items.new('pose.bone_layers', 'M', 'PRESS')258kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', ctrl=True, alt=True)259kmi.properties.mode = 'BONE_SIZE'260kmi = km.keymap_items.new('anim.keyframe_insert_menu', 'I', 'PRESS')261kmi = km.keymap_items.new('anim.keyframe_delete_v3d', 'I', 'PRESS', alt=True)262kmi = km.keymap_items.new('anim.keying_set_active_set', 'I', 'PRESS', shift=True, ctrl=True, alt=True)263kmi = km.keymap_items.new('poselib.browse_interactive', 'L', 'PRESS', ctrl=True)264kmi = km.keymap_items.new('poselib.pose_add', 'L', 'PRESS', shift=True)265kmi = km.keymap_items.new('poselib.pose_remove', 'L', 'PRESS', ctrl=True, alt=True)266kmi = km.keymap_items.new('poselib.pose_rename', 'L', 'PRESS', shift=True, ctrl=True)267kmi = km.keymap_items.new('pose.push', 'E', 'PRESS', ctrl=True)268kmi = km.keymap_items.new('pose.relax', 'E', 'PRESS', alt=True)269kmi = km.keymap_items.new('pose.breakdown', 'E', 'PRESS', shift=True)270kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')271kmi.properties.name = 'VIEW3D_MT_pose_specials'272# Map Object Mode273km = kc.keymaps.new('Object Mode', space_type='EMPTY', region_type='WINDOW', modal=False)274kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)275kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'276kmi = km.keymap_items.new('wm.context_toggle', 'O', 'PRESS')277kmi.properties.data_path = 'tool_settings.use_proportional_edit_objects'278kmi = km.keymap_items.new('view3d.game_start', 'P', 'PRESS', shift=True, ctrl=True, alt=True)279kmi = km.keymap_items.new('object.select_all', 'A', 'PRESS', ctrl=True)280kmi.properties.action = 'INVERT'281kmi = km.keymap_items.new('object.select_linked', 'L', 'PRESS', shift=True)282kmi = km.keymap_items.new('object.select_grouped', 'G', 'PRESS', shift=True)283kmi = km.keymap_items.new('object.select_mirror', 'M', 'PRESS', shift=True, ctrl=True)284kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS')285kmi.properties.direction = 'PARENT'286kmi.properties.extend = False287kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS', shift=True)288kmi.properties.direction = 'PARENT'289kmi.properties.extend = True290kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS')291kmi.properties.direction = 'CHILD'292kmi.properties.extend = False293kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS', shift=True)294kmi.properties.direction = 'CHILD'295kmi.properties.extend = True296kmi = km.keymap_items.new('object.parent_set', 'P', 'PRESS', ctrl=True)297kmi = km.keymap_items.new('object.parent_no_inverse_set', 'P', 'PRESS', shift=True, ctrl=True)298kmi = km.keymap_items.new('object.parent_clear', 'P', 'PRESS', alt=True)299kmi = km.keymap_items.new('object.track_set', 'T', 'PRESS', ctrl=True)300kmi = km.keymap_items.new('object.track_clear', 'T', 'PRESS', alt=True)301kmi = km.keymap_items.new('object.constraint_add_with_targets', 'C', 'PRESS', shift=True, ctrl=True)302kmi = km.keymap_items.new('object.constraints_clear', 'C', 'PRESS', ctrl=True, alt=True)303kmi = km.keymap_items.new('object.location_clear', 'G', 'PRESS', alt=True)304kmi = km.keymap_items.new('object.rotation_clear', 'R', 'PRESS', alt=True)305kmi = km.keymap_items.new('object.scale_clear', 'S', 'PRESS', alt=True)306kmi = km.keymap_items.new('object.origin_clear', 'O', 'PRESS', alt=True)307kmi = km.keymap_items.new('object.hide_view_clear', 'H', 'PRESS', alt=True)308kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS')309kmi.properties.unselected = False310kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS', shift=True)311kmi.properties.unselected = True312kmi = km.keymap_items.new('object.hide_render_clear', 'H', 'PRESS', ctrl=True, alt=True)313kmi = km.keymap_items.new('object.hide_render_set', 'H', 'PRESS', ctrl=True)314kmi = km.keymap_items.new('object.move_to_layer', 'M', 'PRESS')315kmi = km.keymap_items.new('object.delete', 'X', 'PRESS')316kmi.properties.use_global = False317kmi = km.keymap_items.new('object.delete', 'X', 'PRESS', shift=True)318kmi.properties.use_global = False319kmi = km.keymap_items.new('object.delete', 'DEL', 'PRESS')320kmi = km.keymap_items.new('object.delete', 'DEL', 'PRESS', shift=True)321kmi.properties.use_global = True322kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)323kmi.properties.name = 'INFO_MT_add'324kmi = km.keymap_items.new('object.duplicates_make_real', 'A', 'PRESS', shift=True, ctrl=True)325kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True, ctrl=True)326kmi.properties.name = 'VIEW3D_MT_object_apply'327kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')328kmi.properties.name = 'VIEW3D_MT_make_single_user'329kmi = km.keymap_items.new('wm.call_menu', 'L', 'PRESS', ctrl=True)330kmi.properties.name = 'VIEW3D_MT_make_links'331kmi = km.keymap_items.new('object.duplicate_move', 'D', 'PRESS', shift=True)332kmi = km.keymap_items.new('object.duplicate_move_linked', 'D', 'PRESS', alt=True)333kmi = km.keymap_items.new('object.join', 'J', 'PRESS', ctrl=True)334kmi = km.keymap_items.new('object.convert', 'C', 'PRESS', ctrl=True, alt=True)335kmi = km.keymap_items.new('object.proxy_make', 'P', 'PRESS', ctrl=True, alt=True)336kmi = km.keymap_items.new('object.make_local', 'L', 'PRESS', alt=True)337kmi = km.keymap_items.new('anim.keyframe_insert_menu', 'I', 'PRESS')338kmi = km.keymap_items.new('anim.keyframe_delete_v3d', 'I', 'PRESS', alt=True)339kmi = km.keymap_items.new('anim.keying_set_active_set', 'I', 'PRESS', shift=True, ctrl=True, alt=True)340kmi = km.keymap_items.new('group.create', 'G', 'PRESS', ctrl=True)341kmi = km.keymap_items.new('group.objects_remove', 'G', 'PRESS', ctrl=True, alt=True)342kmi = km.keymap_items.new('group.objects_remove_all', 'G', 'PRESS', shift=True, ctrl=True, alt=True)343kmi = km.keymap_items.new('group.objects_add_active', 'G', 'PRESS', shift=True, ctrl=True)344kmi = km.keymap_items.new('group.objects_remove_active', 'G', 'PRESS', shift=True, alt=True)345kmi = km.keymap_items.new('rigidbody.objects_add', 'R', 'PRESS', ctrl=True)346kmi.properties.type = 'ACTIVE'347kmi = km.keymap_items.new('rigidbody.objects_add', 'R', 'PRESS', shift=True, ctrl=True)348kmi.properties.type = 'PASSIVE'349kmi = km.keymap_items.new('rigidbody.objects_remove', 'R', 'PRESS', ctrl=True, alt=True)350kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')351kmi.properties.name = 'VIEW3D_MT_object_specials'352kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)353kmi.properties.level = 0354kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)355kmi.properties.level = 1356kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)357kmi.properties.level = 2358kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)359kmi.properties.level = 3360kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)361kmi.properties.level = 4362kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)363kmi.properties.level = 5364# Map Particle365km = kc.keymaps.new('Particle', space_type='EMPTY', region_type='WINDOW', modal=False)366kmi = km.keymap_items.new('particle.select_all', 'A', 'PRESS', ctrl=True)367kmi.properties.action = 'TOGGLE'368kmi = km.keymap_items.new('particle.select_all', 'I', 'PRESS', ctrl=True)369kmi.properties.action = 'INVERT'370kmi = km.keymap_items.new('particle.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)371kmi = km.keymap_items.new('particle.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)372kmi = km.keymap_items.new('particle.select_linked', 'L', 'PRESS')373kmi.properties.deselect = False374kmi = km.keymap_items.new('particle.select_linked', 'L', 'PRESS', shift=True)375kmi.properties.deselect = True376kmi = km.keymap_items.new('particle.delete', 'X', 'PRESS')377kmi = km.keymap_items.new('particle.delete', 'DEL', 'PRESS')378kmi = km.keymap_items.new('particle.reveal', 'H', 'PRESS', alt=True)379kmi = km.keymap_items.new('particle.hide', 'H', 'PRESS')380kmi.properties.unselected = False381kmi = km.keymap_items.new('particle.hide', 'H', 'PRESS', shift=True)382kmi.properties.unselected = True383kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', shift=True)384kmi.properties.release_confirm = True385kmi.properties.use_planar_constraint= True386kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', shift=True)387kmi.properties.release_confirm = True388kmi.properties.use_accurate= True389kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', any=True)390kmi.properties.release_confirm = True391kmi = km.keymap_items.new('particle.brush_edit', 'LEFTMOUSE', 'PRESS')392kmi = km.keymap_items.new('particle.brush_edit', 'LEFTMOUSE', 'PRESS', shift=True)393kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)394kmi.properties.data_path_primary = 'tool_settings.particle_edit.brush.size'395kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)396kmi.properties.data_path_primary = 'tool_settings.particle_edit.brush.strength'397kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')398kmi.properties.name = 'VIEW3D_MT_particle_specials'399kmi = km.keymap_items.new('particle.weight_set', 'K', 'PRESS', shift=True)400kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)401kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'402kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')403kmi.properties.data_path = 'tool_settings.proportional_edit'404kmi.properties.value_1 = 'DISABLED'405kmi.properties.value_2 = 'ENABLED'406# Map 3D View407km = kc.keymaps.new('3D View', space_type='VIEW_3D', region_type='WINDOW', modal=False)408kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', shift=True)409kmi.properties.release_confirm = True410kmi.properties.use_planar_constraint= True411kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', shift=True)412kmi.properties.release_confirm = True413kmi.properties.use_accurate= True414kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', any=True)415kmi.properties.release_confirm = True416kmi = km.keymap_items.new('view3d.cursor3d', 'ACTIONMOUSE', 'PRESS')417kmi = km.keymap_items.new('view3d.rotate', 'MIDDLEMOUSE', 'PRESS', alt=True)418kmi = km.keymap_items.new('view3d.move', 'MIDDLEMOUSE', 'PRESS')419kmi = km.keymap_items.new('view3d.zoom', 'MIDDLEMOUSE', 'PRESS', ctrl=True)420kmi = km.keymap_items.new('view3d.dolly', 'MIDDLEMOUSE', 'PRESS', shift=True, ctrl=True)421kmi = km.keymap_items.new('view3d.view_selected', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)422kmi.properties.use_all_regions = True423kmi = km.keymap_items.new('view3d.view_selected', 'Z', 'PRESS')424kmi.properties.use_all_regions = False425kmi = km.keymap_items.new('view3d.view_lock_to_active', 'NUMPAD_PERIOD', 'PRESS', shift=True)426kmi = km.keymap_items.new('view3d.view_lock_clear', 'NUMPAD_PERIOD', 'PRESS', alt=True)427kmi = km.keymap_items.new('view3d.fly', 'F', 'PRESS', shift=True)428kmi = km.keymap_items.new('view3d.smoothview', 'TIMER1', 'ANY', any=True)429kmi = km.keymap_items.new('view3d.rotate', 'TRACKPADPAN', 'ANY')430kmi = km.keymap_items.new('view3d.rotate', 'MOUSEROTATE', 'ANY')431kmi = km.keymap_items.new('view3d.move', 'TRACKPADPAN', 'ANY', shift=True)432kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADZOOM', 'ANY')433kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADPAN', 'ANY', ctrl=True)434kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_PLUS', 'PRESS')435kmi.properties.delta = 1436kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_MINUS', 'PRESS')437kmi.properties.delta = -1438kmi = km.keymap_items.new('view3d.zoom', 'EQUAL', 'PRESS', ctrl=True)439kmi.properties.delta = 1440kmi = km.keymap_items.new('view3d.zoom', 'MINUS', 'PRESS', ctrl=True)441kmi.properties.delta = -1442kmi = km.keymap_items.new('view3d.zoom', 'WHEELINMOUSE', 'PRESS')443kmi.properties.delta = 1444kmi = km.keymap_items.new('view3d.zoom', 'WHEELOUTMOUSE', 'PRESS')445kmi.properties.delta = -1446kmi = km.keymap_items.new('view3d.zoom_camera_1_to_1', 'NUMPAD_ENTER', 'PRESS', shift=True)447kmi = km.keymap_items.new('view3d.view_center_camera', 'HOME', 'PRESS')448kmi = km.keymap_items.new('view3d.view_center_cursor', 'HOME', 'PRESS', alt=True)449kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS')450kmi.properties.center = False451kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS', ctrl=True)452kmi.properties.use_all_regions = True453kmi.properties.center = False454kmi = km.keymap_items.new('view3d.view_all', 'C', 'PRESS', shift=True)455kmi.properties.center = True456kmi = km.keymap_items.new('view3d.viewnumpad', 'C', 'PRESS')457kmi.properties.type = 'CAMERA'458kmi = km.keymap_items.new('view3d.viewnumpad', 'F', 'PRESS')459kmi.properties.type = 'FRONT'460kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_2', 'PRESS')461kmi.properties.type = 'ORBITDOWN'462kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS')463kmi.properties.type = 'RIGHT'464kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_4', 'PRESS')465kmi.properties.type = 'ORBITLEFT'466kmi = km.keymap_items.new('view3d.view_persportho', 'P', 'PRESS')467kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_6', 'PRESS')468kmi.properties.type = 'ORBITRIGHT'469kmi = km.keymap_items.new('view3d.viewnumpad', 'T', 'PRESS')470kmi.properties.type = 'TOP'471kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_8', 'PRESS')472kmi.properties.type = 'ORBITUP'473kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', ctrl=True)474kmi.properties.type = 'BACK'475kmi = km.keymap_items.new('view3d.viewnumpad', 'L', 'PRESS')476kmi.properties.type = 'LEFT'477kmi = km.keymap_items.new('view3d.viewnumpad', 'B', 'PRESS')478kmi.properties.type = 'BOTTOM'479kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_2', 'PRESS', ctrl=True)480kmi.properties.type = 'PANDOWN'481kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_4', 'PRESS', ctrl=True)482kmi.properties.type = 'PANLEFT'483kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_6', 'PRESS', ctrl=True)484kmi.properties.type = 'PANRIGHT'485kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_8', 'PRESS', ctrl=True)486kmi.properties.type = 'PANUP'487kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', ctrl=True)488kmi.properties.type = 'PANRIGHT'489kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True)490kmi.properties.type = 'PANLEFT'491kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', shift=True)492kmi.properties.type = 'PANUP'493kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', shift=True)494kmi.properties.type = 'PANDOWN'495kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', ctrl=True, alt=True)496kmi.properties.type = 'ORBITLEFT'497kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True, alt=True)498kmi.properties.type = 'ORBITRIGHT'499kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', shift=True, alt=True)500kmi.properties.type = 'ORBITUP'501kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', shift=True, alt=True)502kmi.properties.type = 'ORBITDOWN'503kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True)504kmi.properties.type = 'FRONT'505kmi.properties.align_active = True506kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True)507kmi.properties.type = 'RIGHT'508kmi.properties.align_active = True509kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True)510kmi.properties.type = 'TOP'511kmi.properties.align_active = True512kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True)513kmi.properties.type = 'BACK'514kmi.properties.align_active = True515kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True, ctrl=True)516kmi.properties.type = 'LEFT'517kmi.properties.align_active = True518kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True, ctrl=True)519kmi.properties.type = 'BOTTOM'520kmi.properties.align_active = True521kmi = km.keymap_items.new('view3d.localview', 'NUMPAD_SLASH', 'PRESS')522kmi = km.keymap_items.new('view3d.ndof_orbit_zoom', 'NDOF_MOTION', 'ANY')523kmi = km.keymap_items.new('view3d.ndof_orbit', 'NDOF_MOTION', 'ANY', ctrl=True)524kmi = km.keymap_items.new('view3d.ndof_pan', 'NDOF_MOTION', 'ANY', shift=True)525kmi = km.keymap_items.new('view3d.ndof_all', 'NDOF_MOTION', 'ANY', shift=True, ctrl=True)526kmi = km.keymap_items.new('view3d.view_selected', 'NDOF_BUTTON_FIT', 'PRESS')527kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS')528kmi.properties.type = 'FRONT'529kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BACK', 'PRESS')530kmi.properties.type = 'BACK'531kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_LEFT', 'PRESS')532kmi.properties.type = 'LEFT'533kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS')534kmi.properties.type = 'RIGHT'535kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS')536kmi.properties.type = 'TOP'537kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BOTTOM', 'PRESS')538kmi.properties.type = 'BOTTOM'539kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS', shift=True)540kmi.properties.type = 'FRONT'541kmi.properties.align_active = True542kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS', shift=True)543kmi.properties.type = 'RIGHT'544kmi.properties.align_active = True545kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS', shift=True)546kmi.properties.type = 'TOP'547kmi.properties.align_active = True548kmi = km.keymap_items.new('view3d.layers', 'ACCENT_GRAVE', 'PRESS')549kmi.properties.nr = 0550kmi = km.keymap_items.new('view3d.layers', 'ONE', 'PRESS', any=True)551kmi.properties.nr = 1552kmi = km.keymap_items.new('view3d.layers', 'TWO', 'PRESS', any=True)553kmi.properties.nr = 2554kmi = km.keymap_items.new('view3d.layers', 'THREE', 'PRESS', any=True)555kmi.properties.nr = 3556kmi = km.keymap_items.new('view3d.layers', 'FOUR', 'PRESS', any=True)557kmi.properties.nr = 4558kmi = km.keymap_items.new('view3d.layers', 'FIVE', 'PRESS', any=True)559kmi.properties.nr = 5560kmi = km.keymap_items.new('view3d.layers', 'SIX', 'PRESS', any=True)561kmi.properties.nr = 6562kmi = km.keymap_items.new('view3d.layers', 'SEVEN', 'PRESS', any=True)563kmi.properties.nr = 7564kmi = km.keymap_items.new('view3d.layers', 'EIGHT', 'PRESS', any=True)565kmi.properties.nr = 8566kmi = km.keymap_items.new('view3d.layers', 'NINE', 'PRESS', any=True)567kmi.properties.nr = 9568kmi = km.keymap_items.new('view3d.layers', 'ZERO', 'PRESS', any=True)569kmi.properties.nr = 10570kmi = km.keymap_items.new('wm.context_toggle_enum', 'F3', 'PRESS')571kmi.properties.data_path = 'space_data.viewport_shade'572kmi.properties.value_1 = 'SOLID'573kmi.properties.value_2 = 'WIREFRAME'574kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS', alt=True)575kmi.properties.data_path = 'space_data.viewport_shade'576kmi.properties.value_1 = 'SOLID'577kmi.properties.value_2 = 'TEXTURED'578kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK')579kmi.properties.extend = False580kmi.properties.deselect = False581kmi.properties.toggle = False582kmi.properties.center = False583kmi.properties.enumerate = False584kmi.properties.object = False585kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', ctrl=True)586kmi.properties.extend = False587kmi.properties.deselect = False588kmi.properties.toggle = True589kmi.properties.center = False590kmi.properties.enumerate = False591kmi.properties.object = False592kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', shift=True)593kmi.properties.extend = False594kmi.properties.deselect = False595kmi.properties.toggle = False596kmi.properties.center = True597kmi.properties.enumerate = False598kmi.properties.object = True599kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', alt=True)600kmi.properties.extend = False601kmi.properties.deselect = False602kmi.properties.toggle = False603kmi.properties.center = False604kmi.properties.enumerate = True605kmi.properties.object = False606kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', shift=True, ctrl=True)607kmi.properties.extend = True608kmi.properties.deselect = False609kmi.properties.toggle = True610kmi.properties.center = True611kmi.properties.enumerate = False612kmi.properties.object = False613kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', ctrl=True, alt=True)614kmi.properties.extend = False615kmi.properties.deselect = False616kmi.properties.toggle = False617kmi.properties.center = True618kmi.properties.enumerate = True619kmi.properties.object = False620kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', shift=True, alt=True)621kmi.properties.extend = False622kmi.properties.deselect = False623kmi.properties.toggle = True624kmi.properties.center = False625kmi.properties.enumerate = True626kmi.properties.object = False627kmi = km.keymap_items.new('view3d.select_or_deselect_all', 'SELECTMOUSE', 'CLICK', shift=True, ctrl=True, alt=True)628kmi.properties.extend = False629kmi.properties.deselect = False630kmi.properties.toggle = True631kmi.properties.center = True632kmi.properties.enumerate = True633kmi.properties.object = False634kmi = km.keymap_items.new('view3d.select_border', 'EVT_TWEAK_L', 'ANY')635kmi.properties.extend = False636kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)637kmi.properties.deselect = False638kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)639kmi.properties.deselect = True640kmi = km.keymap_items.new('view3d.select_circle', 'C', 'PRESS', alt=True)641kmi = km.keymap_items.new('view3d.clip_border', 'B', 'PRESS', alt=True)642kmi = km.keymap_items.new('view3d.zoom_border', 'B', 'PRESS', shift=True)643kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', shift=True)644kmi.properties.camera_only = True645kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', ctrl=True)646kmi.properties.camera_only = False647kmi = km.keymap_items.new('view3d.clear_render_border', 'B', 'PRESS', ctrl=True, alt=True)648kmi = km.keymap_items.new('view3d.camera_to_view', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)649kmi = km.keymap_items.new('view3d.object_as_camera', 'NUMPAD_0', 'PRESS', ctrl=True)650kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)651kmi.properties.name = 'VIEW3D_MT_snap'652kmi = km.keymap_items.new('view3d.copybuffer', 'C', 'PRESS', ctrl=True)653kmi = km.keymap_items.new('view3d.pastebuffer', 'V', 'PRESS', ctrl=True)654kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')655kmi.properties.data_path = 'space_data.pivot_point'656kmi.properties.value = 'BOUNDING_BOX_CENTER'657kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)658kmi.properties.data_path = 'space_data.pivot_point'659kmi.properties.value = 'MEDIAN_POINT'660kmi = km.keymap_items.new('wm.context_toggle', 'COMMA', 'PRESS', alt=True)661kmi.properties.data_path = 'space_data.use_pivot_point_align'662kmi = km.keymap_items.new('wm.context_toggle', 'SPACE', 'PRESS', ctrl=True)663kmi.properties.data_path = 'space_data.show_manipulator'664kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')665kmi.properties.data_path = 'space_data.pivot_point'666kmi.properties.value = 'CURSOR'667kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)668kmi.properties.data_path = 'space_data.pivot_point'669kmi.properties.value = 'INDIVIDUAL_ORIGINS'670kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', alt=True)671kmi.properties.data_path = 'space_data.pivot_point'672kmi.properties.value = 'ACTIVE_ELEMENT'673kmi = km.keymap_items.new('transform.translate', 'W', 'PRESS', shift=True)674kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')675kmi = km.keymap_items.new('transform.rotate', 'E', 'PRESS', shift=True)676kmi = km.keymap_items.new('transform.resize', 'R', 'PRESS', shift=True)677kmi = km.keymap_items.new('transform.bend', 'Q', 'PRESS', shift=True)678kmi = km.keymap_items.new('transform.tosphere', 'S', 'PRESS', shift=True, alt=True)679kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)680kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'PRESS', alt=True)681kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'PRESS', ctrl=True, alt=True)682kmi.properties.use = True683kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)684kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)685kmi.properties.data_path = 'tool_settings.use_snap'686kmi = km.keymap_items.new('wm.context_menu_enum', 'TAB', 'PRESS', shift=True, ctrl=True)687kmi.properties.data_path = 'tool_settings.snap_element'688kmi = km.keymap_items.new('transform.translate', 'T', 'PRESS', shift=True)689kmi.properties.texture_space = True690kmi = km.keymap_items.new('transform.resize', 'T', 'PRESS', shift=True, alt=True)691kmi.properties.texture_space = True692kmi = km.keymap_items.new('transform.skin_resize', 'A', 'PRESS', shift=True, ctrl=True)693kmi = km.keymap_items.new('view3d.enable_manipulator', 'W', 'PRESS')694kmi.properties.translate = True695kmi = km.keymap_items.new('view3d.enable_manipulator', 'E', 'PRESS')696kmi.properties.rotate = True697kmi = km.keymap_items.new('view3d.enable_manipulator', 'R', 'PRESS')698kmi.properties.scale = True699kmi = km.keymap_items.new('wm.context_toggle', 'S', 'PRESS')700kmi.properties.data_path = 'tool_settings.use_snap'701kmi = km.keymap_items.new('wm.context_toggle_enum', 'A', 'PRESS')702kmi.properties.data_path = 'tool_settings.snap_element'703kmi.properties.value_1 = 'VERTEX'704kmi.properties.value_2 = 'INCREMENT'705kmi = km.keymap_items.new('view3d.select_border', 'EVT_TWEAK_L', 'ANY', ctrl=True)706kmi = km.keymap_items.new('wm.context_toggle', 'G', 'PRESS')707kmi.properties.data_path = 'space_data.show_floor'708# Map Animation Channels709km = kc.keymaps.new('Animation Channels', space_type='EMPTY', region_type='WINDOW', modal=False)710kmi = km.keymap_items.new('anim.channels_click', 'LEFTMOUSE', 'PRESS')711kmi.properties.extend = False712kmi = km.keymap_items.new('anim.channels_click', 'LEFTMOUSE', 'PRESS', shift=True)713kmi.properties.extend = True714kmi = km.keymap_items.new('anim.channels_click', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)715kmi.properties.children_only = True716kmi = km.keymap_items.new('anim.channels_rename', 'LEFTMOUSE', 'PRESS', ctrl=True)717kmi = km.keymap_items.new('anim.channels_select_all_toggle', 'A', 'PRESS', ctrl=True)718kmi = km.keymap_items.new('anim.channels_select_all_toggle', 'I', 'PRESS', ctrl=True)719kmi.properties.invert = True720kmi = km.keymap_items.new('anim.channels_select_border', 'B', 'PRESS')721kmi = km.keymap_items.new('anim.channels_select_border', 'EVT_TWEAK_L', 'ANY')722kmi = km.keymap_items.new('anim.channels_delete', 'X', 'PRESS')723kmi = km.keymap_items.new('anim.channels_delete', 'DEL', 'PRESS')724kmi = km.keymap_items.new('anim.channels_setting_toggle', 'W', 'PRESS', shift=True)725kmi = km.keymap_items.new('anim.channels_setting_enable', 'W', 'PRESS', shift=True, ctrl=True)726kmi = km.keymap_items.new('anim.channels_setting_disable', 'W', 'PRESS', alt=True)727kmi = km.keymap_items.new('anim.channels_editable_toggle', 'TAB', 'PRESS')728kmi = km.keymap_items.new('anim.channels_expand', 'NUMPAD_PLUS', 'PRESS')729kmi = km.keymap_items.new('anim.channels_collapse', 'NUMPAD_MINUS', 'PRESS')730kmi = km.keymap_items.new('anim.channels_expand', 'NUMPAD_PLUS', 'PRESS', ctrl=True)731kmi.properties.all = False732kmi = km.keymap_items.new('anim.channels_collapse', 'NUMPAD_MINUS', 'PRESS', ctrl=True)733kmi.properties.all = False734kmi = km.keymap_items.new('anim.channels_move', 'PAGE_UP', 'PRESS')735kmi.properties.direction = 'UP'736kmi = km.keymap_items.new('anim.channels_move', 'PAGE_DOWN', 'PRESS')737kmi.properties.direction = 'DOWN'738kmi = km.keymap_items.new('anim.channels_move', 'PAGE_UP', 'PRESS', shift=True)739kmi.properties.direction = 'TOP'740kmi = km.keymap_items.new('anim.channels_move', 'PAGE_DOWN', 'PRESS', shift=True)741kmi.properties.direction = 'BOTTOM'742kmi = km.keymap_items.new('anim.channels_group', 'G', 'PRESS', ctrl=True)743kmi = km.keymap_items.new('anim.channels_ungroup', 'G', 'PRESS', alt=True)744# Map UV Editor745km = kc.keymaps.new('UV Editor', space_type='EMPTY', region_type='WINDOW', modal=False)746kmi = km.keymap_items.new('wm.context_toggle', 'Q', 'PRESS')747kmi.properties.data_path = 'tool_settings.use_uv_sculpt'748kmi = km.keymap_items.new('uv.mark_seam', 'E', 'PRESS', ctrl=True)749kmi = km.keymap_items.new('uv.select', 'SELECTMOUSE', 'PRESS')750kmi.properties.extend = False751kmi = km.keymap_items.new('uv.select', 'SELECTMOUSE', 'PRESS', shift=True)752kmi.properties.extend = True753kmi = km.keymap_items.new('uv.select_loop', 'SELECTMOUSE', 'PRESS', alt=True)754kmi.properties.extend = False755kmi = km.keymap_items.new('uv.select_loop', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)756kmi.properties.extend = True757kmi = km.keymap_items.new('uv.select_split', 'Y', 'PRESS')758kmi = km.keymap_items.new('uv.select_border', 'B', 'PRESS')759kmi.properties.pinned = False760kmi = km.keymap_items.new('uv.select_border', 'B', 'PRESS', shift=True)761kmi.properties.pinned = True762kmi = km.keymap_items.new('uv.circle_select', 'C', 'PRESS')763kmi = km.keymap_items.new('uv.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)764kmi.properties.deselect = False765kmi = km.keymap_items.new('uv.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)766kmi.properties.deselect = True767kmi = km.keymap_items.new('uv.select_linked', 'L', 'PRESS', ctrl=True)768kmi.properties.extend = False769kmi = km.keymap_items.new('uv.select_linked_pick', 'L', 'PRESS')770kmi.properties.extend = False771kmi = km.keymap_items.new('uv.select_linked', 'L', 'PRESS', shift=True, ctrl=True)772kmi.properties.extend = True773kmi = km.keymap_items.new('uv.select_linked_pick', 'L', 'PRESS', shift=True)774kmi.properties.extend = True775kmi = km.keymap_items.new('uv.select_all', 'A', 'PRESS', ctrl=True)776kmi.properties.action = 'TOGGLE'777kmi = km.keymap_items.new('uv.select_all', 'I', 'PRESS', ctrl=True)778kmi.properties.action = 'INVERT'779kmi = km.keymap_items.new('uv.select_pinned', 'P', 'PRESS', shift=True)780kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')781kmi.properties.name = 'IMAGE_MT_uvs_weldalign'782kmi = km.keymap_items.new('uv.stitch', 'V', 'PRESS')783kmi = km.keymap_items.new('uv.pin', 'P', 'PRESS')784kmi.properties.clear = False785kmi = km.keymap_items.new('uv.pin', 'P', 'PRESS', alt=True)786kmi.properties.clear = True787kmi = km.keymap_items.new('uv.unwrap', 'E', 'PRESS')788kmi = km.keymap_items.new('uv.minimize_stretch', 'V', 'PRESS', ctrl=True)789kmi = km.keymap_items.new('uv.pack_islands', 'P', 'PRESS', ctrl=True)790kmi = km.keymap_items.new('uv.average_islands_scale', 'A', 'PRESS', shift=True, ctrl=True)791kmi = km.keymap_items.new('uv.hide', 'H', 'PRESS')792kmi.properties.unselected = False793kmi = km.keymap_items.new('uv.hide', 'H', 'PRESS', shift=True)794kmi.properties.unselected = True795kmi = km.keymap_items.new('uv.reveal', 'H', 'PRESS', alt=True)796kmi = km.keymap_items.new('uv.cursor_set', 'ACTIONMOUSE', 'PRESS')797kmi = km.keymap_items.new('uv.tile_set', 'ACTIONMOUSE', 'PRESS', shift=True)798kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)799kmi.properties.name = 'IMAGE_MT_uvs_snap'800kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)801kmi.properties.name = 'IMAGE_MT_uvs_select_mode'802kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)803kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'804kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')805kmi.properties.data_path = 'tool_settings.proportional_edit'806kmi.properties.value_1 = 'DISABLED'807kmi.properties.value_2 = 'ENABLED'808kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')809kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')810kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')811kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')812kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)813kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)814kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)815kmi.properties.data_path = 'tool_settings.use_snap'816kmi = km.keymap_items.new('wm.context_menu_enum', 'TAB', 'PRESS', shift=True, ctrl=True)817kmi.properties.data_path = 'tool_settings.snap_uv_element'818# Map Mask Editing819km = kc.keymaps.new('Mask Editing', space_type='EMPTY', region_type='WINDOW', modal=False)820kmi = km.keymap_items.new('mask.new', 'N', 'PRESS', alt=True)821kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)822kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'823kmi = km.keymap_items.new('wm.context_toggle', 'O', 'PRESS')824kmi.properties.data_path = 'tool_settings.use_proportional_edit_mask'825kmi = km.keymap_items.new('mask.add_vertex_slide', 'ACTIONMOUSE', 'PRESS', ctrl=True)826kmi = km.keymap_items.new('mask.add_feather_vertex_slide', 'ACTIONMOUSE', 'PRESS', shift=True)827kmi = km.keymap_items.new('mask.delete', 'X', 'PRESS')828kmi = km.keymap_items.new('mask.delete', 'DEL', 'PRESS')829kmi = km.keymap_items.new('mask.select', 'SELECTMOUSE', 'PRESS')830kmi.properties.extend = False831kmi.properties.deselect = False832kmi.properties.toggle = False833kmi = km.keymap_items.new('mask.select', 'SELECTMOUSE', 'PRESS', shift=True)834kmi.properties.extend = False835kmi.properties.deselect = False836kmi.properties.toggle = True837kmi = km.keymap_items.new('mask.select_all', 'A', 'PRESS', ctrl=True)838kmi.properties.action = 'TOGGLE'839kmi = km.keymap_items.new('mask.select_all', 'I', 'PRESS', ctrl=True)840kmi.properties.action = 'INVERT'841kmi = km.keymap_items.new('mask.select_linked', 'L', 'PRESS', ctrl=True)842kmi = km.keymap_items.new('mask.select_linked_pick', 'L', 'PRESS')843kmi.properties.deselect = False844kmi = km.keymap_items.new('mask.select_linked_pick', 'L', 'PRESS', shift=True)845kmi.properties.deselect = True846kmi = km.keymap_items.new('mask.select_border', 'B', 'PRESS')847kmi = km.keymap_items.new('mask.select_circle', 'C', 'PRESS')848kmi = km.keymap_items.new('mask.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)849kmi.properties.deselect = False850kmi = km.keymap_items.new('mask.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)851kmi.properties.deselect = True852kmi = km.keymap_items.new('mask.hide_view_clear', 'H', 'PRESS', alt=True)853kmi = km.keymap_items.new('mask.hide_view_set', 'H', 'PRESS')854kmi.properties.unselected = False855kmi = km.keymap_items.new('mask.hide_view_set', 'H', 'PRESS', shift=True)856kmi.properties.unselected = True857kmi = km.keymap_items.new('clip.select', 'SELECTMOUSE', 'PRESS', ctrl=True)858kmi.properties.extend = False859kmi = km.keymap_items.new('mask.cyclic_toggle', 'C', 'PRESS', alt=True)860kmi = km.keymap_items.new('mask.slide_point', 'ACTIONMOUSE', 'PRESS')861kmi = km.keymap_items.new('mask.handle_type_set', 'V', 'PRESS')862kmi = km.keymap_items.new('mask.normals_make_consistent', 'N', 'PRESS', ctrl=True)863kmi = km.keymap_items.new('mask.parent_set', 'P', 'PRESS', ctrl=True)864kmi = km.keymap_items.new('mask.parent_clear', 'P', 'PRESS', alt=True)865kmi = km.keymap_items.new('mask.shape_key_insert', 'I', 'PRESS')866kmi = km.keymap_items.new('mask.shape_key_clear', 'I', 'PRESS', alt=True)867kmi = km.keymap_items.new('uv.cursor_set', 'ACTIONMOUSE', 'PRESS')868kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')869kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')870kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')871kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')872kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', alt=True)873kmi.properties.mode = 'MASK_SHRINKFATTEN'874# Map Graph Editor875km = kc.keymaps.new('Graph Editor', space_type='GRAPH_EDITOR', region_type='WINDOW', modal=False)876kmi = km.keymap_items.new('wm.context_toggle', 'H', 'PRESS', ctrl=True)877kmi.properties.data_path = 'space_data.show_handles'878kmi = km.keymap_items.new('graph.cursor_set', 'ACTIONMOUSE', 'PRESS')879kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS')880kmi.properties.extend = False881kmi.properties.column = False882kmi.properties.curves = False883kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', alt=True)884kmi.properties.extend = False885kmi.properties.column = True886kmi.properties.curves = False887kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True)888kmi.properties.extend = True889kmi.properties.column = False890kmi.properties.curves = False891kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)892kmi.properties.extend = True893kmi.properties.column = True894kmi.properties.curves = False895kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)896kmi.properties.extend = False897kmi.properties.column = False898kmi.properties.curves = True899kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)900kmi.properties.extend = True901kmi.properties.column = False902kmi.properties.curves = True903kmi = km.keymap_items.new('graph.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)904kmi.properties.mode = 'CHECK'905kmi.properties.extend = False906kmi = km.keymap_items.new('graph.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)907kmi.properties.mode = 'CHECK'908kmi.properties.extend = True909kmi = km.keymap_items.new('graph.select_leftright', 'LEFT_BRACKET', 'PRESS')910kmi.properties.mode = 'LEFT'911kmi.properties.extend = False912kmi = km.keymap_items.new('graph.select_leftright', 'RIGHT_BRACKET', 'PRESS')913kmi.properties.mode = 'RIGHT'914kmi.properties.extend = False915kmi = km.keymap_items.new('graph.select_all_toggle', 'A', 'PRESS', ctrl=True)916kmi.properties.invert = False917kmi = km.keymap_items.new('graph.select_all_toggle', 'I', 'PRESS', ctrl=True)918kmi.properties.invert = True919kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS')920kmi.properties.axis_range = False921kmi.properties.include_handles = False922kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', alt=True)923kmi.properties.axis_range = True924kmi.properties.include_handles = False925kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', ctrl=True)926kmi.properties.axis_range = False927kmi.properties.include_handles = True928kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', ctrl=True, alt=True)929kmi.properties.axis_range = True930kmi.properties.include_handles = True931kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS')932kmi.properties.mode = 'KEYS'933kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', ctrl=True)934kmi.properties.mode = 'CFRA'935kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', shift=True)936kmi.properties.mode = 'MARKERS_COLUMN'937kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', alt=True)938kmi.properties.mode = 'MARKERS_BETWEEN'939kmi = km.keymap_items.new('graph.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)940kmi = km.keymap_items.new('graph.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)941kmi = km.keymap_items.new('graph.select_linked', 'L', 'PRESS')942kmi = km.keymap_items.new('graph.frame_jump', 'G', 'PRESS', ctrl=True)943kmi = km.keymap_items.new('graph.snap', 'S', 'PRESS', shift=True)944kmi = km.keymap_items.new('graph.mirror', 'M', 'PRESS', shift=True)945kmi = km.keymap_items.new('graph.handle_type', 'V', 'PRESS')946kmi = km.keymap_items.new('graph.interpolation_type', 'T', 'PRESS')947kmi = km.keymap_items.new('graph.clean', 'O', 'PRESS')948kmi = km.keymap_items.new('graph.smooth', 'O', 'PRESS', alt=True)949kmi = km.keymap_items.new('graph.sample', 'O', 'PRESS', shift=True)950kmi = km.keymap_items.new('graph.bake', 'C', 'PRESS', alt=True)951kmi = km.keymap_items.new('graph.delete', 'X', 'PRESS')952kmi = km.keymap_items.new('graph.delete', 'DEL', 'PRESS')953kmi = km.keymap_items.new('graph.duplicate_move', 'D', 'PRESS', shift=True)954kmi = km.keymap_items.new('graph.keyframe_insert', 'I', 'PRESS')955kmi = km.keymap_items.new('graph.click_insert', 'ACTIONMOUSE', 'CLICK', ctrl=True)956kmi = km.keymap_items.new('graph.copy', 'C', 'PRESS', ctrl=True)957kmi = km.keymap_items.new('graph.paste', 'V', 'PRESS', ctrl=True)958kmi = km.keymap_items.new('graph.previewrange_set', 'P', 'PRESS', ctrl=True, alt=True)959kmi = km.keymap_items.new('graph.view_all', 'HOME', 'PRESS')960kmi = km.keymap_items.new('graph.view_selected', 'NUMPAD_PERIOD', 'PRESS')961kmi = km.keymap_items.new('graph.fmodifier_add', 'M', 'PRESS', shift=True, ctrl=True)962kmi.properties.only_active = False963kmi = km.keymap_items.new('anim.channels_editable_toggle', 'TAB', 'PRESS')964kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')965kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')966kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')967kmi.properties.mode = 'TIME_EXTEND'968kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')969kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')970kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')971kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)972# Map Node Editor973km = kc.keymaps.new('Node Editor', space_type='NODE_EDITOR', region_type='WINDOW', modal=False)974kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS')975kmi.properties.extend = False976kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS')977kmi.properties.extend = False978kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', ctrl=True)979kmi.properties.extend = False980kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', ctrl=True)981kmi.properties.extend = False982kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', alt=True)983kmi.properties.extend = False984kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', alt=True)985kmi.properties.extend = False986kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', ctrl=True, alt=True)987kmi.properties.extend = False988kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)989kmi.properties.extend = False990kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True)991kmi.properties.extend = True992kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True)993kmi.properties.extend = True994kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, ctrl=True)995kmi.properties.extend = True996kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)997kmi.properties.extend = True998kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, alt=True)999kmi.properties.extend = True1000kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)1001kmi.properties.extend = True1002kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)1003kmi.properties.extend = True1004kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)1005kmi.properties.extend = True1006kmi = km.keymap_items.new('node.select_border', 'EVT_TWEAK_S', 'ANY')1007kmi.properties.tweak = True1008kmi = km.keymap_items.new('node.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)1009kmi.properties.deselect = False1010kmi = km.keymap_items.new('node.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)1011kmi.properties.deselect = True1012kmi = km.keymap_items.new('node.link', 'LEFTMOUSE', 'PRESS')1013kmi.properties.detach = False1014kmi = km.keymap_items.new('node.link', 'LEFTMOUSE', 'PRESS', ctrl=True)1015kmi.properties.detach = True1016kmi = km.keymap_items.new('node.resize', 'LEFTMOUSE', 'PRESS')1017kmi = km.keymap_items.new('node.add_reroute', 'LEFTMOUSE', 'PRESS', shift=True)1018kmi = km.keymap_items.new('node.links_cut', 'LEFTMOUSE', 'PRESS', ctrl=True)1019kmi = km.keymap_items.new('node.select_link_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)1020kmi = km.keymap_items.new('node.backimage_move', 'MIDDLEMOUSE', 'PRESS', alt=True)1021kmi = km.keymap_items.new('node.backimage_zoom', 'V', 'PRESS')1022kmi.properties.factor = 0.8333299756050111023kmi = km.keymap_items.new('node.backimage_zoom', 'V', 'PRESS', alt=True)1024kmi.properties.factor = 1.20000004768371581025kmi = km.keymap_items.new('node.backimage_sample', 'ACTIONMOUSE', 'PRESS', alt=True)1026kmi = km.keymap_items.new('node.link_make', 'F', 'PRESS')1027kmi.properties.replace = False1028kmi = km.keymap_items.new('node.link_make', 'F', 'PRESS', shift=True)1029kmi.properties.replace = True1030kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)1031kmi.properties.name = 'NODE_MT_add'1032kmi = km.keymap_items.new('node.duplicate_move', 'D', 'PRESS', shift=True)1033kmi = km.keymap_items.new('node.duplicate_move_keep_inputs', 'D', 'PRESS', shift=True, ctrl=True)1034kmi = km.keymap_items.new('node.parent_set', 'P', 'PRESS', ctrl=True)1035kmi = km.keymap_items.new('node.join', 'J', 'PRESS', ctrl=True)1036kmi = km.keymap_items.new('node.hide_toggle', 'H', 'PRESS')1037kmi = km.keymap_items.new('node.mute_toggle', 'M', 'PRESS')1038kmi = km.keymap_items.new('node.preview_toggle', 'H', 'PRESS', shift=True)1039kmi = km.keymap_items.new('node.hide_socket_toggle', 'H', 'PRESS', ctrl=True)1040kmi = km.keymap_items.new('node.view_all', 'HOME', 'PRESS')1041kmi = km.keymap_items.new('node.view_selected', 'NUMPAD_PERIOD', 'PRESS')1042kmi = km.keymap_items.new('node.select_border', 'B', 'PRESS')1043kmi.properties.tweak = False1044kmi = km.keymap_items.new('node.delete', 'X', 'PRESS')1045kmi = km.keymap_items.new('node.delete', 'DEL', 'PRESS')1046kmi = km.keymap_items.new('node.delete_reconnect', 'X', 'PRESS', ctrl=True)1047kmi = km.keymap_items.new('node.select_all', 'A', 'PRESS', ctrl=True)1048kmi.properties.action = 'TOGGLE'1049kmi = km.keymap_items.new('node.select_all', 'I', 'PRESS', ctrl=True)1050kmi.properties.action = 'INVERT'1051kmi = km.keymap_items.new('node.select_linked_to', 'L', 'PRESS', shift=True)1052kmi = km.keymap_items.new('node.select_linked_from', 'L', 'PRESS')1053kmi = km.keymap_items.new('node.select_grouped', 'G', 'PRESS', shift=True)1054kmi = km.keymap_items.new('node.select_same_type_step', 'RIGHT_BRACKET', 'PRESS', shift=True)1055kmi.properties.prev = False1056kmi = km.keymap_items.new('node.select_same_type_step', 'LEFT_BRACKET', 'PRESS', shift=True)1057kmi.properties.prev = True1058kmi = km.keymap_items.new('node.find_node', 'F', 'PRESS', ctrl=True)1059kmi = km.keymap_items.new('node.group_make', 'G', 'PRESS', ctrl=True)1060kmi = km.keymap_items.new('node.group_ungroup', 'G', 'PRESS', alt=True)1061kmi = km.keymap_items.new('node.group_separate', 'P', 'PRESS')1062kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS')1063kmi.properties.exit = False1064kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS', shift=True)1065kmi.properties.exit = True1066kmi = km.keymap_items.new('node.group_make', 'G', 'PRESS', ctrl=True)1067kmi = km.keymap_items.new('node.group_ungroup', 'G', 'PRESS', alt=True)1068kmi = km.keymap_items.new('node.group_separate', 'P', 'PRESS')1069kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS')1070kmi.properties.exit = False1071kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS', shift=True)1072kmi.properties.exit = True1073kmi = km.keymap_items.new('node.group_make', 'G', 'PRESS', ctrl=True)1074kmi = km.keymap_items.new('node.group_ungroup', 'G', 'PRESS', alt=True)1075kmi = km.keymap_items.new('node.group_separate', 'P', 'PRESS')1076kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS')1077kmi.properties.exit = False1078kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS', shift=True)1079kmi.properties.exit = True1080kmi = km.keymap_items.new('node.read_renderlayers', 'R', 'PRESS', ctrl=True)1081kmi = km.keymap_items.new('node.read_fullsamplelayers', 'R', 'PRESS', shift=True)1082kmi = km.keymap_items.new('node.render_changed', 'Z', 'PRESS')1083kmi = km.keymap_items.new('node.clipboard_copy', 'C', 'PRESS', ctrl=True)1084kmi = km.keymap_items.new('node.clipboard_paste', 'V', 'PRESS', ctrl=True)1085kmi = km.keymap_items.new('node.viewer_border', 'B', 'PRESS', ctrl=True)1086kmi = km.keymap_items.new('node.translate_attach', 'G', 'PRESS')1087kmi = km.keymap_items.new('node.translate_attach', 'EVT_TWEAK_A', 'ANY')1088kmi = km.keymap_items.new('node.translate_attach', 'EVT_TWEAK_S', 'ANY')1089kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')1090kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')1091kmi = km.keymap_items.new('node.move_detach_links', 'D', 'PRESS', alt=True)1092kmi = km.keymap_items.new('node.move_detach_links_release', 'EVT_TWEAK_A', 'ANY', alt=True)1093kmi = km.keymap_items.new('node.move_detach_links', 'EVT_TWEAK_S', 'ANY', alt=True)1094kmi = km.keymap_items.new('node.detach_translate_attach', 'F', 'PRESS', alt=True)1095# Map Info1096km = kc.keymaps.new('Info', space_type='INFO', region_type='WINDOW', modal=False)1097kmi = km.keymap_items.new('info.select_pick', 'SELECTMOUSE', 'PRESS')1098kmi = km.keymap_items.new('info.select_all_toggle', 'A', 'PRESS', ctrl=True)1099kmi = km.keymap_items.new('info.select_border', 'B', 'PRESS')1100kmi = km.keymap_items.new('info.report_replay', 'R', 'PRESS')1101kmi = km.keymap_items.new('info.report_delete', 'X', 'PRESS')1102kmi = km.keymap_items.new('info.report_delete', 'DEL', 'PRESS')1103kmi = km.keymap_items.new('info.report_copy', 'C', 'PRESS', ctrl=True)1104# Map File Browser Main1105km = kc.keymaps.new('File Browser Main', space_type='FILE_BROWSER', region_type='WINDOW', modal=False)1106kmi = km.keymap_items.new('file.execute', 'LEFTMOUSE', 'DOUBLE_CLICK')1107kmi.properties.need_active = True1108kmi = km.keymap_items.new('file.select', 'LEFTMOUSE', 'CLICK')1109kmi = km.keymap_items.new('file.select', 'LEFTMOUSE', 'CLICK', shift=True)1110kmi.properties.extend = True1111kmi = km.keymap_items.new('file.select', 'LEFTMOUSE', 'CLICK', alt=True)1112kmi.properties.extend = True1113kmi.properties.fill = True1114kmi = km.keymap_items.new('file.select', 'RIGHTMOUSE', 'CLICK')1115kmi.properties.open = False1116kmi = km.keymap_items.new('file.select', 'RIGHTMOUSE', 'CLICK', shift=True)1117kmi.properties.extend = True1118kmi.properties.open = False1119kmi = km.keymap_items.new('file.select', 'RIGHTMOUSE', 'CLICK', alt=True)1120kmi.properties.extend = True1121kmi.properties.fill = True1122kmi.properties.open = False1123kmi = km.keymap_items.new('file.select_all_toggle', 'A', 'PRESS', ctrl=True)1124kmi = km.keymap_items.new('file.refresh', 'NUMPAD_PERIOD', 'PRESS')1125kmi = km.keymap_items.new('file.select_border', 'B', 'PRESS')1126kmi = km.keymap_items.new('file.select_border', 'EVT_TWEAK_L', 'ANY')1127kmi = km.keymap_items.new('file.rename', 'LEFTMOUSE', 'PRESS', ctrl=True)1128kmi = km.keymap_items.new('file.highlight', 'MOUSEMOVE', 'ANY', any=True)1129kmi = km.keymap_items.new('file.filenum', 'NUMPAD_PLUS', 'PRESS')1130kmi.properties.increment = 11131kmi = km.keymap_items.new('file.filenum', 'NUMPAD_PLUS', 'PRESS', shift=True)1132kmi.properties.increment = 101133kmi = km.keymap_items.new('file.filenum', 'NUMPAD_PLUS', 'PRESS', ctrl=True)1134kmi.properties.increment = 1001135kmi = km.keymap_items.new('file.filenum', 'NUMPAD_MINUS', 'PRESS')1136kmi.properties.increment = -11137kmi = km.keymap_items.new('file.filenum', 'NUMPAD_MINUS', 'PRESS', shift=True)1138kmi.properties.increment = -101139kmi = km.keymap_items.new('file.filenum', 'NUMPAD_MINUS', 'PRESS', ctrl=True)1140kmi.properties.increment = -1001141# Map Dopesheet1142km = kc.keymaps.new('Dopesheet', space_type='DOPESHEET_EDITOR', region_type='WINDOW', modal=False)1143kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS')1144kmi.properties.extend = False1145kmi.properties.column = False1146kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', alt=True)1147kmi.properties.extend = False1148kmi.properties.column = True1149kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', shift=True)1150kmi.properties.extend = True1151kmi.properties.column = False1152kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)1153kmi.properties.extend = True1154kmi.properties.column = True1155kmi = km.keymap_items.new('action.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)1156kmi.properties.mode = 'CHECK'1157kmi.properties.extend = False1158kmi = km.keymap_items.new('action.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)1159kmi.properties.mode = 'CHECK'1160kmi.properties.extend = True1161kmi = km.keymap_items.new('action.select_leftright', 'LEFT_BRACKET', 'PRESS')1162kmi.properties.mode = 'LEFT'1163kmi.properties.extend = False1164kmi = km.keymap_items.new('action.select_leftright', 'RIGHT_BRACKET', 'PRESS')1165kmi.properties.mode = 'RIGHT'1166kmi.properties.extend = False1167kmi = km.keymap_items.new('action.select_all_toggle', 'A', 'PRESS', ctrl=True)1168kmi.properties.invert = False1169kmi = km.keymap_items.new('action.select_all_toggle', 'I', 'PRESS', ctrl=True)1170kmi.properties.invert = True1171kmi = km.keymap_items.new('action.select_border', 'B', 'PRESS')1172kmi.properties.axis_range = False1173kmi = km.keymap_items.new('action.select_border', 'B', 'PRESS', alt=True)1174kmi.properties.axis_range = True1175kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS')1176kmi.properties.mode = 'KEYS'1177kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', ctrl=True)1178kmi.properties.mode = 'CFRA'1179kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', shift=True)1180kmi.properties.mode = 'MARKERS_COLUMN'1181kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', alt=True)1182kmi.properties.mode = 'MARKERS_BETWEEN'1183kmi = km.keymap_items.new('action.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)1184kmi = km.keymap_items.new('action.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)1185kmi = km.keymap_items.new('action.select_linked', 'L', 'PRESS')1186kmi = km.keymap_items.new('action.frame_jump', 'G', 'PRESS', ctrl=True)1187kmi = km.keymap_items.new('action.snap', 'S', 'PRESS', shift=True)1188kmi = km.keymap_items.new('action.mirror', 'M', 'PRESS', shift=True)1189kmi = km.keymap_items.new('action.handle_type', 'V', 'PRESS')1190kmi = km.keymap_items.new('action.interpolation_type', 'T', 'PRESS')1191kmi = km.keymap_items.new('action.extrapolation_type', 'E', 'PRESS', shift=True)1192kmi = km.keymap_items.new('action.keyframe_type', 'R', 'PRESS')1193kmi = km.keymap_items.new('action.clean', 'O', 'PRESS')1194kmi = km.keymap_items.new('action.sample', 'O', 'PRESS', shift=True)1195kmi = km.keymap_items.new('action.delete', 'X', 'PRESS')1196kmi = km.keymap_items.new('action.delete', 'DEL', 'PRESS')1197kmi = km.keymap_items.new('action.duplicate_move', 'D', 'PRESS', shift=True)1198kmi = km.keymap_items.new('action.keyframe_insert', 'I', 'PRESS')1199kmi = km.keymap_items.new('action.copy', 'C', 'PRESS', ctrl=True)1200kmi = km.keymap_items.new('action.paste', 'V', 'PRESS', ctrl=True)1201kmi = km.keymap_items.new('action.previewrange_set', 'P', 'PRESS', ctrl=True, alt=True)1202kmi = km.keymap_items.new('action.view_all', 'HOME', 'PRESS')1203kmi = km.keymap_items.new('action.view_selected', 'NUMPAD_PERIOD', 'PRESS')1204kmi = km.keymap_items.new('anim.channels_editable_toggle', 'TAB', 'PRESS')1205kmi = km.keymap_items.new('transform.transform', 'G', 'PRESS')1206kmi.properties.mode = 'TIME_TRANSLATE'1207kmi = km.keymap_items.new('transform.transform', 'EVT_TWEAK_S', 'ANY')1208kmi.properties.mode = 'TIME_TRANSLATE'1209kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')1210kmi.properties.mode = 'TIME_EXTEND'1211kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS')1212kmi.properties.mode = 'TIME_SCALE'1213kmi = km.keymap_items.new('transform.transform', 'T', 'PRESS', shift=True)1214kmi.properties.mode = 'TIME_SLIDE'1215kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')1216kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)1217# Map NLA Editor1218km = kc.keymaps.new('NLA Editor', space_type='NLA_EDITOR', region_type='WINDOW', modal=False)1219kmi = km.keymap_items.new('nla.click_select', 'SELECTMOUSE', 'PRESS')1220kmi.properties.extend = False1221kmi = km.keymap_items.new('nla.click_select', 'SELECTMOUSE', 'PRESS', shift=True)1222kmi.properties.extend = True1223kmi = km.keymap_items.new('nla.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)1224kmi.properties.mode = 'CHECK'1225kmi.properties.extend = False1226kmi = km.keymap_items.new('nla.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)1227kmi.properties.mode = 'CHECK'1228kmi.properties.extend = True1229kmi = km.keymap_items.new('nla.select_leftright', 'LEFT_BRACKET', 'PRESS')1230kmi.properties.mode = 'LEFT'1231kmi.properties.extend = False1232kmi = km.keymap_items.new('nla.select_leftright', 'RIGHT_BRACKET', 'PRESS')1233kmi.properties.mode = 'RIGHT'1234kmi.properties.extend = False1235kmi = km.keymap_items.new('nla.select_all_toggle', 'A', 'PRESS', ctrl=True)1236kmi.properties.invert = False1237kmi = km.keymap_items.new('nla.select_all_toggle', 'I', 'PRESS', ctrl=True)1238kmi.properties.invert = True1239kmi = km.keymap_items.new('nla.select_border', 'B', 'PRESS')1240kmi.properties.axis_range = False1241kmi = km.keymap_items.new('nla.select_border', 'B', 'PRESS', alt=True)1242kmi.properties.axis_range = True1243kmi = km.keymap_items.new('nla.view_all', 'HOME', 'PRESS')1244kmi = km.keymap_items.new('nla.view_selected', 'NUMPAD_PERIOD', 'PRESS')1245kmi = km.keymap_items.new('nla.tweakmode_enter', 'TAB', 'PRESS')1246kmi = km.keymap_items.new('nla.tweakmode_exit', 'TAB', 'PRESS')1247kmi = km.keymap_items.new('nla.actionclip_add', 'A', 'PRESS', shift=True)1248kmi = km.keymap_items.new('nla.transition_add', 'T', 'PRESS', shift=True)1249kmi = km.keymap_items.new('nla.soundclip_add', 'K', 'PRESS', shift=True)1250kmi = km.keymap_items.new('nla.meta_add', 'G', 'PRESS', shift=True)1251kmi = km.keymap_items.new('nla.meta_remove', 'G', 'PRESS', alt=True)1252kmi = km.keymap_items.new('nla.duplicate', 'D', 'PRESS', shift=True)1253kmi = km.keymap_items.new('nla.delete', 'X', 'PRESS')1254kmi = km.keymap_items.new('nla.delete', 'DEL', 'PRESS')1255kmi = km.keymap_items.new('nla.split', 'Y', 'PRESS')1256kmi = km.keymap_items.new('nla.mute_toggle', 'H', 'PRESS')1257kmi = km.keymap_items.new('nla.swap', 'F', 'PRESS', alt=True)1258kmi = km.keymap_items.new('nla.move_up', 'PAGE_UP', 'PRESS')1259kmi = km.keymap_items.new('nla.move_down', 'PAGE_DOWN', 'PRESS')1260kmi = km.keymap_items.new('nla.apply_scale', 'A', 'PRESS', shift=True, ctrl=True)1261kmi = km.keymap_items.new('nla.clear_scale', 'S', 'PRESS', alt=True)1262kmi = km.keymap_items.new('nla.snap', 'S', 'PRESS', shift=True)1263kmi = km.keymap_items.new('nla.fmodifier_add', 'M', 'PRESS', shift=True, ctrl=True)1264kmi = km.keymap_items.new('transform.transform', 'G', 'PRESS')1265kmi.properties.mode = 'TRANSLATION'1266kmi = km.keymap_items.new('transform.transform', 'EVT_TWEAK_S', 'ANY')1267kmi.properties.mode = 'TRANSLATION'1268kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')1269kmi.properties.mode = 'TIME_EXTEND'1270kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS')1271kmi.properties.mode = 'TIME_SCALE'1272kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')1273kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)1274# Map Sequencer1275km = kc.keymaps.new('Sequencer', space_type='SEQUENCE_EDITOR', region_type='WINDOW', modal=False)1276kmi = km.keymap_items.new('sequencer.select_all', 'A', 'PRESS', ctrl=True)1277kmi.properties.action = 'TOGGLE'1278kmi = km.keymap_items.new('sequencer.select_all', 'I', 'PRESS', ctrl=True)1279kmi.properties.action = 'INVERT'1280kmi = km.keymap_items.new('sequencer.cut', 'K', 'PRESS')1281kmi.properties.type = 'SOFT'1282kmi = km.keymap_items.new('sequencer.cut', 'K', 'PRESS', shift=True)1283kmi.properties.type = 'HARD'1284kmi = km.keymap_items.new('sequencer.mute', 'H', 'PRESS')1285kmi.properties.unselected = False1286kmi = km.keymap_items.new('sequencer.mute', 'H', 'PRESS', shift=True)1287kmi.properties.unselected = True1288kmi = km.keymap_items.new('sequencer.unmute', 'H', 'PRESS', alt=True)1289kmi.properties.unselected = False1290kmi = km.keymap_items.new('sequencer.unmute', 'H', 'PRESS', shift=True, alt=True)1291kmi.properties.unselected = True1292kmi = km.keymap_items.new('sequencer.lock', 'L', 'PRESS', shift=True)1293kmi = km.keymap_items.new('sequencer.unlock', 'L', 'PRESS', shift=True, alt=True)1294kmi = km.keymap_items.new('sequencer.reassign_inputs', 'R', 'PRESS')1295kmi = km.keymap_items.new('sequencer.reload', 'R', 'PRESS', alt=True)1296kmi = km.keymap_items.new('sequencer.reload', 'R', 'PRESS', shift=True, alt=True)1297kmi.properties.adjust_length = True1298kmi = km.keymap_items.new('sequencer.offset_clear', 'O', 'PRESS', alt=True)1299kmi = km.keymap_items.new('sequencer.duplicate_move', 'D', 'PRESS', shift=True)1300kmi = km.keymap_items.new('sequencer.delete', 'X', 'PRESS')1301kmi = km.keymap_items.new('sequencer.delete', 'DEL', 'PRESS')1302kmi = km.keymap_items.new('sequencer.copy', 'C', 'PRESS', ctrl=True)1303kmi = km.keymap_items.new('sequencer.paste', 'V', 'PRESS', ctrl=True)1304kmi = km.keymap_items.new('sequencer.images_separate', 'Y', 'PRESS')1305kmi = km.keymap_items.new('sequencer.meta_toggle', 'TAB', 'PRESS')1306kmi = km.keymap_items.new('sequencer.meta_make', 'G', 'PRESS', ctrl=True)1307kmi = km.keymap_items.new('sequencer.meta_separate', 'G', 'PRESS', alt=True)1308kmi = km.keymap_items.new('sequencer.view_all', 'HOME', 'PRESS')1309kmi = km.keymap_items.new('sequencer.view_selected', 'NUMPAD_PERIOD', 'PRESS')1310kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_UP', 'PRESS')1311kmi.properties.next = True1312kmi.properties.center = False1313kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_DOWN', 'PRESS')1314kmi.properties.next = False1315kmi.properties.center = False1316kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_UP', 'PRESS', alt=True)1317kmi.properties.next = True1318kmi.properties.center = True1319kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_DOWN', 'PRESS', alt=True)1320kmi.properties.next = False1321kmi.properties.center = True1322kmi = km.keymap_items.new('sequencer.swap', 'LEFT_ARROW', 'PRESS', alt=True)1323kmi.properties.side = 'LEFT'1324kmi = km.keymap_items.new('sequencer.swap', 'RIGHT_ARROW', 'PRESS', alt=True)1325kmi.properties.side = 'RIGHT'1326kmi = km.keymap_items.new('sequencer.gap_remove', 'BACK_SPACE', 'PRESS')1327kmi.properties.all = False1328kmi = km.keymap_items.new('sequencer.gap_remove', 'BACK_SPACE', 'PRESS', shift=True)1329kmi.properties.all = True1330kmi = km.keymap_items.new('sequencer.gap_insert', 'EQUAL', 'PRESS', shift=True)1331kmi = km.keymap_items.new('sequencer.snap', 'S', 'PRESS', shift=True)1332kmi = km.keymap_items.new('sequencer.swap_inputs', 'S', 'PRESS', alt=True)1333kmi = km.keymap_items.new('sequencer.cut_multicam', 'ONE', 'PRESS')1334kmi.properties.camera = 11335kmi = km.keymap_items.new('sequencer.cut_multicam', 'TWO', 'PRESS')1336kmi.properties.camera = 21337kmi = km.keymap_items.new('sequencer.cut_multicam', 'THREE', 'PRESS')1338kmi.properties.camera = 31339kmi = km.keymap_items.new('sequencer.cut_multicam', 'FOUR', 'PRESS')1340kmi.properties.camera = 41341kmi = km.keymap_items.new('sequencer.cut_multicam', 'FIVE', 'PRESS')1342kmi.properties.camera = 51343kmi = km.keymap_items.new('sequencer.cut_multicam', 'SIX', 'PRESS')1344kmi.properties.camera = 61345kmi = km.keymap_items.new('sequencer.cut_multicam', 'SEVEN', 'PRESS')1346kmi.properties.camera = 71347kmi = km.keymap_items.new('sequencer.cut_multicam', 'EIGHT', 'PRESS')1348kmi.properties.camera = 81349kmi = km.keymap_items.new('sequencer.cut_multicam', 'NINE', 'PRESS')1350kmi.properties.camera = 91351kmi = km.keymap_items.new('sequencer.cut_multicam', 'ZERO', 'PRESS')1352kmi.properties.camera = 101353kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS')1354kmi.properties.extend = False1355kmi.properties.linked_handle = False1356kmi.properties.left_right = 'NONE'1357kmi.properties.linked_time = False1358kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True)1359kmi.properties.extend = True1360kmi.properties.linked_handle = False1361kmi.properties.left_right = 'NONE'1362kmi.properties.linked_time = False1363kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', alt=True)1364kmi.properties.extend = False1365kmi.properties.linked_handle = True1366kmi.properties.left_right = 'NONE'1367kmi.properties.linked_time = False1368kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)1369kmi.properties.extend = True1370kmi.properties.linked_handle = True1371kmi.properties.left_right = 'NONE'1372kmi.properties.linked_time = False1373kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', ctrl=True)1374kmi.properties.extend = False1375kmi.properties.linked_handle = False1376kmi.properties.left_right = 'MOUSE'1377kmi.properties.linked_time = True1378kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)1379kmi.properties.extend = True1380kmi.properties.linked_handle = False1381kmi.properties.left_right = 'NONE'1382kmi.properties.linked_time = True1383kmi = km.keymap_items.new('sequencer.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)1384kmi = km.keymap_items.new('sequencer.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)1385kmi = km.keymap_items.new('sequencer.select_linked_pick', 'L', 'PRESS')1386kmi.properties.extend = False1387kmi = km.keymap_items.new('sequencer.select_linked_pick', 'L', 'PRESS', shift=True)1388kmi.properties.extend = True1389kmi = km.keymap_items.new('sequencer.select_linked', 'L', 'PRESS', ctrl=True)1390kmi = km.keymap_items.new('sequencer.select_border', 'B', 'PRESS')1391kmi = km.keymap_items.new('sequencer.select_grouped', 'G', 'PRESS', shift=True)1392kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)1393kmi.properties.name = 'SEQUENCER_MT_add'1394kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS')1395kmi.properties.name = 'SEQUENCER_MT_change'1396kmi = km.keymap_items.new('wm.context_set_int', 'O', 'PRESS')1397kmi.properties.data_path = 'scene.sequence_editor.overlay_frame'1398kmi.properties.value = 01399kmi = km.keymap_items.new('transform.seq_slide', 'G', 'PRESS')1400kmi = km.keymap_items.new('transform.seq_slide', 'EVT_TWEAK_S', 'ANY')1401kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')1402kmi.properties.mode = 'TIME_EXTEND'1403kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')1404kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)1405# Map Clip Editor1406km = kc.keymaps.new('Clip Editor', space_type='CLIP_EDITOR', region_type='WINDOW', modal=False)1407kmi = km.keymap_items.new('clip.view_pan', 'MIDDLEMOUSE', 'PRESS')1408kmi = km.keymap_items.new('clip.view_pan', 'MIDDLEMOUSE', 'PRESS', shift=True)1409kmi = km.keymap_items.new('clip.view_pan', 'TRACKPADPAN', 'ANY')1410kmi = km.keymap_items.new('clip.view_zoom', 'MIDDLEMOUSE', 'PRESS', ctrl=True)1411kmi = km.keymap_items.new('clip.view_zoom', 'TRACKPADZOOM', 'ANY')1412kmi = km.keymap_items.new('clip.view_zoom', 'TRACKPADPAN', 'ANY', ctrl=True)1413kmi = km.keymap_items.new('clip.view_zoom_in', 'WHEELINMOUSE', 'PRESS')1414kmi = km.keymap_items.new('clip.view_zoom_out', 'WHEELOUTMOUSE', 'PRESS')1415kmi = km.keymap_items.new('clip.view_zoom_in', 'NUMPAD_PLUS', 'PRESS')1416kmi = km.keymap_items.new('clip.view_zoom_out', 'NUMPAD_MINUS', 'PRESS')1417kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS', ctrl=True)1418kmi.properties.ratio = 8.01419kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS', ctrl=True)1420kmi.properties.ratio = 4.01421kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS', ctrl=True)1422kmi.properties.ratio = 2.01423kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS', shift=True)1424kmi.properties.ratio = 8.01425kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS', shift=True)1426kmi.properties.ratio = 4.01427kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS', shift=True)1428kmi.properties.ratio = 2.01429kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_1', 'PRESS')1430kmi.properties.ratio = 1.01431kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS')1432kmi.properties.ratio = 0.51433kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS')1434kmi.properties.ratio = 0.251435kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS')1436kmi.properties.ratio = 0.1251437kmi = km.keymap_items.new('clip.view_all', 'HOME', 'PRESS')1438kmi = km.keymap_items.new('clip.view_all', 'F', 'PRESS')1439kmi.properties.fit_view = True1440kmi = km.keymap_items.new('clip.view_selected', 'NUMPAD_PERIOD', 'PRESS')1441kmi = km.keymap_items.new('clip.view_all', 'NDOF_BUTTON_FIT', 'PRESS')1442kmi = km.keymap_items.new('clip.view_ndof', 'NDOF_MOTION', 'ANY')1443kmi = km.keymap_items.new('clip.frame_jump', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True)1444kmi.properties.position = 'PATHSTART'1445kmi = km.keymap_items.new('clip.frame_jump', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True)1446kmi.properties.position = 'PATHEND'1447kmi = km.keymap_items.new('clip.frame_jump', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)1448kmi.properties.position = 'FAILEDPREV'1449kmi = km.keymap_items.new('clip.frame_jump', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)1450kmi.properties.position = 'PATHSTART'1451kmi = km.keymap_items.new('clip.change_frame', 'LEFTMOUSE', 'PRESS')1452kmi = km.keymap_items.new('clip.select', 'SELECTMOUSE', 'PRESS')1453kmi.properties.extend = False1454kmi = km.keymap_items.new('clip.select', 'SELECTMOUSE', 'PRESS', shift=True)1455kmi.properties.extend = True1456kmi = km.keymap_items.new('clip.select_all', 'A', 'PRESS', ctrl=True)1457kmi.properties.action = 'TOGGLE'1458kmi = km.keymap_items.new('clip.select_all', 'I', 'PRESS', ctrl=True)1459kmi.properties.action = 'INVERT'1460kmi = km.keymap_items.new('clip.select_border', 'B', 'PRESS')1461kmi = km.keymap_items.new('clip.select_circle', 'C', 'PRESS')1462kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', shift=True)1463kmi.properties.name = 'CLIP_MT_select_grouped'1464kmi = km.keymap_items.new('clip.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)1465kmi.properties.deselect = False1466kmi = km.keymap_items.new('clip.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)1467kmi.properties.deselect = True1468kmi = km.keymap_items.new('clip.add_marker_slide', 'LEFTMOUSE', 'PRESS', ctrl=True)1469kmi = km.keymap_items.new('clip.delete_marker', 'DEL', 'PRESS', shift=True)1470kmi = km.keymap_items.new('clip.delete_marker', 'X', 'PRESS', shift=True)1471kmi = km.keymap_items.new('clip.slide_marker', 'LEFTMOUSE', 'PRESS')1472kmi = km.keymap_items.new('clip.disable_markers', 'D', 'PRESS', shift=True)1473kmi.properties.action = 'TOGGLE'1474kmi = km.keymap_items.new('clip.delete_track', 'DEL', 'PRESS')1475kmi = km.keymap_items.new('clip.delete_track', 'X', 'PRESS')1476kmi = km.keymap_items.new('clip.lock_tracks', 'L', 'PRESS', ctrl=True)1477kmi.properties.action = 'LOCK'1478kmi = km.keymap_items.new('clip.lock_tracks', 'L', 'PRESS', alt=True)1479kmi.properties.action = 'UNLOCK'1480kmi = km.keymap_items.new('clip.hide_tracks', 'H', 'PRESS')1481kmi.properties.unselected = False1482kmi = km.keymap_items.new('clip.hide_tracks', 'H', 'PRESS', shift=True)1483kmi.properties.unselected = True1484kmi = km.keymap_items.new('clip.hide_tracks_clear', 'H', 'PRESS', alt=True)1485kmi = km.keymap_items.new('clip.join_tracks', 'J', 'PRESS', ctrl=True)1486kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')1487kmi.properties.name = 'CLIP_MT_tracking_specials'1488kmi = km.keymap_items.new('wm.context_toggle', 'L', 'PRESS')1489kmi.properties.data_path = 'space_data.lock_selection'1490kmi = km.keymap_items.new('wm.context_toggle', 'D', 'PRESS', alt=True)1491kmi.properties.data_path = 'space_data.show_disabled'1492kmi = km.keymap_items.new('wm.context_toggle', 'S', 'PRESS', alt=True)1493kmi.properties.data_path = 'space_data.show_marker_search'1494kmi = km.keymap_items.new('wm.context_toggle', 'M', 'PRESS')1495kmi.properties.data_path = 'space_data.use_mute_footage'1496kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')1497kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')1498kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')1499kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')1500kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', alt=True)1501kmi.properties.action = 'REMAINED'1502kmi.properties.clear_active = False1503kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True)1504kmi.properties.action = 'UPTO'1505kmi.properties.clear_active = False1506kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True, alt=True)1507kmi.properties.action = 'ALL'1508kmi.properties.clear_active = False1509# Map Clip Graph Editor1510km = kc.keymaps.new('Clip Graph Editor', space_type='CLIP_EDITOR', region_type='WINDOW', modal=False)1511kmi = km.keymap_items.new('clip.change_frame', 'ACTIONMOUSE', 'PRESS')1512kmi = km.keymap_items.new('clip.graph_select', 'SELECTMOUSE', 'PRESS')1513kmi.properties.extend = False1514kmi = km.keymap_items.new('clip.graph_select', 'SELECTMOUSE', 'PRESS', shift=True)1515kmi.properties.extend = True1516kmi = km.keymap_items.new('clip.graph_select_all_markers', 'A', 'PRESS', ctrl=True)1517kmi.properties.action = 'TOGGLE'1518kmi = km.keymap_items.new('clip.graph_select_all_markers', 'I', 'PRESS', ctrl=True)1519kmi.properties.action = 'INVERT'1520kmi = km.keymap_items.new('clip.graph_select_border', 'B', 'PRESS')1521kmi = km.keymap_items.new('clip.graph_delete_curve', 'DEL', 'PRESS')1522kmi = km.keymap_items.new('clip.graph_delete_curve', 'X', 'PRESS')1523kmi = km.keymap_items.new('clip.graph_delete_knot', 'DEL', 'PRESS', shift=True)1524kmi = km.keymap_items.new('clip.graph_delete_knot', 'X', 'PRESS', shift=True)1525kmi = km.keymap_items.new('clip.graph_view_all', 'HOME', 'PRESS')1526kmi = km.keymap_items.new('clip.graph_center_current_frame', 'NUMPAD_PERIOD', 'PRESS')1527kmi = km.keymap_items.new('wm.context_toggle', 'L', 'PRESS')1528kmi.properties.data_path = 'space_data.lock_time_cursor'1529kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', alt=True)1530kmi.properties.action = 'REMAINED'1531kmi.properties.clear_active = True1532kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True)1533kmi.properties.action = 'UPTO'1534kmi.properties.clear_active = True1535kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True, alt=True)1536kmi.properties.action = 'ALL'1537kmi.properties.clear_active = True1538kmi = km.keymap_items.new('clip.graph_disable_markers', 'D', 'PRESS', shift=True)1539kmi.properties.action = 'TOGGLE'1540kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')1541kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')1542kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')1543kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')1544# Map Image Paint1545km = kc.keymaps.new('Image Paint', space_type='EMPTY', region_type='WINDOW', modal=False)1546kmi = km.keymap_items.new('paint.image_paint', 'LEFTMOUSE', 'PRESS')1547kmi.properties.mode = 'NORMAL'1548kmi = km.keymap_items.new('paint.image_paint', 'LEFTMOUSE', 'PRESS', ctrl=True)1549kmi.properties.mode = 'INVERT'1550kmi = km.keymap_items.new('paint.grab_clone', 'RIGHTMOUSE', 'PRESS')1551kmi = km.keymap_items.new('paint.sample_color', 'RIGHTMOUSE', 'PRESS')1552kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS')1553kmi.properties.mode = 'image_paint'1554kmi.properties.index = 01555kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS')1556kmi.properties.mode = 'image_paint'1557kmi.properties.index = 11558kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS')1559kmi.properties.mode = 'image_paint'1560kmi.properties.index = 21561kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS')1562kmi.properties.mode = 'image_paint'1563kmi.properties.index = 31564kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS')1565kmi.properties.mode = 'image_paint'1566kmi.properties.index = 41567kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS')1568kmi.properties.mode = 'image_paint'1569kmi.properties.index = 51570kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS')1571kmi.properties.mode = 'image_paint'1572kmi.properties.index = 61573kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS')1574kmi.properties.mode = 'image_paint'1575kmi.properties.index = 71576kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS')1577kmi.properties.mode = 'image_paint'1578kmi.properties.index = 81579kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS')1580kmi.properties.mode = 'image_paint'1581kmi.properties.index = 91582kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS', shift=True)1583kmi.properties.mode = 'image_paint'1584kmi.properties.index = 101585kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS', shift=True)1586kmi.properties.mode = 'image_paint'1587kmi.properties.index = 111588kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS', shift=True)1589kmi.properties.mode = 'image_paint'1590kmi.properties.index = 121591kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS', shift=True)1592kmi.properties.mode = 'image_paint'1593kmi.properties.index = 131594kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS', shift=True)1595kmi.properties.mode = 'image_paint'1596kmi.properties.index = 141597kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS', shift=True)1598kmi.properties.mode = 'image_paint'1599kmi.properties.index = 151600kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS', shift=True)1601kmi.properties.mode = 'image_paint'1602kmi.properties.index = 161603kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS', shift=True)1604kmi.properties.mode = 'image_paint'1605kmi.properties.index = 171606kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS', shift=True)1607kmi.properties.mode = 'image_paint'1608kmi.properties.index = 181609kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS', shift=True)1610kmi.properties.mode = 'image_paint'1611kmi.properties.index = 191612kmi = km.keymap_items.new('brush.scale_size', 'LEFT_BRACKET', 'PRESS')1613kmi.properties.scalar = 0.89999997615814211614kmi = km.keymap_items.new('brush.scale_size', 'RIGHT_BRACKET', 'PRESS')1615kmi.properties.scalar = 1.11111116409301761616kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)1617kmi.properties.data_path_primary = 'tool_settings.image_paint.brush.size'1618kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.size'1619kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_size'1620kmi.properties.rotation_path = 'tool_settings.image_paint.brush.texture_slot.angle'1621kmi.properties.color_path = 'tool_settings.image_paint.brush.cursor_color_add'1622kmi.properties.fill_color_path = 'tool_settings.image_paint.brush.color'1623kmi.properties.zoom_path = 'space_data.zoom'1624kmi.properties.image_id = 'tool_settings.image_paint.brush'1625kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)1626kmi.properties.data_path_primary = 'tool_settings.image_paint.brush.strength'1627kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.strength'1628kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_strength'1629kmi.properties.rotation_path = 'tool_settings.image_paint.brush.texture_slot.angle'1630kmi.properties.color_path = 'tool_settings.image_paint.brush.cursor_color_add'1631kmi.properties.fill_color_path = 'tool_settings.image_paint.brush.color'1632kmi.properties.zoom_path = ''1633kmi.properties.image_id = 'tool_settings.image_paint.brush'1634kmi = km.keymap_items.new('wm.radial_control', 'W', 'PRESS')1635kmi.properties.data_path_primary = 'tool_settings.image_paint.brush.weight'1636kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.weight'1637kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_weight'1638kmi.properties.rotation_path = 'tool_settings.image_paint.brush.texture_slot.angle'1639kmi.properties.color_path = 'tool_settings.image_paint.brush.cursor_color_add'1640kmi.properties.fill_color_path = 'tool_settings.image_paint.brush.color'1641kmi.properties.zoom_path = ''1642kmi.properties.image_id = 'tool_settings.image_paint.brush'1643kmi = km.keymap_items.new('wm.context_toggle', 'M', 'PRESS')1644kmi.properties.data_path = 'image_paint_object.data.use_paint_mask'1645# Map Vertex Paint1646km = kc.keymaps.new('Vertex Paint', space_type='EMPTY', region_type='WINDOW', modal=False)1647kmi = km.keymap_items.new('paint.vertex_paint', 'LEFTMOUSE', 'PRESS')1648kmi = km.keymap_items.new('paint.sample_color', 'RIGHTMOUSE', 'PRESS')1649kmi = km.keymap_items.new('paint.vertex_color_set', 'K', 'PRESS', shift=True)1650kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS')1651kmi.properties.mode = 'vertex_paint'1652kmi.properties.index = 01653kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS')1654kmi.properties.mode = 'vertex_paint'1655kmi.properties.index = 11656kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS')1657kmi.properties.mode = 'vertex_paint'1658kmi.properties.index = 21659kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS')1660kmi.properties.mode = 'vertex_paint'1661kmi.properties.index = 31662kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS')1663kmi.properties.mode = 'vertex_paint'1664kmi.properties.index = 41665kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS')1666kmi.properties.mode = 'vertex_paint'1667kmi.properties.index = 51668kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS')1669kmi.properties.mode = 'vertex_paint'1670kmi.properties.index = 61671kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS')1672kmi.properties.mode = 'vertex_paint'1673kmi.properties.index = 71674kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS')1675kmi.properties.mode = 'vertex_paint'1676kmi.properties.index = 81677kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS')1678kmi.properties.mode = 'vertex_paint'1679kmi.properties.index = 91680kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS', shift=True)1681kmi.properties.mode = 'vertex_paint'1682kmi.properties.index = 101683kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS', shift=True)1684kmi.properties.mode = 'vertex_paint'1685kmi.properties.index = 111686kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS', shift=True)1687kmi.properties.mode = 'vertex_paint'1688kmi.properties.index = 121689kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS', shift=True)1690kmi.properties.mode = 'vertex_paint'1691kmi.properties.index = 131692kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS', shift=True)1693kmi.properties.mode = 'vertex_paint'1694kmi.properties.index = 141695kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS', shift=True)1696kmi.properties.mode = 'vertex_paint'1697kmi.properties.index = 151698kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS', shift=True)1699kmi.properties.mode = 'vertex_paint'1700kmi.properties.index = 161701kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS', shift=True)1702kmi.properties.mode = 'vertex_paint'1703kmi.properties.index = 171704kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS', shift=True)1705kmi.properties.mode = 'vertex_paint'1706kmi.properties.index = 181707kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS', shift=True)1708kmi.properties.mode = 'vertex_paint'1709kmi.properties.index = 191710kmi = km.keymap_items.new('brush.scale_size', 'LEFT_BRACKET', 'PRESS')1711kmi.properties.scalar = 0.89999997615814211712kmi = km.keymap_items.new('brush.scale_size', 'RIGHT_BRACKET', 'PRESS')1713kmi.properties.scalar = 1.11111116409301761714kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)1715kmi.properties.data_path_primary = 'tool_settings.vertex_paint.brush.size'1716kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.size'1717kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_size'1718kmi.properties.rotation_path = 'tool_settings.vertex_paint.brush.texture_slot.angle'1719kmi.properties.color_path = 'tool_settings.vertex_paint.brush.cursor_color_add'1720kmi.properties.fill_color_path = 'tool_settings.vertex_paint.brush.color'1721kmi.properties.zoom_path = ''1722kmi.properties.image_id = 'tool_settings.vertex_paint.brush'1723kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)1724kmi.properties.data_path_primary = 'tool_settings.vertex_paint.brush.strength'1725kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.strength'1726kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_strength'1727kmi.properties.rotation_path = 'tool_settings.vertex_paint.brush.texture_slot.angle'1728kmi.properties.color_path = 'tool_settings.vertex_paint.brush.cursor_color_add'1729kmi.properties.fill_color_path = 'tool_settings.vertex_paint.brush.color'1730kmi.properties.zoom_path = ''1731kmi.properties.image_id = 'tool_settings.vertex_paint.brush'1732kmi = km.keymap_items.new('wm.radial_control', 'Q', 'PRESS')1733kmi.properties.data_path_primary = 'tool_settings.vertex_paint.brush.weight'1734kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.weight'1735kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_weight'1736kmi.properties.rotation_path = 'tool_settings.vertex_paint.brush.texture_slot.angle'1737kmi.properties.color_path = 'tool_settings.vertex_paint.brush.cursor_color_add'1738kmi.properties.fill_color_path = 'tool_settings.vertex_paint.brush.color'1739kmi.properties.zoom_path = ''1740kmi.properties.image_id = 'tool_settings.vertex_paint.brush'1741kmi = km.keymap_items.new('wm.context_toggle', 'M', 'PRESS')1742kmi.properties.data_path = 'vertex_paint_object.data.use_paint_mask'1743# Map Weight Paint1744km = kc.keymaps.new('Weight Paint', space_type='EMPTY', region_type='WINDOW', modal=False)1745kmi = km.keymap_items.new('paint.weight_paint', 'LEFTMOUSE', 'PRESS')1746kmi = km.keymap_items.new('paint.weight_sample', 'ACTIONMOUSE', 'PRESS', ctrl=True)1747kmi = km.keymap_items.new('paint.weight_sample_group', 'ACTIONMOUSE', 'PRESS', shift=True)1748kmi = km.keymap_items.new('paint.weight_gradient', 'LEFTMOUSE', 'PRESS', alt=True)1749kmi.properties.type = 'LINEAR'1750kmi = km.keymap_items.new('paint.weight_gradient', 'LEFTMOUSE', 'PRESS', ctrl=True, alt=True)1751kmi.properties.type = 'RADIAL'1752kmi = km.keymap_items.new('paint.weight_set', 'K', 'PRESS', shift=True)1753kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS')1754kmi.properties.mode = 'weight_paint'1755kmi.properties.index = 01756kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS')1757kmi.properties.mode = 'weight_paint'1758kmi.properties.index = 11759kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS')1760kmi.properties.mode = 'weight_paint'1761kmi.properties.index = 21762kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS')1763kmi.properties.mode = 'weight_paint'1764kmi.properties.index = 31765kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS')1766kmi.properties.mode = 'weight_paint'1767kmi.properties.index = 41768kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS')1769kmi.properties.mode = 'weight_paint'1770kmi.properties.index = 51771kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS')1772kmi.properties.mode = 'weight_paint'1773kmi.properties.index = 61774kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS')1775kmi.properties.mode = 'weight_paint'1776kmi.properties.index = 71777kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS')1778kmi.properties.mode = 'weight_paint'1779kmi.properties.index = 81780kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS')1781kmi.properties.mode = 'weight_paint'1782kmi.properties.index = 91783kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS', shift=True)1784kmi.properties.mode = 'weight_paint'1785kmi.properties.index = 101786kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS', shift=True)1787kmi.properties.mode = 'weight_paint'1788kmi.properties.index = 111789kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS', shift=True)1790kmi.properties.mode = 'weight_paint'1791kmi.properties.index = 121792kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS', shift=True)1793kmi.properties.mode = 'weight_paint'1794kmi.properties.index = 131795kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS', shift=True)1796kmi.properties.mode = 'weight_paint'1797kmi.properties.index = 141798kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS', shift=True)1799kmi.properties.mode = 'weight_paint'1800kmi.properties.index = 151801kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS', shift=True)1802kmi.properties.mode = 'weight_paint'1803kmi.properties.index = 161804kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS', shift=True)1805kmi.properties.mode = 'weight_paint'1806kmi.properties.index = 171807kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS', shift=True)1808kmi.properties.mode = 'weight_paint'1809kmi.properties.index = 181810kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS', shift=True)1811kmi.properties.mode = 'weight_paint'1812kmi.properties.index = 191813kmi = km.keymap_items.new('brush.scale_size', 'LEFT_BRACKET', 'PRESS')1814kmi.properties.scalar = 0.89999997615814211815kmi = km.keymap_items.new('brush.scale_size', 'RIGHT_BRACKET', 'PRESS')1816kmi.properties.scalar = 1.11111116409301761817kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)1818kmi.properties.data_path_primary = 'tool_settings.weight_paint.brush.size'1819kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.size'1820kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_size'1821kmi.properties.rotation_path = 'tool_settings.weight_paint.brush.texture_slot.angle'1822kmi.properties.color_path = 'tool_settings.weight_paint.brush.cursor_color_add'1823kmi.properties.fill_color_path = ''1824kmi.properties.zoom_path = ''1825kmi.properties.image_id = 'tool_settings.weight_paint.brush'1826kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)1827kmi.properties.data_path_primary = 'tool_settings.weight_paint.brush.strength'1828kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.strength'1829kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_strength'1830kmi.properties.rotation_path = 'tool_settings.weight_paint.brush.texture_slot.angle'1831kmi.properties.color_path = 'tool_settings.weight_paint.brush.cursor_color_add'1832kmi.properties.fill_color_path = ''1833kmi.properties.zoom_path = ''1834kmi.properties.image_id = 'tool_settings.weight_paint.brush'1835kmi = km.keymap_items.new('wm.radial_control', 'Q', 'PRESS')1836kmi.properties.data_path_primary = 'tool_settings.weight_paint.brush.weight'1837kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.weight'1838kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_weight'1839kmi.properties.rotation_path = 'tool_settings.weight_paint.brush.texture_slot.angle'1840kmi.properties.color_path = 'tool_settings.weight_paint.brush.cursor_color_add'1841kmi.properties.fill_color_path = ''1842kmi.properties.zoom_path = ''1843kmi.properties.image_id = 'tool_settings.weight_paint.brush'1844kmi = km.keymap_items.new('wm.context_toggle', 'M', 'PRESS')1845kmi.properties.data_path = 'weight_paint_object.data.use_paint_mask'1846kmi = km.keymap_items.new('wm.context_toggle', 'V', 'PRESS')1847kmi.properties.data_path = 'weight_paint_object.data.use_paint_mask_vertex'1848kmi = km.keymap_items.new('paint.weight_from_bones', 'Q', 'PRESS')1849# Map Sculpt1850km = kc.keymaps.new('Sculpt', space_type='EMPTY', region_type='WINDOW', modal=False)1851kmi = km.keymap_items.new('sculpt.brush_stroke', 'LEFTMOUSE', 'PRESS')1852kmi.properties.mode = 'NORMAL'1853kmi = km.keymap_items.new('sculpt.brush_stroke', 'LEFTMOUSE', 'PRESS', ctrl=True)1854kmi.properties.mode = 'INVERT'1855kmi = km.keymap_items.new('sculpt.brush_stroke', 'LEFTMOUSE', 'PRESS', shift=True)1856kmi.properties.mode = 'SMOOTH'1857kmi = km.keymap_items.new('paint.hide_show', 'H', 'PRESS', shift=True)1858kmi.properties.action = 'SHOW'1859kmi.properties.area = 'INSIDE'1860kmi = km.keymap_items.new('paint.hide_show', 'H', 'PRESS')1861kmi.properties.action = 'HIDE'1862kmi.properties.area = 'INSIDE'1863kmi = km.keymap_items.new('paint.hide_show', 'H', 'PRESS', alt=True)1864kmi.properties.action = 'SHOW'1865kmi.properties.area = 'ALL'1866kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)1867kmi.properties.level = 01868kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)1869kmi.properties.level = 11870kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)1871kmi.properties.level = 21872kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)1873kmi.properties.level = 31874kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)1875kmi.properties.level = 41876kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)1877kmi.properties.level = 51878kmi = km.keymap_items.new('paint.mask_flood_fill', 'M', 'PRESS', alt=True)1879kmi.properties.mode = 'VALUE'1880kmi.properties.value = 0.01881kmi = km.keymap_items.new('paint.mask_flood_fill', 'I', 'PRESS', ctrl=True)1882kmi.properties.mode = 'INVERT'1883kmi = km.keymap_items.new('sculpt.dynamic_topology_toggle', 'D', 'PRESS', ctrl=True)1884kmi = km.keymap_items.new('wm.radial_control', 'D', 'PRESS', shift=True)1885kmi.properties.data_path_primary = 'tool_settings.sculpt.detail_size'1886kmi.properties.data_path_secondary = ''1887kmi.properties.use_secondary = ''1888kmi.properties.rotation_path = 'tool_settings.sculpt.brush.texture_slot.angle'1889kmi.properties.color_path = 'tool_settings.sculpt.brush.cursor_color_add'1890kmi.properties.fill_color_path = ''1891kmi.properties.zoom_path = ''1892kmi.properties.image_id = 'tool_settings.sculpt.brush'1893kmi = km.keymap_items.new('object.subdivision_set', 'PAGE_UP', 'PRESS')1894kmi.properties.level = 11895kmi.properties.relative = True1896kmi = km.keymap_items.new('object.subdivision_set', 'PAGE_DOWN', 'PRESS')1897kmi.properties.level = -11898kmi.properties.relative = True1899kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS')1900kmi.properties.mode = 'sculpt'1901kmi.properties.index = 01902kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS')1903kmi.properties.mode = 'sculpt'1904kmi.properties.index = 11905kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS')1906kmi.properties.mode = 'sculpt'1907kmi.properties.index = 21908kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS')1909kmi.properties.mode = 'sculpt'1910kmi.properties.index = 31911kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS')1912kmi.properties.mode = 'sculpt'1913kmi.properties.index = 41914kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS')1915kmi.properties.mode = 'sculpt'1916kmi.properties.index = 51917kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS')1918kmi.properties.mode = 'sculpt'1919kmi.properties.index = 61920kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS')1921kmi.properties.mode = 'sculpt'1922kmi.properties.index = 71923kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS')1924kmi.properties.mode = 'sculpt'1925kmi.properties.index = 81926kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS')1927kmi.properties.mode = 'sculpt'1928kmi.properties.index = 91929kmi = km.keymap_items.new('brush.active_index_set', 'ONE', 'PRESS', shift=True)1930kmi.properties.mode = 'sculpt'1931kmi.properties.index = 101932kmi = km.keymap_items.new('brush.active_index_set', 'TWO', 'PRESS', shift=True)1933kmi.properties.mode = 'sculpt'1934kmi.properties.index = 111935kmi = km.keymap_items.new('brush.active_index_set', 'THREE', 'PRESS', shift=True)1936kmi.properties.mode = 'sculpt'1937kmi.properties.index = 121938kmi = km.keymap_items.new('brush.active_index_set', 'FOUR', 'PRESS', shift=True)1939kmi.properties.mode = 'sculpt'1940kmi.properties.index = 131941kmi = km.keymap_items.new('brush.active_index_set', 'FIVE', 'PRESS', shift=True)1942kmi.properties.mode = 'sculpt'1943kmi.properties.index = 141944kmi = km.keymap_items.new('brush.active_index_set', 'SIX', 'PRESS', shift=True)1945kmi.properties.mode = 'sculpt'1946kmi.properties.index = 151947kmi = km.keymap_items.new('brush.active_index_set', 'SEVEN', 'PRESS', shift=True)1948kmi.properties.mode = 'sculpt'1949kmi.properties.index = 161950kmi = km.keymap_items.new('brush.active_index_set', 'EIGHT', 'PRESS', shift=True)1951kmi.properties.mode = 'sculpt'1952kmi.properties.index = 171953kmi = km.keymap_items.new('brush.active_index_set', 'NINE', 'PRESS', shift=True)1954kmi.properties.mode = 'sculpt'1955kmi.properties.index = 181956kmi = km.keymap_items.new('brush.active_index_set', 'ZERO', 'PRESS', shift=True)1957kmi.properties.mode = 'sculpt'1958kmi.properties.index = 191959kmi = km.keymap_items.new('brush.scale_size', 'LEFT_BRACKET', 'PRESS')1960kmi.properties.scalar = 0.89999997615814211961kmi = km.keymap_items.new('brush.scale_size', 'RIGHT_BRACKET', 'PRESS')1962kmi.properties.scalar = 1.11111116409301761963kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)1964kmi.properties.data_path_primary = 'tool_settings.sculpt.brush.size'1965kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.size'1966kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_size'1967kmi.properties.rotation_path = 'tool_settings.sculpt.brush.texture_slot.angle'1968kmi.properties.color_path = 'tool_settings.sculpt.brush.cursor_color_add'1969kmi.properties.fill_color_path = ''1970kmi.properties.zoom_path = ''1971kmi.properties.image_id = 'tool_settings.sculpt.brush'1972kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)1973kmi.properties.data_path_primary = 'tool_settings.sculpt.brush.strength'1974kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.strength'1975kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_strength'1976kmi.properties.rotation_path = 'tool_settings.sculpt.brush.texture_slot.angle'1977kmi.properties.color_path = 'tool_settings.sculpt.brush.cursor_color_add'1978kmi.properties.fill_color_path = ''1979kmi.properties.zoom_path = ''1980kmi.properties.image_id = 'tool_settings.sculpt.brush'1981kmi = km.keymap_items.new('wm.radial_control', 'W', 'PRESS')1982kmi.properties.data_path_primary = 'tool_settings.sculpt.brush.weight'1983kmi.properties.data_path_secondary = 'tool_settings.unified_paint_settings.weight'1984kmi.properties.use_secondary = 'tool_settings.unified_paint_settings.use_unified_weight'1985kmi.properties.rotation_path = 'tool_settings.sculpt.brush.texture_slot.angle'1986kmi.properties.color_path = 'tool_settings.sculpt.brush.cursor_color_add'1987kmi.properties.fill_color_path = ''1988kmi.properties.zoom_path = ''1989kmi.properties.image_id = 'tool_settings.sculpt.brush'1990kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)1991kmi.properties.data_path_primary = 'tool_settings.sculpt.brush.texture_slot.angle'1992kmi.properties.data_path_secondary = ''1993kmi.properties.use_secondary = ''1994kmi.properties.rotation_path = 'tool_settings.sculpt.brush.texture_slot.angle'1995kmi.properties.color_path = 'tool_settings.sculpt.brush.cursor_color_add'1996kmi.properties.fill_color_path = ''1997kmi.properties.zoom_path = ''1998kmi.properties.image_id = 'tool_settings.sculpt.brush'1999kmi = km.keymap_items.new('paint.brush_select', 'D', 'PRESS')2000kmi.properties.paint_mode = 'SCULPT'2001kmi.properties.sculpt_tool = 'DRAW'2002kmi = km.keymap_items.new('paint.brush_select', 'S', 'PRESS')2003kmi.properties.paint_mode = 'SCULPT'2004kmi.properties.sculpt_tool = 'SMOOTH'2005kmi = km.keymap_items.new('paint.brush_select', 'P', 'PRESS')2006kmi.properties.paint_mode = 'SCULPT'2007kmi.properties.sculpt_tool = 'PINCH'2008kmi = km.keymap_items.new('paint.brush_select', 'I', 'PRESS')2009kmi.properties.paint_mode = 'SCULPT'2010kmi.properties.sculpt_tool = 'INFLATE'2011kmi = km.keymap_items.new('paint.brush_select', 'G', 'PRESS')2012kmi.properties.paint_mode = 'SCULPT'2013kmi.properties.sculpt_tool = 'GRAB'2014kmi = km.keymap_items.new('paint.brush_select', 'L', 'PRESS')2015kmi.properties.paint_mode = 'SCULPT'2016kmi.properties.sculpt_tool = 'LAYER'2017kmi = km.keymap_items.new('paint.brush_select', 'T', 'PRESS', shift=True)2018kmi.properties.paint_mode = 'SCULPT'2019kmi.properties.sculpt_tool = 'FLATTEN'2020kmi = km.keymap_items.new('paint.brush_select', 'C', 'PRESS')2021kmi.properties.paint_mode = 'SCULPT'2022kmi.properties.sculpt_tool = 'CLAY'2023kmi = km.keymap_items.new('paint.brush_select', 'C', 'PRESS', shift=True)2024kmi.properties.paint_mode = 'SCULPT'2025kmi.properties.sculpt_tool = 'CREASE'2026kmi = km.keymap_items.new('paint.brush_select', 'K', 'PRESS')2027kmi.properties.paint_mode = 'SCULPT'2028kmi.properties.sculpt_tool = 'SNAKE_HOOK'2029kmi = km.keymap_items.new('paint.brush_select', 'M', 'PRESS')2030kmi.properties.paint_mode = 'SCULPT'2031kmi.properties.sculpt_tool = 'MASK'2032kmi.properties.toggle = True2033kmi.properties.create_missing = True2034kmi = km.keymap_items.new('wm.context_menu_enum', 'A', 'PRESS')2035kmi.properties.data_path = 'tool_settings.sculpt.brush.stroke_method'2036kmi = km.keymap_items.new('wm.context_toggle', 'S', 'PRESS', shift=True)2037kmi.properties.data_path = 'tool_settings.sculpt.brush.use_smooth_stroke'2038kmi = km.keymap_items.new('wm.context_menu_enum', 'R', 'PRESS')2039kmi.properties.data_path = 'tool_settings.sculpt.brush.texture_angle_source_random'2040# Map Mesh2041km = kc.keymaps.new('Mesh', space_type='EMPTY', region_type='WINDOW', modal=False)2042kmi = km.keymap_items.new('mesh.loopcut_slide', 'R', 'PRESS', ctrl=True)2043kmi = km.keymap_items.new('mesh.inset', 'I', 'PRESS')2044kmi = km.keymap_items.new('mesh.bevel', 'B', 'PRESS', ctrl=True)2045kmi.properties.vertex_only = False2046kmi = km.keymap_items.new('mesh.bevel', 'B', 'PRESS', shift=True, ctrl=True)2047kmi.properties.vertex_only = True2048kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', alt=True)2049kmi.properties.extend = False2050kmi.properties.deselect = False2051kmi.properties.toggle = False2052kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)2053kmi.properties.extend = False2054kmi.properties.deselect = False2055kmi.properties.toggle = True2056kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)2057kmi.properties.extend = False2058kmi.properties.deselect = False2059kmi.properties.toggle = False2060kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)2061kmi.properties.extend = False2062kmi.properties.deselect = False2063kmi.properties.toggle = True2064kmi = km.keymap_items.new('mesh.shortest_path_pick', 'SELECTMOUSE', 'PRESS', ctrl=True)2065kmi = km.keymap_items.new('mesh.select_all', 'I', 'PRESS', ctrl=True)2066kmi.properties.action = 'INVERT'2067kmi = km.keymap_items.new('mesh.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)2068kmi = km.keymap_items.new('mesh.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)2069kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'PRESS', shift=True, ctrl=True, alt=True)2070kmi = km.keymap_items.new('mesh.select_linked', 'L', 'PRESS', ctrl=True)2071kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', alt=True)2072kmi.properties.deselect = False2073kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', shift=True)2074kmi.properties.deselect = True2075kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'PRESS', shift=True, ctrl=True, alt=True)2076kmi = km.keymap_items.new('mesh.select_similar', 'G', 'PRESS', shift=True)2077kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)2078kmi.properties.name = 'VIEW3D_MT_edit_mesh_select_mode'2079kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS')2080kmi.properties.unselected = False2081kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS', shift=True)2082kmi.properties.unselected = True2083kmi = km.keymap_items.new('mesh.reveal', 'H', 'PRESS', alt=True)2084kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', ctrl=True)2085kmi.properties.inside = False2086kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', shift=True, ctrl=True)2087kmi.properties.inside = True2088kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'PRESS')2089kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', alt=True)2090kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'2091kmi = km.keymap_items.new('transform.edge_crease', 'E', 'PRESS', shift=True)2092kmi = km.keymap_items.new('mesh.spin', 'R', 'PRESS', alt=True)2093kmi = km.keymap_items.new('mesh.fill', 'F', 'PRESS', alt=True)2094kmi = km.keymap_items.new('mesh.beautify_fill', 'F', 'PRESS', shift=True, alt=True)2095kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', ctrl=True)2096kmi.properties.quad_method = 'BEAUTY'2097kmi.properties.ngon_method = 'BEAUTY'2098kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', shift=True, ctrl=True)2099kmi.properties.quad_method = 'FIXED'2100kmi.properties.ngon_method = 'CLIP'2101kmi = km.keymap_items.new('mesh.tris_convert_to_quads', 'J', 'PRESS', alt=True)2102kmi = km.keymap_items.new('mesh.rip_move', 'V', 'PRESS')2103kmi = km.keymap_items.new('mesh.rip_move_fill', 'V', 'PRESS', alt=True)2104kmi = km.keymap_items.new('mesh.merge', 'M', 'PRESS', alt=True)2105kmi = km.keymap_items.new('transform.shrink_fatten', 'S', 'PRESS', alt=True)2106kmi = km.keymap_items.new('mesh.edge_face_add', 'F', 'PRESS', ctrl=True)2107kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'PRESS', shift=True)2108kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)2109kmi.properties.name = 'INFO_MT_mesh_add'2110kmi = km.keymap_items.new('mesh.separate', 'P', 'PRESS')2111kmi = km.keymap_items.new('mesh.split', 'Y', 'PRESS')2112kmi = km.keymap_items.new('mesh.vert_connect', 'J', 'PRESS')2113kmi = km.keymap_items.new('transform.vert_slide', 'V', 'PRESS', shift=True)2114kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)2115kmi.properties.rotate_source = True2116kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)2117kmi.properties.rotate_source = False2118kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')2119kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'2120kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')2121kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'2122kmi = km.keymap_items.new('mesh.knife_tool', 'K', 'PRESS')2123kmi.properties.use_occlude_geometry = True2124kmi.properties.only_selected = False2125kmi = km.keymap_items.new('mesh.knife_tool', 'K', 'PRESS', shift=True)2126kmi.properties.use_occlude_geometry = False2127kmi.properties.only_selected = True2128kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)2129kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')2130kmi.properties.name = 'VIEW3D_MT_edit_mesh_specials'2131kmi = km.keymap_items.new('wm.call_menu', 'F', 'PRESS', ctrl=True)2132kmi.properties.name = 'VIEW3D_MT_edit_mesh_faces'2133kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', ctrl=True)2134kmi.properties.name = 'VIEW3D_MT_edit_mesh_edges'2135kmi = km.keymap_items.new('wm.call_menu', 'V', 'PRESS', ctrl=True)2136kmi.properties.name = 'VIEW3D_MT_edit_mesh_vertices'2137kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)2138kmi.properties.name = 'VIEW3D_MT_hook'2139kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')2140kmi.properties.name = 'VIEW3D_MT_uv_map'2141kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', ctrl=True)2142kmi.properties.name = 'VIEW3D_MT_vertex_group'2143kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)2144kmi.properties.level = 02145kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)2146kmi.properties.level = 12147kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)2148kmi.properties.level = 22149kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)2150kmi.properties.level = 32151kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)2152kmi.properties.level = 42153kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)2154kmi.properties.level = 52155kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)2156kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'2157kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')2158kmi.properties.data_path = 'tool_settings.proportional_edit'2159kmi.properties.value_1 = 'DISABLED'2160kmi.properties.value_2 = 'ENABLED'2161kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)2162kmi.properties.data_path = 'tool_settings.proportional_edit'2163kmi.properties.value_1 = 'DISABLED'2164kmi.properties.value_2 = 'CONNECTED'2165kmi = km.keymap_items.new('wm.context_set_value', 'ONE', 'PRESS')2166kmi.properties.data_path = 'tool_settings.mesh_select_mode'2167kmi.properties.value = '(True,False,False)'2168kmi = km.keymap_items.new('wm.context_set_value', 'TWO', 'PRESS')2169kmi.properties.data_path = 'tool_settings.mesh_select_mode'2170kmi.properties.value = '(False,True,False)'2171kmi = km.keymap_items.new('wm.context_set_value', 'THREE', 'PRESS')2172kmi.properties.data_path = 'tool_settings.mesh_select_mode'2173kmi.properties.value = '(False,False,True)'2174# Map Curve2175km = kc.keymaps.new('Curve', space_type='EMPTY', region_type='WINDOW', modal=False)2176kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)2177kmi.properties.name = 'INFO_MT_edit_curve_add'2178kmi = km.keymap_items.new('curve.handle_type_set', 'V', 'PRESS')2179kmi = km.keymap_items.new('curve.vertex_add', 'LEFTMOUSE', 'CLICK', ctrl=True)2180kmi = km.keymap_items.new('curve.select_all', 'LEFTMOUSE', 'CLICK')2181kmi.properties.action = 'TOGGLE'2182kmi = km.keymap_items.new('curve.select_all', 'I', 'PRESS', ctrl=True)2183kmi.properties.action = 'INVERT'2184kmi = km.keymap_items.new('curve.select_row', 'R', 'PRESS', shift=True)2185kmi = km.keymap_items.new('curve.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)2186kmi = km.keymap_items.new('curve.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)2187kmi = km.keymap_items.new('curve.select_linked', 'L', 'PRESS', ctrl=True)2188kmi = km.keymap_items.new('curve.select_linked_pick', 'L', 'PRESS')2189kmi.properties.deselect = False2190kmi = km.keymap_items.new('curve.select_linked_pick', 'L', 'PRESS', shift=True)2191kmi.properties.deselect = True2192kmi = km.keymap_items.new('curve.separate', 'P', 'PRESS')2193kmi = km.keymap_items.new('curve.extrude_move', 'E', 'PRESS')2194kmi = km.keymap_items.new('curve.duplicate_move', 'D', 'PRESS', shift=True)2195kmi = km.keymap_items.new('curve.make_segment', 'F', 'PRESS', ctrl=True)2196kmi = km.keymap_items.new('curve.cyclic_toggle', 'C', 'PRESS', alt=True)2197kmi = km.keymap_items.new('curve.delete', 'X', 'PRESS')2198kmi = km.keymap_items.new('curve.delete', 'DEL', 'PRESS')2199kmi = km.keymap_items.new('curve.tilt_clear', 'T', 'PRESS', alt=True)2200kmi = km.keymap_items.new('transform.tilt', 'T', 'PRESS', ctrl=True)2201kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', alt=True)2202kmi.properties.mode = 'CURVE_SHRINKFATTEN'2203kmi = km.keymap_items.new('curve.reveal', 'H', 'PRESS', alt=True)2204kmi = km.keymap_items.new('curve.hide', 'H', 'PRESS')2205kmi.properties.unselected = False2206kmi = km.keymap_items.new('curve.hide', 'H', 'PRESS', shift=True)2207kmi.properties.unselected = True2208kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)2209kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')2210kmi.properties.name = 'VIEW3D_MT_edit_curve_specials'2211kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)2212kmi.properties.name = 'VIEW3D_MT_hook'2213kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)2214kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'2215kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')2216kmi.properties.data_path = 'tool_settings.proportional_edit'2217kmi.properties.value_1 = 'DISABLED'2218kmi.properties.value_2 = 'ENABLED'2219kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)2220kmi.properties.data_path = 'tool_settings.proportional_edit'2221kmi.properties.value_1 = 'DISABLED'2222kmi.properties.value_2 = 'CONNECTED'2223# Map Armature2224km = kc.keymaps.new('Armature', space_type='EMPTY', region_type='WINDOW', modal=False)2225kmi = km.keymap_items.new('sketch.delete', 'X', 'PRESS')2226kmi = km.keymap_items.new('sketch.delete', 'DEL', 'PRESS')2227kmi = km.keymap_items.new('sketch.finish_stroke', 'RIGHTMOUSE', 'PRESS')2228kmi = km.keymap_items.new('sketch.cancel_stroke', 'ESC', 'PRESS')2229kmi = km.keymap_items.new('sketch.gesture', 'LEFTMOUSE', 'PRESS', shift=True)2230kmi = km.keymap_items.new('sketch.draw_stroke', 'LEFTMOUSE', 'PRESS')2231kmi = km.keymap_items.new('sketch.draw_stroke', 'LEFTMOUSE', 'PRESS', ctrl=True)2232kmi.properties.snap = True2233kmi = km.keymap_items.new('sketch.draw_preview', 'MOUSEMOVE', 'ANY')2234kmi = km.keymap_items.new('sketch.draw_preview', 'MOUSEMOVE', 'ANY', ctrl=True)2235kmi.properties.snap = True2236kmi = km.keymap_items.new('armature.hide', 'H', 'PRESS')2237kmi.properties.unselected = False2238kmi = km.keymap_items.new('armature.hide', 'H', 'PRESS', shift=True)2239kmi.properties.unselected = True2240kmi = km.keymap_items.new('armature.reveal', 'H', 'PRESS', alt=True)2241kmi = km.keymap_items.new('armature.align', 'A', 'PRESS', ctrl=True, alt=True)2242kmi = km.keymap_items.new('armature.calculate_roll', 'N', 'PRESS', ctrl=True)2243kmi = km.keymap_items.new('armature.switch_direction', 'F', 'PRESS', alt=True)2244kmi = km.keymap_items.new('armature.bone_primitive_add', 'A', 'PRESS', shift=True)2245kmi = km.keymap_items.new('armature.parent_set', 'P', 'PRESS', ctrl=True)2246kmi = km.keymap_items.new('armature.parent_clear', 'P', 'PRESS', alt=True)2247kmi = km.keymap_items.new('armature.select_all', 'LEFTMOUSE', 'CLICK')2248kmi.properties.action = 'TOGGLE'2249kmi = km.keymap_items.new('armature.select_all', 'I', 'PRESS', ctrl=True)2250kmi.properties.action = 'INVERT'2251kmi = km.keymap_items.new('armature.select_hierarchy', 'LEFT_BRACKET', 'PRESS')2252kmi.properties.direction = 'PARENT'2253kmi.properties.extend = False2254kmi = km.keymap_items.new('armature.select_hierarchy', 'LEFT_BRACKET', 'PRESS', shift=True)2255kmi.properties.direction = 'PARENT'2256kmi.properties.extend = True2257kmi = km.keymap_items.new('armature.select_hierarchy', 'RIGHT_BRACKET', 'PRESS')2258kmi.properties.direction = 'CHILD'2259kmi.properties.extend = False2260kmi = km.keymap_items.new('armature.select_hierarchy', 'RIGHT_BRACKET', 'PRESS', shift=True)2261kmi.properties.direction = 'CHILD'2262kmi.properties.extend = True2263kmi = km.keymap_items.new('armature.select_similar', 'G', 'PRESS', shift=True)2264kmi = km.keymap_items.new('armature.select_linked', 'L', 'PRESS')2265kmi = km.keymap_items.new('armature.delete', 'X', 'PRESS')2266kmi = km.keymap_items.new('armature.delete', 'DEL', 'PRESS')2267kmi = km.keymap_items.new('armature.duplicate_move', 'D', 'PRESS', shift=True)2268kmi = km.keymap_items.new('armature.extrude_move', 'E', 'PRESS')2269kmi = km.keymap_items.new('armature.extrude_forked', 'E', 'PRESS', shift=True)2270kmi = km.keymap_items.new('armature.click_extrude', 'LEFTMOUSE', 'CLICK', ctrl=True)2271kmi = km.keymap_items.new('armature.fill', 'F', 'PRESS', ctrl=True)2272kmi = km.keymap_items.new('armature.merge', 'M', 'PRESS', alt=True)2273kmi = km.keymap_items.new('armature.separate', 'P', 'PRESS', ctrl=True, alt=True)2274kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', shift=True)2275kmi.properties.name = 'VIEW3D_MT_bone_options_toggle'2276kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', shift=True, ctrl=True)2277kmi.properties.name = 'VIEW3D_MT_bone_options_enable'2278kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', alt=True)2279kmi.properties.name = 'VIEW3D_MT_bone_options_disable'2280kmi = km.keymap_items.new('armature.layers_show_all', 'ACCENT_GRAVE', 'PRESS', ctrl=True)2281kmi = km.keymap_items.new('armature.armature_layers', 'M', 'PRESS', shift=True)2282kmi = km.keymap_items.new('armature.bone_layers', 'M', 'PRESS')2283kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', ctrl=True, alt=True)2284kmi.properties.mode = 'BONE_SIZE'2285kmi = km.keymap_items.new('transform.transform', 'R', 'PRESS', ctrl=True)2286kmi.properties.mode = 'BONE_ROLL'2287kmi = km.keymap_items.new('wm.call_menu', 'Q', 'PRESS')2288kmi.properties.name = 'VIEW3D_MT_armature_specials'2289# Map Metaball2290km = kc.keymaps.new('Metaball', space_type='EMPTY', region_type='WINDOW', modal=False)2291kmi = km.keymap_items.new('object.metaball_add', 'A', 'PRESS', shift=True)2292kmi = km.keymap_items.new('mball.reveal_metaelems', 'H', 'PRESS', alt=True)2293kmi = km.keymap_items.new('mball.hide_metaelems', 'H', 'PRESS')2294kmi.properties.unselected = False2295kmi = km.keymap_items.new('mball.hide_metaelems', 'H', 'PRESS', shift=True)2296kmi.properties.unselected = True2297kmi = km.keymap_items.new('mball.delete_metaelems', 'X', 'PRESS')2298kmi = km.keymap_items.new('mball.delete_metaelems', 'DEL', 'PRESS')2299kmi = km.keymap_items.new('mball.duplicate_metaelems', 'D', 'PRESS', shift=True)2300kmi = km.keymap_items.new('mball.select_all', 'LEFTMOUSE', 'CLICK')2301kmi.properties.action = 'TOGGLE'2302kmi = km.keymap_items.new('mball.select_all', 'I', 'PRESS', ctrl=True)2303kmi.properties.action = 'INVERT'2304kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)2305kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'2306kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')2307kmi.properties.data_path = 'tool_settings.proportional_edit'2308kmi.properties.value_1 = 'DISABLED'2309kmi.properties.value_2 = 'ENABLED'2310kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)2311kmi.properties.data_path = 'tool_settings.proportional_edit'2312kmi.properties.value_1 = 'DISABLED'2313kmi.properties.value_2 = 'CONNECTED'2314# Map Lattice2315km = kc.keymaps.new('Lattice', space_type='EMPTY', region_type='WINDOW', modal=False)2316kmi = km.keymap_items.new('lattice.select_all', 'LEFTMOUSE', 'CLICK')2317kmi.properties.action = 'TOGGLE'2318kmi = km.keymap_items.new('lattice.select_all', 'I', 'PRESS', ctrl=True)2319kmi.properties.action = 'INVERT'2320kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)2321kmi = km.keymap_items.new('lattice.flip', 'F', 'PRESS', ctrl=True)2322kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)2323kmi.properties.name = 'VIEW3D_MT_hook'2324kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)2325kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'2326kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')2327kmi.properties.data_path = 'tool_settings.proportional_edit'2328kmi.properties.value_1 = 'DISABLED'2329kmi.properties.value_2 = 'ENABLED'2330# Map Transform Modal Map2331km = kc.keymaps.new('Transform Modal Map', space_type='EMPTY', region_type='WINDOW', modal=True)2332kmi = km.keymap_items.new_modal('CANCEL', 'ESC', 'PRESS', any=True)2333kmi = km.keymap_items.new_modal('CONFIRM', 'LEFTMOUSE', 'RELEASE', any=True)2334kmi = km.keymap_items.new_modal('CONFIRM', 'RET', 'PRESS', any=True)2335kmi = km.keymap_items.new_modal('CONFIRM', 'NUMPAD_ENTER', 'PRESS', any=True)2336kmi = km.keymap_items.new_modal('TRANSLATE', 'W', 'PRESS')2337kmi = km.keymap_items.new_modal('ROTATE', 'E', 'PRESS')2338kmi = km.keymap_items.new_modal('RESIZE', 'R', 'PRESS')2339kmi = km.keymap_items.new_modal('SNAP_TOGGLE', 'TAB', 'PRESS', shift=True)2340kmi = km.keymap_items.new_modal('SNAP_INV_ON', 'LEFT_CTRL', 'PRESS', any=True)2341kmi = km.keymap_items.new_modal('SNAP_INV_OFF', 'LEFT_CTRL', 'RELEASE', any=True)2342kmi = km.keymap_items.new_modal('SNAP_INV_ON', 'RIGHT_CTRL', 'PRESS', any=True)2343kmi = km.keymap_items.new_modal('SNAP_INV_OFF', 'RIGHT_CTRL', 'RELEASE', any=True)2344kmi = km.keymap_items.new_modal('ADD_SNAP', 'A', 'PRESS')2345kmi = km.keymap_items.new_modal('REMOVE_SNAP', 'A', 'PRESS', alt=True)2346kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_UP', 'PAGE_UP', 'PRESS')2347kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_DOWN', 'PAGE_DOWN', 'PRESS')2348kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_UP', 'WHEELDOWNMOUSE', 'PRESS')2349kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_DOWN', 'WHEELUPMOUSE', 'PRESS')2350kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE', 'TRACKPADPAN', 'ANY')2351kmi = km.keymap_items.new_modal('EDGESLIDE_EDGE_NEXT', 'WHEELDOWNMOUSE', 'PRESS', alt=True)2352kmi = km.keymap_items.new_modal('EDGESLIDE_PREV_NEXT', 'WHEELUPMOUSE', 'PRESS', alt=True)2353kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_UP', 'PAGE_UP', 'PRESS', shift=True)2354kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_DOWN', 'PAGE_DOWN', 'PRESS', shift=True)2355kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_UP', 'WHEELDOWNMOUSE', 'PRESS', shift=True)2356kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_DOWN', 'WHEELUPMOUSE', 'PRESS', shift=True)2357# Map View3D Gesture Circle2358km = kc.keymaps.new('View3D Gesture Circle', space_type='EMPTY', region_type='WINDOW', modal=True)2359kmi = km.keymap_items.new_modal('CANCEL', 'ESC', 'PRESS', any=True)2360kmi = km.keymap_items.new_modal('CANCEL', 'RIGHTMOUSE', 'ANY', any=True)2361kmi = km.keymap_items.new_modal('CONFIRM', 'RET', 'PRESS', any=True)2362kmi = km.keymap_items.new_modal('CONFIRM', 'NUMPAD_ENTER', 'PRESS')2363kmi = km.keymap_items.new_modal('SELECT', 'LEFTMOUSE', 'PRESS')2364kmi = km.keymap_items.new_modal('DESELECT', 'MIDDLEMOUSE', 'PRESS')2365kmi = km.keymap_items.new_modal('NOP', 'MIDDLEMOUSE', 'RELEASE')2366kmi = km.keymap_items.new_modal('NOP', 'LEFTMOUSE', 'RELEASE')2367kmi = km.keymap_items.new_modal('SUBTRACT', 'WHEELUPMOUSE', 'PRESS')2368kmi = km.keymap_items.new_modal('SUBTRACT', 'NUMPAD_MINUS', 'PRESS')2369kmi = km.keymap_items.new_modal('ADD', 'WHEELDOWNMOUSE', 'PRESS')2370kmi = km.keymap_items.new_modal('ADD', 'NUMPAD_PLUS', 'PRESS')2371kmi = km.keymap_items.new_modal('SIZE', 'TRACKPADPAN', 'ANY')2372# Map Gesture Border2373km = kc.keymaps.new('Gesture Border', space_type='EMPTY', region_type='WINDOW', modal=True)2374kmi = km.keymap_items.new_modal('CANCEL', 'ESC', 'PRESS', any=True)2375kmi = km.keymap_items.new_modal('CANCEL', 'RIGHTMOUSE', 'PRESS', any=True)2376kmi = km.keymap_items.new_modal('BEGIN', 'LEFTMOUSE', 'PRESS')2377kmi = km.keymap_items.new_modal('SELECT', 'LEFTMOUSE', 'RELEASE', any=True)2378kmi = km.keymap_items.new_modal('SELECT', 'RIGHTMOUSE', 'RELEASE', any=True)2379kmi = km.keymap_items.new_modal('BEGIN', 'MIDDLEMOUSE', 'PRESS')...Touchable.js
Source:Touchable.js  
1/**2 * Copyright (c) 2013-present, Facebook, Inc.3 *4 * This source code is licensed under the MIT license found in the5 * LICENSE file in the root directory of this source tree.6 *7 * @format8 */9'use strict';10const BoundingDimensions = require('BoundingDimensions');11const Platform = require('Platform');12const Position = require('Position');13const React = require('React');14const ReactNative = require('ReactNative');15const TVEventHandler = require('TVEventHandler');16const TouchEventUtils = require('fbjs/lib/TouchEventUtils');17const UIManager = require('UIManager');18const View = require('View');19const keyMirror = require('fbjs/lib/keyMirror');20const normalizeColor = require('normalizeColor');21/**22 * `Touchable`: Taps done right.23 *24 * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`25 * will measure time/geometry and tells you when to give feedback to the user.26 *27 * ====================== Touchable Tutorial ===============================28 * The `Touchable` mixin helps you handle the "press" interaction. It analyzes29 * the geometry of elements, and observes when another responder (scroll view30 * etc) has stolen the touch lock. It notifies your component when it should31 * give feedback to the user. (bouncing/highlighting/unhighlighting).32 *33 * - When a touch was activated (typically you highlight)34 * - When a touch was deactivated (typically you unhighlight)35 * - When a touch was "pressed" - a touch ended while still within the geometry36 *   of the element, and no other element (like scroller) has "stolen" touch37 *   lock ("responder") (Typically you bounce the element).38 *39 * A good tap interaction isn't as simple as you might think. There should be a40 * slight delay before showing a highlight when starting a touch. If a41 * subsequent touch move exceeds the boundary of the element, it should42 * unhighlight, but if that same touch is brought back within the boundary, it43 * should rehighlight again. A touch can move in and out of that boundary44 * several times, each time toggling highlighting, but a "press" is only45 * triggered if that touch ends while within the element's boundary and no46 * scroller (or anything else) has stolen the lock on touches.47 *48 * To create a new type of component that handles interaction using the49 * `Touchable` mixin, do the following:50 *51 * - Initialize the `Touchable` state.52 *53 *   getInitialState: function() {54 *     return merge(this.touchableGetInitialState(), yourComponentState);55 *   }56 *57 * - Choose the rendered component who's touches should start the interactive58 *   sequence. On that rendered node, forward all `Touchable` responder59 *   handlers. You can choose any rendered node you like. Choose a node whose60 *   hit target you'd like to instigate the interaction sequence:61 *62 *   // In render function:63 *   return (64 *     <View65 *       onStartShouldSetResponder={this.touchableHandleStartShouldSetResponder}66 *       onResponderTerminationRequest={this.touchableHandleResponderTerminationRequest}67 *       onResponderGrant={this.touchableHandleResponderGrant}68 *       onResponderMove={this.touchableHandleResponderMove}69 *       onResponderRelease={this.touchableHandleResponderRelease}70 *       onResponderTerminate={this.touchableHandleResponderTerminate}>71 *       <View>72 *         Even though the hit detection/interactions are triggered by the73 *         wrapping (typically larger) node, we usually end up implementing74 *         custom logic that highlights this inner one.75 *       </View>76 *     </View>77 *   );78 *79 * - You may set up your own handlers for each of these events, so long as you80 *   also invoke the `touchable*` handlers inside of your custom handler.81 *82 * - Implement the handlers on your component class in order to provide83 *   feedback to the user. See documentation for each of these class methods84 *   that you should implement.85 *86 *   touchableHandlePress: function() {87 *      this.performBounceAnimation();  // or whatever you want to do.88 *   },89 *   touchableHandleActivePressIn: function() {90 *     this.beginHighlighting(...);  // Whatever you like to convey activation91 *   },92 *   touchableHandleActivePressOut: function() {93 *     this.endHighlighting(...);  // Whatever you like to convey deactivation94 *   },95 *96 * - There are more advanced methods you can implement (see documentation below):97 *   touchableGetHighlightDelayMS: function() {98 *     return 20;99 *   }100 *   // In practice, *always* use a predeclared constant (conserve memory).101 *   touchableGetPressRectOffset: function() {102 *     return {top: 20, left: 20, right: 20, bottom: 100};103 *   }104 */105/**106 * Touchable states.107 */108const States = keyMirror({109  NOT_RESPONDER: null, // Not the responder110  RESPONDER_INACTIVE_PRESS_IN: null, // Responder, inactive, in the `PressRect`111  RESPONDER_INACTIVE_PRESS_OUT: null, // Responder, inactive, out of `PressRect`112  RESPONDER_ACTIVE_PRESS_IN: null, // Responder, active, in the `PressRect`113  RESPONDER_ACTIVE_PRESS_OUT: null, // Responder, active, out of `PressRect`114  RESPONDER_ACTIVE_LONG_PRESS_IN: null, // Responder, active, in the `PressRect`, after long press threshold115  RESPONDER_ACTIVE_LONG_PRESS_OUT: null, // Responder, active, out of `PressRect`, after long press threshold116  ERROR: null,117});118/**119 * Quick lookup map for states that are considered to be "active"120 */121const IsActive = {122  RESPONDER_ACTIVE_PRESS_OUT: true,123  RESPONDER_ACTIVE_PRESS_IN: true,124};125/**126 * Quick lookup for states that are considered to be "pressing" and are127 * therefore eligible to result in a "selection" if the press stops.128 */129const IsPressingIn = {130  RESPONDER_INACTIVE_PRESS_IN: true,131  RESPONDER_ACTIVE_PRESS_IN: true,132  RESPONDER_ACTIVE_LONG_PRESS_IN: true,133};134const IsLongPressingIn = {135  RESPONDER_ACTIVE_LONG_PRESS_IN: true,136};137/**138 * Inputs to the state machine.139 */140const Signals = keyMirror({141  DELAY: null,142  RESPONDER_GRANT: null,143  RESPONDER_RELEASE: null,144  RESPONDER_TERMINATED: null,145  ENTER_PRESS_RECT: null,146  LEAVE_PRESS_RECT: null,147  LONG_PRESS_DETECTED: null,148});149/**150 * Mapping from States x Signals => States151 */152const Transitions = {153  NOT_RESPONDER: {154    DELAY: States.ERROR,155    RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,156    RESPONDER_RELEASE: States.ERROR,157    RESPONDER_TERMINATED: States.ERROR,158    ENTER_PRESS_RECT: States.ERROR,159    LEAVE_PRESS_RECT: States.ERROR,160    LONG_PRESS_DETECTED: States.ERROR,161  },162  RESPONDER_INACTIVE_PRESS_IN: {163    DELAY: States.RESPONDER_ACTIVE_PRESS_IN,164    RESPONDER_GRANT: States.ERROR,165    RESPONDER_RELEASE: States.NOT_RESPONDER,166    RESPONDER_TERMINATED: States.NOT_RESPONDER,167    ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,168    LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,169    LONG_PRESS_DETECTED: States.ERROR,170  },171  RESPONDER_INACTIVE_PRESS_OUT: {172    DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,173    RESPONDER_GRANT: States.ERROR,174    RESPONDER_RELEASE: States.NOT_RESPONDER,175    RESPONDER_TERMINATED: States.NOT_RESPONDER,176    ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,177    LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,178    LONG_PRESS_DETECTED: States.ERROR,179  },180  RESPONDER_ACTIVE_PRESS_IN: {181    DELAY: States.ERROR,182    RESPONDER_GRANT: States.ERROR,183    RESPONDER_RELEASE: States.NOT_RESPONDER,184    RESPONDER_TERMINATED: States.NOT_RESPONDER,185    ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,186    LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,187    LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,188  },189  RESPONDER_ACTIVE_PRESS_OUT: {190    DELAY: States.ERROR,191    RESPONDER_GRANT: States.ERROR,192    RESPONDER_RELEASE: States.NOT_RESPONDER,193    RESPONDER_TERMINATED: States.NOT_RESPONDER,194    ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,195    LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,196    LONG_PRESS_DETECTED: States.ERROR,197  },198  RESPONDER_ACTIVE_LONG_PRESS_IN: {199    DELAY: States.ERROR,200    RESPONDER_GRANT: States.ERROR,201    RESPONDER_RELEASE: States.NOT_RESPONDER,202    RESPONDER_TERMINATED: States.NOT_RESPONDER,203    ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,204    LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,205    LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,206  },207  RESPONDER_ACTIVE_LONG_PRESS_OUT: {208    DELAY: States.ERROR,209    RESPONDER_GRANT: States.ERROR,210    RESPONDER_RELEASE: States.NOT_RESPONDER,211    RESPONDER_TERMINATED: States.NOT_RESPONDER,212    ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,213    LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,214    LONG_PRESS_DETECTED: States.ERROR,215  },216  error: {217    DELAY: States.NOT_RESPONDER,218    RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,219    RESPONDER_RELEASE: States.NOT_RESPONDER,220    RESPONDER_TERMINATED: States.NOT_RESPONDER,221    ENTER_PRESS_RECT: States.NOT_RESPONDER,222    LEAVE_PRESS_RECT: States.NOT_RESPONDER,223    LONG_PRESS_DETECTED: States.NOT_RESPONDER,224  },225};226// ==== Typical Constants for integrating into UI components ====227// var HIT_EXPAND_PX = 20;228// var HIT_VERT_OFFSET_PX = 10;229const HIGHLIGHT_DELAY_MS = 130;230const PRESS_EXPAND_PX = 20;231const LONG_PRESS_THRESHOLD = 500;232const LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;233const LONG_PRESS_ALLOWED_MOVEMENT = 10;234// Default amount "active" region protrudes beyond box235/**236 * By convention, methods prefixed with underscores are meant to be @private,237 * and not @protected. Mixers shouldn't access them - not even to provide them238 * as callback handlers.239 *240 *241 * ========== Geometry =========242 * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`243 * is an abstract box that is extended beyond the `HitRect`.244 *245 *  +--------------------------+246 *  |                          | - "Start" events in `HitRect` cause `HitRect`247 *  |  +--------------------+  |   to become the responder.248 *  |  |  +--------------+  |  | - `HitRect` is typically expanded around249 *  |  |  |              |  |  |   the `VisualRect`, but shifted downward.250 *  |  |  |  VisualRect  |  |  | - After pressing down, after some delay,251 *  |  |  |              |  |  |   and before letting up, the Visual React252 *  |  |  +--------------+  |  |   will become "active". This makes it eligible253 *  |  |     HitRect        |  |   for being highlighted (so long as the254 *  |  +--------------------+  |   press remains in the `PressRect`).255 *  |        PressRect     o   |256 *  +----------------------|---+257 *           Out Region    |258 *                         +-----+ This gap between the `HitRect` and259 *                                 `PressRect` allows a touch to move far away260 *                                 from the original hit rect, and remain261 *                                 highlighted, and eligible for a "Press".262 *                                 Customize this via263 *                                 `touchableGetPressRectOffset()`.264 *265 *266 *267 * ======= State Machine =======268 *269 * +-------------+ <---+ RESPONDER_RELEASE270 * |NOT_RESPONDER|271 * +-------------+ <---+ RESPONDER_TERMINATED272 *     +273 *     | RESPONDER_GRANT (HitRect)274 *     v275 * +---------------------------+  DELAY   +-------------------------+  T + DELAY     +------------------------------+276 * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|277 * +---------------------------+          +-------------------------+                +------------------------------+278 *     +            ^                         +           ^                                 +           ^279 *     |LEAVE_      |ENTER_                   |LEAVE_     |ENTER_                           |LEAVE_     |ENTER_280 *     |PRESS_RECT  |PRESS_RECT               |PRESS_RECT |PRESS_RECT                       |PRESS_RECT |PRESS_RECT281 *     |            |                         |           |                                 |           |282 *     v            +                         v           +                                 v           +283 * +----------------------------+  DELAY  +--------------------------+               +-------------------------------+284 * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT|               |RESPONDER_ACTIVE_LONG_PRESS_OUT|285 * +----------------------------+         +--------------------------+               +-------------------------------+286 *287 * T + DELAY => LONG_PRESS_DELAY_MS + DELAY288 *289 * Not drawn are the side effects of each transition. The most important side290 * effect is the `touchableHandlePress` abstract method invocation that occurs291 * when a responder is released while in either of the "Press" states.292 *293 * The other important side effects are the highlight abstract method294 * invocations (internal callbacks) to be implemented by the mixer.295 *296 *297 * @lends Touchable.prototype298 */299const TouchableMixin = {300  componentDidMount: function() {301    if (!Platform.isTV) {302      return;303    }304    this._tvEventHandler = new TVEventHandler();305    this._tvEventHandler.enable(this, function(cmp, evt) {306      const myTag = ReactNative.findNodeHandle(cmp);307      evt.dispatchConfig = {};308      if (myTag === evt.tag) {309        if (evt.eventType === 'focus') {310          cmp.touchableHandleFocus(evt);311        } else if (evt.eventType === 'blur') {312          cmp.touchableHandleBlur(evt);313        } else if (evt.eventType === 'select') {314          cmp.touchableHandlePress &&315            !cmp.props.disabled &&316            cmp.touchableHandlePress(evt);317        }318      }319    });320  },321  /**322   * Clear all timeouts on unmount323   */324  componentWillUnmount: function() {325    if (this._tvEventHandler) {326      this._tvEventHandler.disable();327      delete this._tvEventHandler;328    }329    this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);330    this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);331    this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);332  },333  /**334   * It's prefer that mixins determine state in this way, having the class335   * explicitly mix the state in the one and only `getInitialState` method.336   *337   * @return {object} State object to be placed inside of338   * `this.state.touchable`.339   */340  touchableGetInitialState: function() {341    return {342      touchable: {touchState: undefined, responderID: null},343    };344  },345  // ==== Hooks to Gesture Responder system ====346  /**347   * Must return true if embedded in a native platform scroll view.348   */349  touchableHandleResponderTerminationRequest: function() {350    return !this.props.rejectResponderTermination;351  },352  /**353   * Must return true to start the process of `Touchable`.354   */355  touchableHandleStartShouldSetResponder: function() {356    return !this.props.disabled;357  },358  /**359   * Return true to cancel press on long press.360   */361  touchableLongPressCancelsPress: function() {362    return true;363  },364  /**365   * Place as callback for a DOM element's `onResponderGrant` event.366   * @param {SyntheticEvent} e Synthetic event from event system.367   *368   */369  touchableHandleResponderGrant: function(e) {370    const dispatchID = e.currentTarget;371    // Since e is used in a callback invoked on another event loop372    // (as in setTimeout etc), we need to call e.persist() on the373    // event to make sure it doesn't get reused in the event object pool.374    e.persist();375    this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);376    this.pressOutDelayTimeout = null;377    this.state.touchable.touchState = States.NOT_RESPONDER;378    this.state.touchable.responderID = dispatchID;379    this._receiveSignal(Signals.RESPONDER_GRANT, e);380    let delayMS =381      this.touchableGetHighlightDelayMS !== undefined382        ? Math.max(this.touchableGetHighlightDelayMS(), 0)383        : HIGHLIGHT_DELAY_MS;384    delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;385    if (delayMS !== 0) {386      this.touchableDelayTimeout = setTimeout(387        this._handleDelay.bind(this, e),388        delayMS,389      );390    } else {391      this._handleDelay(e);392    }393    let longDelayMS =394      this.touchableGetLongPressDelayMS !== undefined395        ? Math.max(this.touchableGetLongPressDelayMS(), 10)396        : LONG_PRESS_DELAY_MS;397    longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;398    this.longPressDelayTimeout = setTimeout(399      this._handleLongDelay.bind(this, e),400      longDelayMS + delayMS,401    );402  },403  /**404   * Place as callback for a DOM element's `onResponderRelease` event.405   */406  touchableHandleResponderRelease: function(e) {407    this._receiveSignal(Signals.RESPONDER_RELEASE, e);408  },409  /**410   * Place as callback for a DOM element's `onResponderTerminate` event.411   */412  touchableHandleResponderTerminate: function(e) {413    this._receiveSignal(Signals.RESPONDER_TERMINATED, e);414  },415  /**416   * Place as callback for a DOM element's `onResponderMove` event.417   */418  touchableHandleResponderMove: function(e) {419    // Not enough time elapsed yet, wait for highlight -420    // this is just a perf optimization.421    if (422      this.state.touchable.touchState === States.RESPONDER_INACTIVE_PRESS_IN423    ) {424      return;425    }426    // Measurement may not have returned yet.427    if (!this.state.touchable.positionOnActivate) {428      return;429    }430    const positionOnActivate = this.state.touchable.positionOnActivate;431    const dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;432    const pressRectOffset = this.touchableGetPressRectOffset433      ? this.touchableGetPressRectOffset()434      : {435          left: PRESS_EXPAND_PX,436          right: PRESS_EXPAND_PX,437          top: PRESS_EXPAND_PX,438          bottom: PRESS_EXPAND_PX,439        };440    let pressExpandLeft = pressRectOffset.left;441    let pressExpandTop = pressRectOffset.top;442    let pressExpandRight = pressRectOffset.right;443    let pressExpandBottom = pressRectOffset.bottom;444    const hitSlop = this.touchableGetHitSlop445      ? this.touchableGetHitSlop()446      : null;447    if (hitSlop) {448      pressExpandLeft += hitSlop.left;449      pressExpandTop += hitSlop.top;450      pressExpandRight += hitSlop.right;451      pressExpandBottom += hitSlop.bottom;452    }453    const touch = TouchEventUtils.extractSingleTouch(e.nativeEvent);454    const pageX = touch && touch.pageX;455    const pageY = touch && touch.pageY;456    if (this.pressInLocation) {457      const movedDistance = this._getDistanceBetweenPoints(458        pageX,459        pageY,460        this.pressInLocation.pageX,461        this.pressInLocation.pageY,462      );463      if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {464        this._cancelLongPressDelayTimeout();465      }466    }467    const isTouchWithinActive =468      pageX > positionOnActivate.left - pressExpandLeft &&469      pageY > positionOnActivate.top - pressExpandTop &&470      pageX <471        positionOnActivate.left +472          dimensionsOnActivate.width +473          pressExpandRight &&474      pageY <475        positionOnActivate.top +476          dimensionsOnActivate.height +477          pressExpandBottom;478    if (isTouchWithinActive) {479      this._receiveSignal(Signals.ENTER_PRESS_RECT, e);480      const curState = this.state.touchable.touchState;481      if (curState === States.RESPONDER_INACTIVE_PRESS_IN) {482        // fix for t7967420483        this._cancelLongPressDelayTimeout();484      }485    } else {486      this._cancelLongPressDelayTimeout();487      this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);488    }489  },490  /**491   * Invoked when the item receives focus. Mixers might override this to492   * visually distinguish the `VisualRect` so that the user knows that it493   * currently has the focus. Most platforms only support a single element being494   * focused at a time, in which case there may have been a previously focused495   * element that was blurred just prior to this.496   */497  touchableHandleFocus: function(e: Event) {498    this.props.onFocus && this.props.onFocus(e);499  },500  /**501   * Invoked when the item loses focus. Mixers might override this to502   * visually distinguish the `VisualRect` so that the user knows that it503   * no longer has focus. Most platforms only support a single element being504   * focused at a time, in which case the focus may have moved to another.505   */506  touchableHandleBlur: function(e: Event) {507    this.props.onBlur && this.props.onBlur(e);508  },509  // ==== Abstract Application Callbacks ====510  /**511   * Invoked when the item should be highlighted. Mixers should implement this512   * to visually distinguish the `VisualRect` so that the user knows that513   * releasing a touch will result in a "selection" (analog to click).514   *515   * @abstract516   * touchableHandleActivePressIn: function,517   */518  /**519   * Invoked when the item is "active" (in that it is still eligible to become520   * a "select") but the touch has left the `PressRect`. Usually the mixer will521   * want to unhighlight the `VisualRect`. If the user (while pressing) moves522   * back into the `PressRect` `touchableHandleActivePressIn` will be invoked523   * again and the mixer should probably highlight the `VisualRect` again. This524   * event will not fire on an `touchEnd/mouseUp` event, only move events while525   * the user is depressing the mouse/touch.526   *527   * @abstract528   * touchableHandleActivePressOut: function529   */530  /**531   * Invoked when the item is "selected" - meaning the interaction ended by532   * letting up while the item was either in the state533   * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.534   *535   * @abstract536   * touchableHandlePress: function537   */538  /**539   * Invoked when the item is long pressed - meaning the interaction ended by540   * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If541   * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will542   * be called as it normally is. If `touchableHandleLongPress` is provided, by543   * default any `touchableHandlePress` callback will not be invoked. To544   * override this default behavior, override `touchableLongPressCancelsPress`545   * to return false. As a result, `touchableHandlePress` will be called when546   * lifting up, even if `touchableHandleLongPress` has also been called.547   *548   * @abstract549   * touchableHandleLongPress: function550   */551  /**552   * Returns the number of millis to wait before triggering a highlight.553   *554   * @abstract555   * touchableGetHighlightDelayMS: function556   */557  /**558   * Returns the amount to extend the `HitRect` into the `PressRect`. Positive559   * numbers mean the size expands outwards.560   *561   * @abstract562   * touchableGetPressRectOffset: function563   */564  // ==== Internal Logic ====565  /**566   * Measures the `HitRect` node on activation. The Bounding rectangle is with567   * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`568   * should result in points that are in the same coordinate system as an569   * event's `globalX/globalY` data values.570   *571   * - Consider caching this for the lifetime of the component, or possibly572   *   being able to share this cache between any `ScrollMap` view.573   *574   * @sideeffects575   * @private576   */577  _remeasureMetricsOnActivation: function() {578    const tag = this.state.touchable.responderID;579    if (tag == null) {580      return;581    }582    UIManager.measure(tag, this._handleQueryLayout);583  },584  _handleQueryLayout: function(l, t, w, h, globalX, globalY) {585    //don't do anything UIManager failed to measure node586    if (!l && !t && !w && !h && !globalX && !globalY) {587      return;588    }589    this.state.touchable.positionOnActivate &&590      Position.release(this.state.touchable.positionOnActivate);591    this.state.touchable.dimensionsOnActivate &&592      BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);593    this.state.touchable.positionOnActivate = Position.getPooled(594      globalX,595      globalY,596    );597    this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(598      w,599      h,600    );601  },602  _handleDelay: function(e) {603    this.touchableDelayTimeout = null;604    this._receiveSignal(Signals.DELAY, e);605  },606  _handleLongDelay: function(e) {607    this.longPressDelayTimeout = null;608    const curState = this.state.touchable.touchState;609    if (610      curState !== States.RESPONDER_ACTIVE_PRESS_IN &&611      curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN612    ) {613      console.error(614        'Attempted to transition from state `' +615          curState +616          '` to `' +617          States.RESPONDER_ACTIVE_LONG_PRESS_IN +618          '`, which is not supported. This is ' +619          'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.',620      );621    } else {622      this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);623    }624  },625  /**626   * Receives a state machine signal, performs side effects of the transition627   * and stores the new state. Validates the transition as well.628   *629   * @param {Signals} signal State machine signal.630   * @throws Error if invalid state transition or unrecognized signal.631   * @sideeffects632   */633  _receiveSignal: function(signal, e) {634    const responderID = this.state.touchable.responderID;635    const curState = this.state.touchable.touchState;636    const nextState = Transitions[curState] && Transitions[curState][signal];637    if (!responderID && signal === Signals.RESPONDER_RELEASE) {638      return;639    }640    if (!nextState) {641      throw new Error(642        'Unrecognized signal `' +643          signal +644          '` or state `' +645          curState +646          '` for Touchable responder `' +647          responderID +648          '`',649      );650    }651    if (nextState === States.ERROR) {652      throw new Error(653        'Touchable cannot transition from `' +654          curState +655          '` to `' +656          signal +657          '` for responder `' +658          responderID +659          '`',660      );661    }662    if (curState !== nextState) {663      this._performSideEffectsForTransition(curState, nextState, signal, e);664      this.state.touchable.touchState = nextState;665    }666  },667  _cancelLongPressDelayTimeout: function() {668    this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);669    this.longPressDelayTimeout = null;670  },671  _isHighlight: function(state) {672    return (673      state === States.RESPONDER_ACTIVE_PRESS_IN ||674      state === States.RESPONDER_ACTIVE_LONG_PRESS_IN675    );676  },677  _savePressInLocation: function(e) {678    const touch = TouchEventUtils.extractSingleTouch(e.nativeEvent);679    const pageX = touch && touch.pageX;680    const pageY = touch && touch.pageY;681    const locationX = touch && touch.locationX;682    const locationY = touch && touch.locationY;683    this.pressInLocation = {pageX, pageY, locationX, locationY};684  },685  _getDistanceBetweenPoints: function(aX, aY, bX, bY) {686    const deltaX = aX - bX;687    const deltaY = aY - bY;688    return Math.sqrt(deltaX * deltaX + deltaY * deltaY);689  },690  /**691   * Will perform a transition between touchable states, and identify any692   * highlighting or unhighlighting that must be performed for this particular693   * transition.694   *695   * @param {States} curState Current Touchable state.696   * @param {States} nextState Next Touchable state.697   * @param {Signal} signal Signal that triggered the transition.698   * @param {Event} e Native event.699   * @sideeffects700   */701  _performSideEffectsForTransition: function(curState, nextState, signal, e) {702    const curIsHighlight = this._isHighlight(curState);703    const newIsHighlight = this._isHighlight(nextState);704    const isFinalSignal =705      signal === Signals.RESPONDER_TERMINATED ||706      signal === Signals.RESPONDER_RELEASE;707    if (isFinalSignal) {708      this._cancelLongPressDelayTimeout();709    }710    if (!IsActive[curState] && IsActive[nextState]) {711      this._remeasureMetricsOnActivation();712    }713    if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {714      this.touchableHandleLongPress && this.touchableHandleLongPress(e);715    }716    if (newIsHighlight && !curIsHighlight) {717      this._startHighlight(e);718    } else if (!newIsHighlight && curIsHighlight) {719      this._endHighlight(e);720    }721    if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {722      const hasLongPressHandler = !!this.props.onLongPress;723      const pressIsLongButStillCallOnPress =724        IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler725        (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.726      const shouldInvokePress =727        !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;728      if (shouldInvokePress && this.touchableHandlePress) {729        if (!newIsHighlight && !curIsHighlight) {730          // we never highlighted because of delay, but we should highlight now731          this._startHighlight(e);732          this._endHighlight(e);733        }734        if (Platform.OS === 'android') {735          this._playTouchSound();736        }737        this.touchableHandlePress(e);738      }739    }740    this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);741    this.touchableDelayTimeout = null;742  },743  _playTouchSound: function() {744    UIManager.playTouchSound();745  },746  _startHighlight: function(e) {747    this._savePressInLocation(e);748    this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);749  },750  _endHighlight: function(e) {751    if (this.touchableHandleActivePressOut) {752      if (753        this.touchableGetPressOutDelayMS &&754        this.touchableGetPressOutDelayMS()755      ) {756        this.pressOutDelayTimeout = setTimeout(() => {757          this.touchableHandleActivePressOut(e);758        }, this.touchableGetPressOutDelayMS());759      } else {760        this.touchableHandleActivePressOut(e);761      }762    }763  },764};765const Touchable = {766  Mixin: TouchableMixin,767  TOUCH_TARGET_DEBUG: false, // Highlights all touchable targets. Toggle with Inspector.768  /**769   * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).770   */771  renderDebugView: ({color, hitSlop}) => {772    if (!Touchable.TOUCH_TARGET_DEBUG) {773      return null;774    }775    if (!__DEV__) {776      throw Error(777        'Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!',778      );779    }780    const debugHitSlopStyle = {};781    hitSlop = hitSlop || {top: 0, bottom: 0, left: 0, right: 0};782    for (const key in hitSlop) {783      debugHitSlopStyle[key] = -hitSlop[key];784    }785    const hexColor =786      '#' + ('00000000' + normalizeColor(color).toString(16)).substr(-8);787    return (788      <View789        pointerEvents="none"790        style={{791          position: 'absolute',792          borderColor: hexColor.slice(0, -2) + '55', // More opaque793          borderWidth: 1,794          borderStyle: 'dashed',795          backgroundColor: hexColor.slice(0, -2) + '0F', // Less opaque796          ...debugHitSlopStyle,797        }}798      />799    );800  },801};...maya.py
Source:maya.py  
1# Configuration Maya2import bpy3wm = bpy.context.window_manager4kc = wm.keyconfigs.new('maya')5# Map 3D View6km = kc.keymaps.new('3D View', space_type='VIEW_3D', region_type='WINDOW', modal=False)7kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', any=True)8kmi.properties.release_confirm = True9kmi = km.keymap_items.new('view3d.cursor3d', 'ACTIONMOUSE', 'PRESS')10kmi = km.keymap_items.new('view3d.rotate', 'LEFTMOUSE', 'PRESS', alt=True)11kmi = km.keymap_items.new('view3d.move', 'MIDDLEMOUSE', 'PRESS', alt=True)12kmi = km.keymap_items.new('view3d.zoom', 'RIGHTMOUSE', 'PRESS', alt=True)13kmi = km.keymap_items.new('view3d.view_selected', 'NUMPAD_PERIOD', 'PRESS')14kmi = km.keymap_items.new('view3d.view_center_cursor', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)15kmi = km.keymap_items.new('view3d.fly', 'F', 'PRESS', shift=True)16kmi = km.keymap_items.new('view3d.smoothview', 'TIMER1', 'ANY', any=True)17kmi = km.keymap_items.new('view3d.rotate', 'TRACKPADPAN', 'ANY', alt=True)18kmi = km.keymap_items.new('view3d.rotate', 'MOUSEROTATE', 'ANY')19kmi = km.keymap_items.new('view3d.move', 'TRACKPADPAN', 'ANY')20kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADZOOM', 'ANY')21kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_PLUS', 'PRESS')22kmi.properties.delta = 123kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_MINUS', 'PRESS')24kmi.properties.delta = -125kmi = km.keymap_items.new('view3d.zoom', 'EQUAL', 'PRESS', ctrl=True)26kmi.properties.delta = 127kmi = km.keymap_items.new('view3d.zoom', 'MINUS', 'PRESS', ctrl=True)28kmi.properties.delta = -129kmi = km.keymap_items.new('view3d.zoom', 'WHEELINMOUSE', 'PRESS')30kmi.properties.delta = 131kmi = km.keymap_items.new('view3d.zoom', 'WHEELOUTMOUSE', 'PRESS')32kmi.properties.delta = -133kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS')34kmi.properties.center = False35kmi = km.keymap_items.new('view3d.view_all', 'C', 'PRESS', shift=True)36kmi.properties.center = True37kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_0', 'PRESS')38kmi.properties.type = 'CAMERA'39kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS')40kmi.properties.type = 'FRONT'41kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_2', 'PRESS')42kmi.properties.type = 'ORBITDOWN'43kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS')44kmi.properties.type = 'RIGHT'45kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_4', 'PRESS')46kmi.properties.type = 'ORBITLEFT'47kmi = km.keymap_items.new('view3d.view_persportho', 'NUMPAD_5', 'PRESS')48kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_6', 'PRESS')49kmi.properties.type = 'ORBITRIGHT'50kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS')51kmi.properties.type = 'TOP'52kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_8', 'PRESS')53kmi.properties.type = 'ORBITUP'54kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', ctrl=True)55kmi.properties.type = 'BACK'56kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', ctrl=True)57kmi.properties.type = 'LEFT'58kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', ctrl=True)59kmi.properties.type = 'BOTTOM'60kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_2', 'PRESS', ctrl=True)61kmi.properties.type = 'PANDOWN'62kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_4', 'PRESS', ctrl=True)63kmi.properties.type = 'PANLEFT'64kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_6', 'PRESS', ctrl=True)65kmi.properties.type = 'PANRIGHT'66kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_8', 'PRESS', ctrl=True)67kmi.properties.type = 'PANUP'68kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', ctrl=True)69kmi.properties.type = 'PANRIGHT'70kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True)71kmi.properties.type = 'PANLEFT'72kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', shift=True)73kmi.properties.type = 'PANUP'74kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', shift=True)75kmi.properties.type = 'PANDOWN'76kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', ctrl=True, alt=True)77kmi.properties.type = 'ORBITLEFT'78kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True, alt=True)79kmi.properties.type = 'ORBITRIGHT'80kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', shift=True, alt=True)81kmi.properties.type = 'ORBITUP'82kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', shift=True, alt=True)83kmi.properties.type = 'ORBITDOWN'84kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True)85kmi.properties.align_active = True86kmi.properties.type = 'FRONT'87kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True)88kmi.properties.align_active = True89kmi.properties.type = 'RIGHT'90kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True)91kmi.properties.align_active = True92kmi.properties.type = 'TOP'93kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True)94kmi.properties.align_active = True95kmi.properties.type = 'BACK'96kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True, ctrl=True)97kmi.properties.align_active = True98kmi.properties.type = 'LEFT'99kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True, ctrl=True)100kmi.properties.align_active = True101kmi.properties.type = 'BOTTOM'102kmi = km.keymap_items.new('view3d.localview', 'NUMPAD_SLASH', 'PRESS')103kmi = km.keymap_items.new('view3d.layers', 'ACCENT_GRAVE', 'PRESS')104kmi.properties.nr = 0105kmi = km.keymap_items.new('view3d.layers', 'ONE', 'PRESS', any=True)106kmi.properties.nr = 1107kmi = km.keymap_items.new('view3d.layers', 'TWO', 'PRESS', any=True)108kmi.properties.nr = 2109kmi = km.keymap_items.new('view3d.layers', 'THREE', 'PRESS', any=True)110kmi.properties.nr = 3111kmi = km.keymap_items.new('view3d.layers', 'FOUR', 'PRESS', any=True)112kmi.properties.nr = 4113kmi = km.keymap_items.new('view3d.layers', 'FIVE', 'PRESS', any=True)114kmi.properties.nr = 5115kmi = km.keymap_items.new('view3d.layers', 'SIX', 'PRESS', any=True)116kmi.properties.nr = 6117kmi = km.keymap_items.new('view3d.layers', 'SEVEN', 'PRESS', any=True)118kmi.properties.nr = 7119kmi = km.keymap_items.new('view3d.layers', 'EIGHT', 'PRESS', any=True)120kmi.properties.nr = 8121kmi = km.keymap_items.new('view3d.layers', 'NINE', 'PRESS', any=True)122kmi.properties.nr = 9123kmi = km.keymap_items.new('view3d.layers', 'ZERO', 'PRESS', any=True)124kmi.properties.nr = 10125kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS')126kmi.properties.data_path = 'space_data.viewport_shade'127kmi.properties.value_1 = 'SOLID'128kmi.properties.value_2 = 'WIREFRAME'129kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS', alt=True)130kmi.properties.data_path = 'space_data.viewport_shade'131kmi.properties.value_1 = 'TEXTURED'132kmi.properties.value_2 = 'SOLID'133kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS')134kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True)135kmi.properties.extend = True136kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True)137kmi.properties.center = True138kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', alt=True)139kmi.properties.enumerate = True140kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)141kmi.properties.center = True142kmi.properties.extend = True143kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)144kmi.properties.center = True145kmi.properties.enumerate = True146kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)147kmi.properties.enumerate = True148kmi.properties.extend = True149kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)150kmi.properties.center = True151kmi.properties.enumerate = True152kmi.properties.extend = True153kmi = km.keymap_items.new('view3d.select_border', 'EVT_TWEAK_S', 'ANY')154kmi.properties.extend = False155kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)156kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)157kmi.properties.deselect = True158kmi = km.keymap_items.new('view3d.select_circle', 'C', 'PRESS')159kmi = km.keymap_items.new('view3d.clip_border', 'B', 'PRESS', alt=True)160kmi = km.keymap_items.new('view3d.zoom_border', 'B', 'PRESS', shift=True)161kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', shift=True)162kmi = km.keymap_items.new('view3d.camera_to_view', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)163kmi = km.keymap_items.new('view3d.object_as_camera', 'NUMPAD_0', 'PRESS', ctrl=True)164kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)165kmi.properties.name = 'VIEW3D_MT_snap'166kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')167kmi.properties.data_path = 'space_data.pivot_point'168kmi.properties.value = 'BOUNDING_BOX_CENTER'169kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)170kmi.properties.data_path = 'space_data.pivot_point'171kmi.properties.value = 'MEDIAN_POINT'172kmi = km.keymap_items.new('wm.context_toggle', 'COMMA', 'PRESS', alt=True)173kmi.properties.data_path = 'space_data.use_pivot_point'174kmi = km.keymap_items.new('wm.context_toggle', 'Q', 'PRESS')175kmi.properties.data_path = 'space_data.show_manipulator'176kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')177kmi.properties.data_path = 'space_data.pivot_point'178kmi.properties.value = 'CURSOR'179kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)180kmi.properties.data_path = 'space_data.pivot_point'181kmi.properties.value = 'INDIVIDUAL_ORIGINS'182kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', alt=True)183kmi.properties.data_path = 'space_data.pivot_point'184kmi.properties.value = 'ACTIVE_ELEMENT'185kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS', shift=True)186kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')187kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS', shift=True)188kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS', shift=True)189kmi = km.keymap_items.new('transform.warp', 'W', 'PRESS', shift=True)190kmi = km.keymap_items.new('transform.tosphere', 'S', 'PRESS', shift=True, alt=True)191kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)192kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'PRESS', alt=True)193kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'PRESS', ctrl=True, alt=True)194kmi.properties.use = True195kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)196kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)197kmi.properties.data_path = 'tool_settings.use_snap'198kmi = km.keymap_items.new('transform.snap_type', 'TAB', 'PRESS', shift=True, ctrl=True)199kmi = km.keymap_items.new('view3d.enable_manipulator', 'W', 'PRESS')200kmi.properties.translate = True201kmi = km.keymap_items.new('view3d.enable_manipulator', 'E', 'PRESS')202kmi.properties.rotate = True203kmi = km.keymap_items.new('view3d.enable_manipulator', 'R', 'PRESS')204kmi.properties.scale = True205kmi = km.keymap_items.new('view3d.select_border', 'EVT_TWEAK_S', 'ANY', shift=True)206kmi.properties.extend = True207# Map Object Mode208km = kc.keymaps.new('Object Mode', space_type='EMPTY', region_type='WINDOW', modal=False)209kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)210kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'211kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')212kmi.properties.data_path = 'tool_settings.proportional_edit'213kmi.properties.value_1 = 'DISABLED'214kmi.properties.value_2 = 'ENABLED'215kmi = km.keymap_items.new('view3d.game_start', 'P', 'PRESS')216kmi = km.keymap_items.new('object.select_all', 'A', 'PRESS')217kmi = km.keymap_items.new('object.select_inverse', 'I', 'PRESS', ctrl=True)218kmi = km.keymap_items.new('object.select_linked', 'L', 'PRESS', shift=True)219kmi = km.keymap_items.new('object.select_grouped', 'G', 'PRESS', shift=True)220kmi = km.keymap_items.new('object.select_mirror', 'M', 'PRESS', shift=True, ctrl=True)221kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS')222kmi.properties.direction = 'PARENT'223kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS', shift=True)224kmi.properties.direction = 'PARENT'225kmi.properties.extend = True226kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS')227kmi.properties.direction = 'CHILD'228kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS', shift=True)229kmi.properties.direction = 'CHILD'230kmi.properties.extend = True231kmi = km.keymap_items.new('object.parent_set', 'P', 'PRESS', ctrl=True)232kmi = km.keymap_items.new('object.parent_no_inverse_set', 'P', 'PRESS', shift=True, ctrl=True)233kmi = km.keymap_items.new('object.parent_clear', 'P', 'PRESS', alt=True)234kmi = km.keymap_items.new('object.track_set', 'T', 'PRESS', ctrl=True)235kmi = km.keymap_items.new('object.track_clear', 'T', 'PRESS', alt=True)236kmi = km.keymap_items.new('object.constraint_add_with_targets', 'C', 'PRESS', shift=True, ctrl=True)237kmi = km.keymap_items.new('object.constraints_clear', 'C', 'PRESS', ctrl=True, alt=True)238kmi = km.keymap_items.new('object.location_clear', 'G', 'PRESS', alt=True)239kmi = km.keymap_items.new('object.rotation_clear', 'R', 'PRESS', alt=True)240kmi = km.keymap_items.new('object.scale_clear', 'S', 'PRESS', alt=True)241kmi = km.keymap_items.new('object.origin_clear', 'O', 'PRESS', alt=True)242kmi = km.keymap_items.new('object.hide_view_clear', 'H', 'PRESS', alt=True)243kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS')244kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS', shift=True)245kmi.properties.unselected = True246kmi = km.keymap_items.new('object.move_to_layer', 'M', 'PRESS')247kmi = km.keymap_items.new('object.delete', 'X', 'PRESS')248kmi = km.keymap_items.new('object.delete', 'DEL', 'PRESS')249kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)250kmi.properties.name = 'INFO_MT_add'251kmi = km.keymap_items.new('object.duplicates_make_real', 'A', 'PRESS', shift=True, ctrl=True)252kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', ctrl=True)253kmi.properties.name = 'VIEW3D_MT_object_apply'254kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')255kmi.properties.name = 'VIEW3D_MT_make_single_user'256kmi = km.keymap_items.new('wm.call_menu', 'L', 'PRESS', ctrl=True)257kmi.properties.name = 'VIEW3D_MT_make_links'258kmi = km.keymap_items.new('object.duplicate_move', 'D', 'PRESS', shift=True)259kmi = km.keymap_items.new('object.duplicate_move_linked', 'D', 'PRESS', alt=True)260kmi = km.keymap_items.new('object.join', 'J', 'PRESS', ctrl=True)261kmi = km.keymap_items.new('object.convert', 'C', 'PRESS', alt=True)262kmi = km.keymap_items.new('object.proxy_make', 'P', 'PRESS', ctrl=True, alt=True)263kmi = km.keymap_items.new('object.make_local', 'L', 'PRESS')264kmi = km.keymap_items.new('anim.keyframe_insert_menu', 'I', 'PRESS')265kmi = km.keymap_items.new('anim.keyframe_delete_v3d', 'I', 'PRESS', alt=True)266kmi = km.keymap_items.new('anim.keying_set_active_set', 'I', 'PRESS', shift=True, ctrl=True, alt=True)267kmi = km.keymap_items.new('group.create', 'G', 'PRESS', ctrl=True)268kmi = km.keymap_items.new('group.objects_remove', 'G', 'PRESS', ctrl=True, alt=True)269kmi = km.keymap_items.new('group.objects_add_active', 'G', 'PRESS', shift=True, ctrl=True)270kmi = km.keymap_items.new('group.objects_remove_active', 'G', 'PRESS', shift=True, alt=True)271kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', ctrl=True)272kmi.properties.name = 'VIEW3D_MT_object_specials'273kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)274kmi.properties.level = 0275kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)276kmi.properties.level = 1277kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)278kmi.properties.level = 2279kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)280kmi.properties.level = 3281kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)282kmi.properties.level = 4283kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)284kmi.properties.level = 5285kmi = km.keymap_items.new('object.select_all', 'SELECTMOUSE', 'CLICK')286kmi.properties.action = 'DESELECT'287# Map Mesh288km = kc.keymaps.new('Mesh', space_type='EMPTY', region_type='WINDOW', modal=False)289kmi = km.keymap_items.new('mesh.loopcut_slide', 'R', 'PRESS', ctrl=True)290kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)291kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)292kmi.properties.extend = True293kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)294kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)295kmi.properties.extend = True296kmi = km.keymap_items.new('mesh.select_shortest_path', 'SELECTMOUSE', 'PRESS', ctrl=True)297kmi = km.keymap_items.new('mesh.select_all', 'A', 'PRESS')298kmi = km.keymap_items.new('mesh.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)299kmi = km.keymap_items.new('mesh.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)300kmi = km.keymap_items.new('mesh.select_inverse', 'I', 'PRESS', ctrl=True)301kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'PRESS', shift=True, ctrl=True, alt=True)302kmi = km.keymap_items.new('mesh.select_linked', 'L', 'PRESS', ctrl=True)303kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS')304kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', shift=True)305kmi.properties.deselect = True306kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'PRESS', shift=True, ctrl=True, alt=True)307kmi.properties.sharpness = 135.0308kmi = km.keymap_items.new('mesh.select_similar', 'G', 'PRESS', shift=True)309kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)310kmi.properties.name = 'VIEW3D_MT_edit_mesh_select_mode'311kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS')312kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS', shift=True)313kmi.properties.unselected = True314kmi = km.keymap_items.new('mesh.reveal', 'H', 'PRESS', alt=True)315kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', ctrl=True)316kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', shift=True, ctrl=True)317kmi.properties.inside = True318kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'PRESS', ctrl=True)319kmi = km.keymap_items.new('view3d.edit_mesh_extrude_individual_move', 'E', 'PRESS', shift=True)320kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', alt=True)321kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'322kmi = km.keymap_items.new('mesh.spin', 'R', 'PRESS', alt=True)323kmi = km.keymap_items.new('mesh.fill', 'F', 'PRESS', alt=True)324kmi = km.keymap_items.new('mesh.beautify_fill', 'F', 'PRESS', shift=True, alt=True)325kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', ctrl=True)326kmi = km.keymap_items.new('mesh.tris_convert_to_quads', 'J', 'PRESS', alt=True)327kmi = km.keymap_items.new('mesh.edge_flip', 'F', 'PRESS', shift=True, ctrl=True)328kmi = km.keymap_items.new('mesh.rip_move', 'V', 'PRESS')329kmi = km.keymap_items.new('mesh.merge', 'M', 'PRESS', alt=True)330kmi = km.keymap_items.new('transform.shrink_fatten', 'S', 'PRESS', ctrl=True, alt=True)331kmi = km.keymap_items.new('mesh.edge_face_add', 'F', 'PRESS')332kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'PRESS', shift=True)333kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)334kmi.properties.name = 'INFO_MT_mesh_add'335kmi = km.keymap_items.new('mesh.separate', 'P', 'PRESS')336kmi = km.keymap_items.new('mesh.split', 'Y', 'PRESS')337kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)338kmi = km.keymap_items.new('mesh.delete', 'X', 'PRESS')339kmi = km.keymap_items.new('mesh.delete', 'DEL', 'PRESS')340kmi = km.keymap_items.new('mesh.knife_cut', 'LEFTMOUSE', 'PRESS', key_modifier='K')341kmi = km.keymap_items.new('mesh.knife_cut', 'LEFTMOUSE', 'PRESS', shift=True, key_modifier='K')342kmi.properties.type = 'MIDPOINTS'343kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)344kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', ctrl=True)345kmi.properties.name = 'VIEW3D_MT_edit_mesh_specials'346kmi = km.keymap_items.new('wm.call_menu', 'F', 'PRESS', ctrl=True)347kmi.properties.name = 'VIEW3D_MT_edit_mesh_faces'348kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', ctrl=True)349kmi.properties.name = 'VIEW3D_MT_edit_mesh_edges'350kmi = km.keymap_items.new('wm.call_menu', 'V', 'PRESS', ctrl=True)351kmi.properties.name = 'VIEW3D_MT_edit_mesh_vertices'352kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)353kmi.properties.name = 'VIEW3D_MT_hook'354kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')355kmi.properties.name = 'VIEW3D_MT_uv_map'356kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', ctrl=True)357kmi.properties.name = 'VIEW3D_MT_vertex_group'358kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)359kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'360kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')361kmi.properties.data_path = 'tool_settings.proportional_edit'362kmi.properties.value_1 = 'DISABLED'363kmi.properties.value_2 = 'ENABLED'364kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)365kmi.properties.data_path = 'tool_settings.proportional_edit'366kmi.properties.value_1 = 'DISABLED'367kmi.properties.value_2 = 'CONNECTED'368kmi = km.keymap_items.new('mesh.select_all', 'SELECTMOUSE', 'CLICK')369kmi.properties.action = 'DESELECT'...ProgressionTests.py
Source:ProgressionTests.py  
...5from video_store import Asset, VideoStore6from dialogs import UnableToPlayDialog7import stbt8def test_press_the_key():9    stbt.press('KEY_MENU')10def settings_launch():11    menu_launch()12    stbt.press('KEY_CHANNELDOWN')13    stbt.press('KEY_ENTER')14    assert stbt.wait_until(lambda: stbt.match("images/menu/settings_logo.png")), \15        "Settings not launched"16def enter_pin():17    for _ in " " * 4: stbt.press('KEY_0')18    stbt.press('KEY_ENTER')19def test_DVR_after_changing_settings():20    for _ in " " * 3: stbt.press('KEY_EXIT')21    sleep(1)22    count1 = 123    for _ in " " * 10:24        count1 += 125        settings_launch()26        for _ in " " * 3: stbt.press('KEY_DOWN')27        for _ in " " * 2: stbt.press('KEY_ENTER')28        sleep(1)29        for _ in " " * 2: stbt.press('KEY_RIGHT')30        stbt.press('KEY_ENTER')31    sleep(2)32    enter_pin()33    if count1 % 2 == 0:34        stbt.press('KEY_UP')35        stbt.press('KEY_ENTER')36        for _ in " " * 2: stbt.press('KEY_DOWN')37        stbt.press('KEY_ENTER')38    else:39        stbt.press('KEY_UP')40        stbt.press('KEY_DOWN')41        stbt.press('KEY_ENTER')42        stbt.press('KEY_DOWN')43        stbt.press('KEY_ENTER')44    stbt.press('KEY_RIGHT')45    stbt.press('KEY_ENTER')46    sleep(2)47    enter_pin()48    for _ in " " * 2: stbt.press('KEY_RIGHT')49    stbt.press('KEY_DOWN')50    stbt.press('KEY_ENTER')51    stbt.press('KEY_LEFT')52    stbt.press('KEY_ENTER')53    stbt.press('KEY_RIGHT')54    stbt.press('KEY_ENTER')55    stbt.press('KEY_RIGHT')56    stbt.press('KEY_ENTER')57    sleep(2)58    enter_pin()59    stbt.press('KEY_RIGHT')60    stbt.press('KEY_DOWN')61    stbt.press('KEY_ENTER')62    stbt.press('KEY_LEFT')63    stbt.press('KEY_DOWN')64    stbt.press('KEY_ENTER')65    stbt.press('KEY_RIGHT')66    stbt.press('KEY_ENTER')67    mydvr_launch()68    count = 069    while True:70        stbt.press('KEY_ENTER')71        sleep(1)72        if stbt.match('images/cta/watch.png') or stbt.match('images/cta/resume.png'): break73        count += 174        assert count < 16, \75            "Could not find recording to play in DVR page"76        sleep(2)77    stbt.press('KEY_ENTER')78    sleep(3)79    assert stbt.wait_for_motion(timeout_secs=30)80def mydvr_launch():81    for _ in " " * 3: stbt.press('KEY_EXIT')82    sleep(1)83    stbt.press('KEY_MYDVR')84    assert stbt.wait_until(lambda: stbt.match("images/dvr/my_dvr.png")), \85        "MyDVR not launched"86def test_modify_DVR_options_10plus_times():87    counter = 188    for _ in " " * 3: stbt.press('KEY_EXIT')89    sleep(5)90    stbt.press('KEY_RECORD')91    sleep(2)92    for _ in range(10):93        for _ in " " * 2: stbt.press('KEY_EXIT')94        sleep(2)95        stbt.press('KEY_RECORD')96        if not stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_rec.png")) and not stbt.wait_until(97                lambda: stbt.match("images/dvr/edit_ep_deleted.png")):98            for _ in " " * 2: stbt.press('KEY_EXIT')99            sleep(2)100            stbt.press('KEY_RECORD')101        if counter == 1 and stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_deleted.png")):102            stbt.press('KEY_RIGHT')103            stbt.press('KEY_UP')104            for _ in " " * 3: stbt.press('KEY_LEFT')105            stbt.press('KEY_ENTER')106        sleep(2)107        counter += 1108        if counter % 2 == 0:109            stbt.press('KEY_RIGHT')110            assert stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_deleted.png")), \111                "Cannot edit recording setting"112            stbt.press('KEY_UP')113            for _ in " " * 3: stbt.press('KEY_LEFT')114            stbt.press('KEY_ENTER')115        else:116            stbt.press('KEY_RIGHT')117            assert stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_rec.png")), \118                "Cannot edit recording setting"119            stbt.press('KEY_UP')120            for _ in " " * 3: stbt.press('KEY_LEFT')121            stbt.press('KEY_ENTER')122def test_modify_DVR_from_miniG_50plus_times():123    counter = 1124    for _ in " " * 3: stbt.press('KEY_EXIT')125    sleep(5)126    stbt.press('KEY_RECORD')127    sleep(2)128    for _ in range(50):129        for _ in " " * 2: stbt.press('KEY_EXIT')130        sleep(3)131        for _ in " " * 2: stbt.press('KEY_ENTER')132        sleep(1)133        stbt.press('KEY_RECORD')134        if not stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_rec.png")) and not stbt.wait_until(135                lambda: stbt.match("images/dvr/edit_ep_deleted.png")):136            stbt.press('KEY_RECORD')137        if counter == 1 and stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_deleted.png")):138            stbt.press('KEY_RIGHT')139            stbt.press('KEY_UP')140            for _ in " " * 3: stbt.press('KEY_LEFT')141            stbt.press('KEY_ENTER')142        sleep(2)143        counter += 1144        if counter % 2 == 0:145            stbt.press('KEY_RIGHT')146            assert stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_deleted.png")), \147                "Cannot edit recording setting"148            stbt.press('KEY_UP')149            for _ in " " * 3: stbt.press('KEY_LEFT')150            stbt.press('KEY_ENTER')151        else:152            stbt.press('KEY_RIGHT')153            assert stbt.wait_until(lambda: stbt.match("images/dvr/edit_ep_rec.png")), \154                "Cannot edit recording setting"155            stbt.press('KEY_UP')156            for _ in " " * 3: stbt.press('KEY_LEFT')157            stbt.press('KEY_ENTER')158def test_tuning_channels_5_times():159    for _ in " " * 3: stbt.press('KEY_EXIT')160    if not stbt.wait_until(lambda: stbt.match("images/env/do_you_want_to_upgrade.png")) and not stbt.wait_until(161            lambda: stbt.match("images/env/channel_unavailable.png")) and not stbt.wait_until(162            lambda: stbt.match("images/env/title_blocked.png")):163        assert stbt.wait_until(lambda: stbt.wait_for_motion()), \164            "Live TV not reached at test start"165    channels = [25, 31, 27, 29, 30]166    t = 0167    for ch in channels:168        t += 1169        for x in list(str(ch)):170            stbt.press("KEY_" + x)171            sleep(0.6)172        sleep(4)173        if stbt.match('images/dvr/continue_to_miniguide.png') and t == 1:174            for _ in " " * 2: stbt.press('KEY_RIGHT')175            for _ in " " * 2: stbt.press('KEY_ENTER')176            stbt.press('KEY_RIGHT')177            stbt.press('KEY_ENTER')178        print (t)179        sleep(20)180        if not stbt.wait_until(lambda: stbt.match("images/env/do_you_want_to_upgrade.png")) and not stbt.wait_until(181                lambda: stbt.match("images/env/channel_unavailable.png")) and not stbt.wait_until(182                lambda: stbt.match("images/env/title_blocked.png")):183            assert stbt.wait_until(lambda: stbt.wait_for_motion()), \184                "New channel " + str(ch) + " not reached on channel change number " + t185def test_tuning_channels_20plus_times():186    for _ in " " * 3: stbt.press('KEY_EXIT')187    if not stbt.wait_until(lambda: stbt.match("images/env/do_you_want_to_upgrade.png")) and not stbt.wait_until(188            lambda: stbt.match("images/env/channel_unavailable.png")):189        assert stbt.wait_until(lambda: stbt.wait_for_motion()), \190            "Live TV not reached at test start"191    channels = [21, 24, 27, 29]192    t = 0193    for _ in range(5):194        for ch in channels:195            t += 1196            for x in list(str(ch)):197                stbt.press("KEY_" + x)198                sleep(0.6)199            sleep(4)200            if stbt.match('images/dvr/continue_to_miniguide.png') and t == 1:201                for _ in " " * 2: stbt.press('KEY_RIGHT')202                for _ in " " * 2: stbt.press('KEY_ENTER')203                stbt.press('KEY_RIGHT')204                stbt.press('KEY_ENTER')205            print (t)206            if not stbt.wait_until(lambda: stbt.match("images/env/do_you_want_to_upgrade.png")) and not stbt.wait_until(207                    lambda: stbt.match("images/env/channel_unavailable.png")):208                assert stbt.wait_until(lambda: stbt.wait_for_motion()), \209                    "New channel " + str(ch) + " not reached on channel change number " + t210def test_play_VOD_50plus_times():211    for _ in " " * 3: stbt.press('KEY_EXIT')212    VideoStore.open()213    # Find an asset that hasn't been rented yet.214    for _ in range(20):  # Try 20 assets215        # Wait for asset title to stabilise -- it loads slightly after the216        # Video Store logo appears.217        title = wait_until(lambda: VideoStore().selection, stable_secs=1)218        print "Checking asset to see if we can rent it: %s" % title219        stbt.press("KEY_ENTER")220        asset = wait_until(Asset, timeout_secs=20)221        if asset.rentable:222            print "Asset is rentable; trying to rent it"223            asset.rent()224            try:225                stbt.wait_for_motion(timeout_secs=30,226                                     mask="images/vod/mask-out-playbar.png")227                print "Successfully rented: %s" % title228                break229            except stbt.MotionTimeout:230                if UnableToPlayDialog():231                    UnableToPlayDialog().dismiss()232                else:233                    assert False, "Didn't detect video playback *nor* " \234                                  "the 'Unable to Play' dialog."235        stbt.press("KEY_LAST")236        assert wait_until(VideoStore), \237            "Didn't detect VideoStore main carousel after pressing back"238        stbt.press("KEY_RIGHT")239        assert wait_until(240            # pylint:disable=cell-var-from-loop241            lambda: VideoStore().selection != title), \242            "Carousel selection didn't change after pressing right"243    else:244        assert False, "Didn't find rentable playable asset after 20 attempts"245    for _ in range(50):246        stbt.press('KEY_EXIT')247        MyLibrary.open().navigate_to("Expiring Soon", title)248        # MyLibrary.open().navigate_to("Expiring Soon")249        stbt.press('KEY_ENTER')250        assert wait_until(lambda: Asset().title == title)251        assert Asset().selected_button.text == "RESTART"252        stbt.press('KEY_ENTER')253        assert stbt.wait_for_motion(timeout_sec=20)254def test_DVR_playback_10plus_times_yes_TTS():255    # Turn on TTS256    for _ in " " * 3: stbt.press('KEY_EXIT')257    GNarration_setting("On")258    for _ in range(10):259        count = 0260        for _ in " " * 3: stbt.press('KEY_EXIT')261        sleep(2)262        if stbt.match('images/env/exit_overlay.png'):263            stbt.press('KEY_ENTER')264            sleep(2)265        sleep(3)266        stbt.press('KEY_MYDVR')267        sleep(3)268        if stbt.match('images/dvr/cancel_a_recording.png'):269            for _ in " " * 2: stbt.press('KEY_RIGHT')270            for _ in " " * 2: stbt.press('KEY_ENTER')271            stbt.press('KEY_RIGHT')272            stbt.press('KEY_ENTER')273        assert stbt.wait_until(lambda: stbt.match("images/dvr/my_dvr.png")), \274            "MyDVR not launched"275        while True:276            stbt.press('KEY_ENTER')277            sleep(1)278            if stbt.match('images/cta/watch.png') or stbt.match('images/cta/resume.png'): break279            count += 1280            assert count < 16, \281                "Could not find recording to play in DVR page"282        sleep(2)283        stbt.press('KEY_ENTER')284        sleep(3)285        assert stbt.wait_for_motion(timeout_secs=20)286def test_DVR_playback_50plus_times_no_TTS():287    # Turn off TTS288    for _ in " " * 3: stbt.press('KEY_EXIT')289    count = 0290    # GNarration_setting("Off")291    for _ in range(51):292        count = 0293        for _ in " " * 3: stbt.press('KEY_EXIT')294        sleep(3)295        stbt.press('KEY_MYDVR')296        sleep(3)297        if stbt.match('images/dvr/cancel_a_recording.png'):298            for _ in " " * 2: stbt.press('KEY_RIGHT')299            for _ in " " * 2: stbt.press('KEY_ENTER')300            stbt.press('KEY_RIGHT')301            stbt.press('KEY_ENTER')302        assert stbt.wait_until(lambda: stbt.match("images/dvr/my_dvr.png")), \303            "MyDVR not launched"304        while True:305            stbt.press('KEY_ENTER')306            sleep(1)307            if stbt.match('images/cta/watch.png') or stbt.match('images/cta/resume.png'): break308            count += 1309            assert count < 20, \310                "Could not find recording to play in DVR page"311        sleep(2)312        stbt.press('KEY_ENTER')313        sleep(3)314        assert stbt.wait_for_motion(timeout_secs=20)315def guide_launch():316    stbt.press('KEY_GUIDE')317    assert stbt.wait_until(lambda: stbt.match("images/guide/guide_options.png")), \318        "Guide not launched"319def menu_launch():320    for _ in " " * 2: stbt.press('KEY_EXIT')321    stbt.press('KEY_MENU')322    assert stbt.wait_until(lambda: stbt.match("images/menu/menu_logo.png")), \323        "Menu not launched"324def test_random_presses_multiple_session():325    for _ in " " * 3: stbt.press('KEY_EXIT')326    for _ in " " * 10:327        guide_launch()328        for _ in " " * 3: stbt.press('KEY_DOWN')329        for _ in " " * 3: stbt.press('KEY_RIGHT')330        for _ in " " * 3: stbt.press('KEY_LEFT')331        menu_launch()332        stbt.press('KEY_UP')333        stbt.press('KEY_ENTER')334        sleep(1)335        stbt.press('KEY_INFO')336        sleep(2)337        stbt.press('KEY_LAST')338        for _ in " " * 2: stbt.press('KEY_OPTIONS')339        sleep(1)340        for _ in " " * 3: stbt.press('KEY_EXIT')341        count = 0342        while True:343            if not stbt.wait_until(lambda: stbt.wait_for_motion(timeout_secs=10)):344                stbt.press('KEY_CHANNELUP')345            else:346                break347            count += 1348            assert count < 4, \349                "No motion found on Live after 4 channel changes"350        menu_launch()351        for _ in " " * 5: stbt.press('KEY_UP')352        for _ in " " * 2: stbt.press('KEY_DOWN')353        stbt.press('KEY_ENTER')354        for _ in " " * 5: stbt.press('KEY_DOWN')355        for _ in " " * 5: stbt.press('KEY_UP')356        stbt.press('KEY_LEFT')357        stbt.press('KEY_RIGHT')358        stbt.press('KEY_LEFT')359        stbt.press('KEY_RIGHT')360        stbt.press('KEY_LEFT')361        stbt.press('KEY_RIGHT')362        stbt.press('KEY_ENTER')363        for _ in " " * 3: stbt.press('KEY_EXIT')364        assert stbt.wait_for_motion(timeout_secs=20)365def test_20_trickplay_buttons_on_TSB():366    for _ in " " * 3: stbt.press('KEY_EXIT')367    if stbt.wait_until(lambda: stbt.match("images/dvr/pause.png")):368        stbt.press('KEY_PLAYPAUSE')369    count = 0370    while True:371        if not stbt.wait_until(lambda: stbt.wait_for_motion(timeout_secs=10)):372            stbt.press('KEY_CHANNELUP')373        else:374            break375        count += 1376        assert count < 4, \377            "No motion found on Live after 4 channel changes"378    sleep(2)379    stbt.press('KEY_PLAYPAUSE')380    assert stbt.wait_until(lambda: stbt.match("images/dvr/pause.png")), \381        "Unable to pause Live"382    sleep(50)383    for _ in range(5):384        stbt.press('KEY_PLAYPAUSE')385        assert stbt.wait_until(lambda: stbt.match("images/dvr/play.png")), \386            "Unable to play Live after pause"387        stbt.press('KEY_LEFT')388        assert stbt.wait_until(lambda: stbt.match("images/dvr/rewind.png")), \389            "Unable to rewind Live"390        for _ in " " * 2: stbt.press('KEY_RIGHT')391        assert stbt.wait_until(lambda: stbt.match("images/dvr/fastforward.png")), \392            "Unable to fastforward Live"393        stbt.press('KEY_PLAYPAUSE')394        assert stbt.wait_until(lambda: stbt.match("images/dvr/play.png")), \395            "Unable to play Live"396        stbt.press('KEY_PLAYPAUSE')397        assert stbt.wait_until(lambda: stbt.match("images/dvr/pause.png")), \398            "Unable to pause Live"399def test_20_trickplay_buttons_on_TSB_iguide():400    if stbt.wait_until(lambda: stbt.match("images/dvr/i_pause.png")):401        stbt.press('KEY_PLAY')402    count = 0403    while True:404        if not stbt.wait_until(lambda: stbt.wait_for_motion(timeout_secs=10)):405            stbt.press('KEY_CHANNELUP')406        else:407            break408        count += 1409        assert count < 4, \410            "No motion found on Live after 4 channel changes"411    sleep(2)412    stbt.press('KEY_PAUSE')413    assert stbt.wait_until(lambda: stbt.match("images/dvr/i_pause.png")), \414        "Unable to pause Live"415    sleep(80)416    for _ in range(10):417        stbt.press('KEY_PLAY')418        assert stbt.wait_until(lambda: stbt.match("images/dvr/i_play.png")), \419            "Unable to play Live after pause"420        stbt.press('KEY_REWIND')421        assert stbt.wait_until(lambda: stbt.match("images/dvr/i_rewind.png")), \422            "Unable to rewind Live"423        for _ in " " * 2: stbt.press('KEY_FASTFORWARD')424        assert stbt.wait_until(lambda: stbt.match("images/dvr/i_fastforward.png")), \425            "Unable to fastforward Live"426        stbt.press('KEY_PLAY')427        assert stbt.wait_until(lambda: stbt.match("images/dvr/i_play.png")), \428            "Unable to play Live"429        stbt.press('KEY_PAUSE')430        assert stbt.wait_until(lambda: stbt.match("images/dvr/i_pause.png")), \...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
