Node Editor¶
Quick Reference¶
Detailed Reference¶
Note
Hotkeys marked with the “(default)” prefix are inherited from the default blender keymap
-
Alt-EVT_TWEAK_A
→ node.select_lasso : TWEAK → ANY¶ Lasso Select
bpy.ops.node.select_lasso(path=[], deselect=False, extend=True)
-
Shift-Alt-EVT_TWEAK_A
→ node.select_lasso : TWEAK → ANY¶ Lasso Select
bpy.ops.node.select_lasso(path=[], deselect=False, extend=True)
Properties: Values: Deselect True
-
Alt-SELECTMOUSE
→ node.backimage_sample : MOUSE → PRESS¶ Backimage Sample
bpy.ops.node.backimage_sample()
-
Ctrl-A
→ node.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.node.select_all(action=’TOGGLE’)
Properties: Values: Action TOGGLE
-
Tab
→ node.add_search : KEYBOARD → DOUBLE_CLICK¶ Search and Add Node
bpy.ops.node.add_search(type=””, settings=[], use_transform=False, node_item=‘0’)
Properties: Values: Use Transform True
-
(default)
ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Ctrl-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Ctrl-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Alt-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Alt-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Ctrl-Alt-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Ctrl-Alt-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend False
-
(default)
Shift-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Shift-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Ctrl-Shift-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Ctrl-Shift-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Shift-Alt-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Shift-Alt-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Ctrl-Shift-Alt-ACTIONMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
Ctrl-Shift-Alt-SELECTMOUSE
→ node.select : MOUSE → PRESS¶ Select
bpy.ops.node.select(mouse_x=0, mouse_y=0, extend=False)
Properties: Values: Extend True
-
(default)
EVT_TWEAK_S
→ node.select_border : TWEAK → ANY¶ Border Select
bpy.ops.node.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, tweak=False)
Properties: Values: Tweak True
-
(default)
Ctrl-Alt-EVT_TWEAK_A
→ node.select_lasso : TWEAK → ANY¶ Lasso Select
bpy.ops.node.select_lasso(path=[], deselect=False, extend=True)
Properties: Values: Deselect False
-
(default)
Ctrl-Shift-Alt-EVT_TWEAK_A
→ node.select_lasso : TWEAK → ANY¶ Lasso Select
bpy.ops.node.select_lasso(path=[], deselect=False, extend=True)
Properties: Values: Deselect True
-
(default)
C
→ node.select_circle : KEYBOARD → PRESS¶ Circle Select
bpy.ops.node.select_circle(x=0, y=0, radius=1, gesture_mode=0)
-
(default)
LEFTMOUSE
→ node.link : MOUSE → PRESS¶ Link Nodes
bpy.ops.node.link(detach=False)
Properties: Values: Detach False
-
(default)
Ctrl-LEFTMOUSE
→ node.link : MOUSE → PRESS¶ Link Nodes
bpy.ops.node.link(detach=False)
Properties: Values: Detach True
-
(default)
LEFTMOUSE
→ node.resize : MOUSE → PRESS¶ Resize Node
bpy.ops.node.resize()
-
(default)
Shift-LEFTMOUSE
→ node.add_reroute : MOUSE → PRESS¶ Add Reroute
bpy.ops.node.add_reroute(path=[], cursor=6)
-
(default)
Ctrl-LEFTMOUSE
→ node.links_cut : MOUSE → PRESS¶ Cut Links
bpy.ops.node.links_cut(path=[], cursor=9)
-
(default)
Ctrl-Shift-LEFTMOUSE
→ node.select_link_viewer : MOUSE → PRESS¶ Link Viewer
bpy.ops.node.select_link_viewer(NODE_OT_select={“mouse_x”:0, “mouse_y”:0, “extend”:False}, NODE_OT_link_viewer={})
Properties: Values: Select N/A Link to Viewer Node N/A
-
(default)
Alt-MIDDLEMOUSE
→ node.backimage_move : MOUSE → PRESS¶ Background Image Move
bpy.ops.node.backimage_move()
-
(default)
V
→ node.backimage_zoom : KEYBOARD → PRESS¶ Background Image Zoom
bpy.ops.node.backimage_zoom(factor=1.2)
Properties: Values: Factor 0.833329975605011
-
(default)
Alt-V
→ node.backimage_zoom : KEYBOARD → PRESS¶ Background Image Zoom
bpy.ops.node.backimage_zoom(factor=1.2)
Properties: Values: Factor 1.2000000476837158
-
(default)
Alt-HOME
→ node.backimage_fit : KEYBOARD → PRESS¶ Background Image Fit
bpy.ops.node.backimage_fit()
-
(default)
Alt-ACTIONMOUSE
→ node.backimage_sample : MOUSE → PRESS¶ Backimage Sample
bpy.ops.node.backimage_sample()
-
(default)
F
→ node.link_make : KEYBOARD → PRESS¶ Make Links
bpy.ops.node.link_make(replace=False)
Properties: Values: Replace False
-
(default)
Shift-F
→ node.link_make : KEYBOARD → PRESS¶ Make Links
bpy.ops.node.link_make(replace=False)
Properties: Values: Replace True
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name NODE_MT_add
-
(default)
Shift-D
→ node.duplicate_move : KEYBOARD → PRESS¶ Duplicate
bpy.ops.node.duplicate_move(NODE_OT_duplicate={“keep_inputs”:False}, NODE_OT_translate_attach={“TRANSFORM_OT_translate”:{“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, “NODE_OT_attach”:{}, “NODE_OT_insert_offset”:{}})
Properties: Values: Duplicate Nodes N/A Move and Attach N/A
-
(default)
Ctrl-Shift-D
→ node.duplicate_move_keep_inputs : KEYBOARD → PRESS¶ Duplicate
bpy.ops.node.duplicate_move_keep_inputs(NODE_OT_duplicate={“keep_inputs”:False}, NODE_OT_translate_attach={“TRANSFORM_OT_translate”:{“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, “NODE_OT_attach”:{}, “NODE_OT_insert_offset”:{}})
Properties: Values: Duplicate Nodes N/A Move and Attach N/A
-
(default)
Ctrl-P
→ node.parent_set : KEYBOARD → PRESS¶ Make Parent
bpy.ops.node.parent_set()
-
(default)
Alt-P
→ node.detach : KEYBOARD → PRESS¶ Detach Nodes
bpy.ops.node.detach()
-
(default)
Ctrl-J
→ node.join : KEYBOARD → PRESS¶ Join Nodes
bpy.ops.node.join()
-
(default)
H
→ node.hide_toggle : KEYBOARD → PRESS¶ Hide
bpy.ops.node.hide_toggle()
-
(default)
M
→ node.mute_toggle : KEYBOARD → PRESS¶ Toggle Node Mute
bpy.ops.node.mute_toggle()
-
(default)
Shift-H
→ node.preview_toggle : KEYBOARD → PRESS¶ Toggle Node Preview
bpy.ops.node.preview_toggle()
-
(default)
Ctrl-H
→ node.hide_socket_toggle : KEYBOARD → PRESS¶ Toggle Hidden Node Sockets
bpy.ops.node.hide_socket_toggle()
-
(default)
HOME
→ node.view_all : KEYBOARD → PRESS¶ View All
bpy.ops.node.view_all()
-
(default)
NDOF_BUTTON_FIT
→ node.view_all : NDOF → PRESS¶ View All
bpy.ops.node.view_all()
-
(default)
NUMPAD_PERIOD
→ node.view_selected : KEYBOARD → PRESS¶ View Selected
bpy.ops.node.view_selected()
-
(default)
B
→ node.select_border : KEYBOARD → PRESS¶ Border Select
bpy.ops.node.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, tweak=False)
Properties: Values: Tweak False
-
(default)
X
→ node.delete : KEYBOARD → PRESS¶ Delete
bpy.ops.node.delete()
-
(default)
DEL
→ node.delete : KEYBOARD → PRESS¶ Delete
bpy.ops.node.delete()
-
(default)
Ctrl-X
→ node.delete_reconnect : KEYBOARD → PRESS¶ Delete with Reconnect
bpy.ops.node.delete_reconnect()
-
(default)
A
→ node.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.node.select_all(action=’TOGGLE’)
Properties: Values: Action TOGGLE
-
(default)
Ctrl-I
→ node.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.node.select_all(action=’TOGGLE’)
Properties: Values: Action INVERT
-
(default)
Shift-L
→ node.select_linked_to : KEYBOARD → PRESS¶ Select Linked To
bpy.ops.node.select_linked_to()
-
(default)
L
→ node.select_linked_from : KEYBOARD → PRESS¶ Select Linked From
bpy.ops.node.select_linked_from()
-
(default)
Shift-G
→ node.select_grouped : KEYBOARD → PRESS¶ Select Grouped
bpy.ops.node.select_grouped(extend=False, type=’TYPE’)
Properties: Values: Extend False
-
(default)
Ctrl-Shift-G
→ node.select_grouped : KEYBOARD → PRESS¶ Select Grouped
bpy.ops.node.select_grouped(extend=False, type=’TYPE’)
Properties: Values: Extend True
-
(default)
Shift-RIGHT_BRACKET
→ node.select_same_type_step : KEYBOARD → PRESS¶ Activate Same Type Next/Prev
bpy.ops.node.select_same_type_step(prev=False)
Properties: Values: Previous False
-
(default)
Shift-LEFT_BRACKET
→ node.select_same_type_step : KEYBOARD → PRESS¶ Activate Same Type Next/Prev
bpy.ops.node.select_same_type_step(prev=False)
Properties: Values: Previous True
-
(default)
Ctrl-F
→ node.find_node : KEYBOARD → PRESS¶ Find Node
bpy.ops.node.find_node(prev=False)
-
(default)
Ctrl-G
→ node.group_make : KEYBOARD → PRESS¶ Make Group
bpy.ops.node.group_make()
-
(default)
Alt-G
→ node.group_ungroup : KEYBOARD → PRESS¶ Ungroup
bpy.ops.node.group_ungroup()
-
(default)
P
→ node.group_separate : KEYBOARD → PRESS¶ Separate
bpy.ops.node.group_separate(type=’COPY’)
-
(default)
Tab
→ node.group_edit : KEYBOARD → PRESS¶ Edit Group
bpy.ops.node.group_edit(exit=False)
Properties: Values: Exit False
-
(default)
Ctrl-Tab
→ node.group_edit : KEYBOARD → PRESS¶ Edit Group
bpy.ops.node.group_edit(exit=False)
Properties: Values: Exit True
-
(default)
Ctrl-R
→ node.read_renderlayers : KEYBOARD → PRESS¶ Read Render Layers
bpy.ops.node.read_renderlayers()
-
(default)
Shift-R
→ node.read_fullsamplelayers : KEYBOARD → PRESS¶ Read Full Sample Layers
bpy.ops.node.read_fullsamplelayers()
-
(default)
Z
→ node.render_changed : KEYBOARD → PRESS¶ Render Changed Layer
bpy.ops.node.render_changed()
-
(default)
Ctrl-C
→ node.clipboard_copy : KEYBOARD → PRESS¶ Copy to Clipboard
bpy.ops.node.clipboard_copy()
-
(default)
Ctrl-V
→ node.clipboard_paste : KEYBOARD → PRESS¶ Paste from Clipboard
bpy.ops.node.clipboard_paste()
-
(default)
Ctrl-B
→ node.viewer_border : KEYBOARD → PRESS¶ Viewer Border
bpy.ops.node.viewer_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True)
-
(default)
Ctrl-Alt-B
→ node.clear_viewer_border : KEYBOARD → PRESS¶ Clear Viewer Border
bpy.ops.node.clear_viewer_border()
-
(default)
G
→ node.translate_attach : KEYBOARD → PRESS¶ Move and Attach
bpy.ops.node.translate_attach(TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, NODE_OT_attach={}, NODE_OT_insert_offset={})
Properties: Values: Translate N/A Attach Nodes N/A Insert Offset N/A
-
(default)
EVT_TWEAK_A
→ node.translate_attach : TWEAK → ANY¶ Move and Attach
bpy.ops.node.translate_attach(TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, NODE_OT_attach={}, NODE_OT_insert_offset={})
Properties: Values: Translate N/A Attach Nodes N/A Insert Offset N/A
-
(default)
EVT_TWEAK_S
→ node.translate_attach : TWEAK → ANY¶ Move and Attach
bpy.ops.node.translate_attach(TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, NODE_OT_attach={}, NODE_OT_insert_offset={})
Properties: Values: Translate N/A Attach Nodes N/A Insert Offset N/A
-
(default)
G
→ transform.translate : KEYBOARD → PRESS¶ Translate
bpy.ops.transform.translate(value=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation=’GLOBAL’, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, release_confirm=False)
Properties: Values: Confirm on Release True
-
(default)
EVT_TWEAK_A
→ transform.translate : TWEAK → ANY¶ Translate
bpy.ops.transform.translate(value=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation=’GLOBAL’, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, release_confirm=False)
Properties: Values: Confirm on Release True
-
(default)
EVT_TWEAK_S
→ transform.translate : TWEAK → ANY¶ Translate
bpy.ops.transform.translate(value=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation=’GLOBAL’, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, release_confirm=False)
Properties: Values: Confirm on Release True
-
(default)
R
→ transform.rotate : KEYBOARD → PRESS¶ Rotate
bpy.ops.transform.rotate(value=0, axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation=’GLOBAL’, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), gpencil_strokes=False, release_confirm=False)
-
(default)
S
→ transform.resize : KEYBOARD → PRESS¶ Resize
bpy.ops.transform.resize(value=(1, 1, 1), constraint_axis=(False, False, False), constraint_orientation=’GLOBAL’, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), gpencil_strokes=False, texture_space=False, remove_on_cancel=False, release_confirm=False)
-
(default)
Alt-D
→ node.move_detach_links : KEYBOARD → PRESS¶ Detach
bpy.ops.node.move_detach_links(NODE_OT_links_detach={}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, NODE_OT_insert_offset={})
Properties: Values: Detach Links N/A Translate N/A Insert Offset N/A
-
(default)
Alt-EVT_TWEAK_A
→ node.move_detach_links_release : TWEAK → ANY¶ Detach
bpy.ops.node.move_detach_links_release(NODE_OT_links_detach={}, NODE_OT_translate_attach={“TRANSFORM_OT_translate”:{“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, “NODE_OT_attach”:{}, “NODE_OT_insert_offset”:{}})
Properties: Values: Detach Links N/A Move and Attach N/A
-
(default)
Alt-EVT_TWEAK_S
→ node.move_detach_links : TWEAK → ANY¶ Detach
bpy.ops.node.move_detach_links(NODE_OT_links_detach={}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False}, NODE_OT_insert_offset={})
Properties: Values: Detach Links N/A Translate N/A Insert Offset N/A
-
(default)
Shift-Tab
→ wm.context_toggle : KEYBOARD → PRESS¶ Context Toggle
bpy.ops.wm.context_toggle(data_path=””)
Properties: Values: Context Attributes tool_settings.use_snap
Context Enum Menu
bpy.ops.wm.context_menu_enum(data_path=””)
Properties: Values: Context Attributes tool_settings.snap_node_element