Graph Editor

Quick Reference

Hotkey Operator
Ctrl-ACTIONMOUSE bpy.ops.graph.cursor_set()
Ctrl-A bpy.ops.graph.select_all_toggle()
Alt-EVT_TWEAK_A bpy.ops.graph.select_lasso()
Shift-Alt-EVT_TWEAK_A bpy.ops.graph.select_lasso()
Alt-EVT_TWEAK_S bpy.ops.graph.select_border()
Shift-Alt-EVT_TWEAK_S bpy.ops.graph.select_border()
SELECTMOUSE bpy.ops.graph.select_linked()
Ctrl-Alt-SELECTMOUSE bpy.ops.graph.click_insert()
Ctrl-H bpy.ops.wm.context_toggle()
ACTIONMOUSE bpy.ops.graph.cursor_set()
SELECTMOUSE bpy.ops.graph.clickselect()
Alt-SELECTMOUSE bpy.ops.graph.clickselect()
Shift-SELECTMOUSE bpy.ops.graph.clickselect()
Shift-Alt-SELECTMOUSE bpy.ops.graph.clickselect()
Ctrl-Alt-SELECTMOUSE bpy.ops.graph.clickselect()
Ctrl-Shift-Alt-SELECTMOUSE bpy.ops.graph.clickselect()
Ctrl-SELECTMOUSE bpy.ops.graph.select_leftright()
Ctrl-Shift-SELECTMOUSE bpy.ops.graph.select_leftright()
LEFT_BRACKET bpy.ops.graph.select_leftright()
RIGHT_BRACKET bpy.ops.graph.select_leftright()
A bpy.ops.graph.select_all_toggle()
Ctrl-I bpy.ops.graph.select_all_toggle()
B bpy.ops.graph.select_border()
Alt-B bpy.ops.graph.select_border()
Ctrl-B bpy.ops.graph.select_border()
Ctrl-Alt-B bpy.ops.graph.select_border()
Ctrl-EVT_TWEAK_A bpy.ops.graph.select_lasso()
Ctrl-Shift-EVT_TWEAK_A bpy.ops.graph.select_lasso()
C bpy.ops.graph.select_circle()
K bpy.ops.graph.select_column()
Ctrl-K bpy.ops.graph.select_column()
Shift-K bpy.ops.graph.select_column()
Alt-K bpy.ops.graph.select_column()
Ctrl-NUMPAD_PLUS bpy.ops.graph.select_more()
Ctrl-NUMPAD_MINUS bpy.ops.graph.select_less()
L bpy.ops.graph.select_linked()
Ctrl-G bpy.ops.graph.frame_jump()
Shift-S bpy.ops.graph.snap()
Shift-M bpy.ops.graph.mirror()
V bpy.ops.graph.handle_type()
T bpy.ops.graph.interpolation_type()
Ctrl-E bpy.ops.graph.easing_type()
Alt-O bpy.ops.graph.smooth()
Shift-O bpy.ops.graph.sample()
Alt-C bpy.ops.graph.bake()
X bpy.ops.wm.call_menu()
DEL bpy.ops.wm.call_menu()
Shift-D bpy.ops.graph.duplicate_move()
I bpy.ops.graph.keyframe_insert()
Ctrl-Shift-ACTIONMOUSE bpy.ops.graph.click_insert()
Ctrl-C bpy.ops.graph.copy()
Ctrl-V bpy.ops.graph.paste()
Ctrl-Shift-V bpy.ops.graph.paste()
Ctrl-Alt-P bpy.ops.graph.previewrange_set()
HOME bpy.ops.graph.view_all()
NDOF_BUTTON_FIT bpy.ops.graph.view_all()
NUMPAD_PERIOD bpy.ops.graph.view_selected()
NUMPAD_0 bpy.ops.graph.view_frame()
Ctrl-Shift-M bpy.ops.graph.fmodifier_add()
Tab bpy.ops.anim.channels_editable_toggle()
G bpy.ops.transform.translate()
EVT_TWEAK_S bpy.ops.transform.translate()
E bpy.ops.transform.transform()
R bpy.ops.transform.rotate()
S bpy.ops.transform.resize()
O bpy.ops.wm.context_toggle()
, bpy.ops.wm.context_set_enum()
. bpy.ops.wm.context_set_enum()
Ctrl-. bpy.ops.wm.context_set_enum()
M bpy.ops.marker.add()
Ctrl-M bpy.ops.marker.rename()

Detailed Reference

Note

Hotkeys marked with the “(default)” prefix are inherited from the default blender keymap

Ctrl-ACTIONMOUSE → graph.cursor_set : MOUSE → PRESS

Set Cursor

bpy.ops.graph.cursor_set(frame=0, value=0)

Ctrl-A → graph.select_all_toggle : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_all_toggle(invert=False)

Properties: Values:
Invert False
Alt-EVT_TWEAK_A → graph.select_lasso : TWEAK → ANY

Lasso Select

bpy.ops.graph.select_lasso(path=[], deselect=False, extend=True)

Properties: Values:
Deselect False
Shift-Alt-EVT_TWEAK_A → graph.select_lasso : TWEAK → ANY

Lasso Select

bpy.ops.graph.select_lasso(path=[], deselect=False, extend=True)

Properties: Values:
Deselect True
Alt-EVT_TWEAK_S → graph.select_border : TWEAK → ANY

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Extend False
Shift-Alt-EVT_TWEAK_S → graph.select_border : TWEAK → ANY

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Extend True
SELECTMOUSE → graph.select_linked : MOUSE → DOUBLE_CLICK

Select Linked

bpy.ops.graph.select_linked()

Ctrl-Alt-SELECTMOUSE → graph.click_insert : MOUSE → CLICK

Click-Insert Keyframes

bpy.ops.graph.click_insert(frame=1, value=1, extend=False)

(default) Ctrl-H → wm.context_toggle : KEYBOARD → PRESS

Context Toggle

bpy.ops.wm.context_toggle(data_path=””)

Properties: Values:
Context Attributes space_data.show_handles
(default) ACTIONMOUSE → graph.cursor_set : MOUSE → PRESS

Set Cursor

bpy.ops.graph.cursor_set(frame=0, value=0)

(default) SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select False
Only Curves False
Column Select False
(default) Alt-SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select False
Only Curves False
Column Select True
(default) Shift-SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select True
Only Curves False
Column Select False
(default) Shift-Alt-SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select True
Only Curves False
Column Select True
(default) Ctrl-Alt-SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select False
Only Curves True
Column Select False
(default) Ctrl-Shift-Alt-SELECTMOUSE → graph.clickselect : MOUSE → PRESS

Mouse Select Keys

bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Properties: Values:
Extend Select True
Only Curves True
Column Select False
(default) Ctrl-SELECTMOUSE → graph.select_leftright : MOUSE → PRESS

Select Left/Right

bpy.ops.graph.select_leftright(mode=’CHECK’, extend=False)

Properties: Values:
Extend Select False
Mode CHECK
(default) Ctrl-Shift-SELECTMOUSE → graph.select_leftright : MOUSE → PRESS

Select Left/Right

bpy.ops.graph.select_leftright(mode=’CHECK’, extend=False)

Properties: Values:
Extend Select True
Mode CHECK
(default) LEFT_BRACKET → graph.select_leftright : KEYBOARD → PRESS

Select Left/Right

bpy.ops.graph.select_leftright(mode=’CHECK’, extend=False)

Properties: Values:
Extend Select False
Mode LEFT
(default) RIGHT_BRACKET → graph.select_leftright : KEYBOARD → PRESS

Select Left/Right

bpy.ops.graph.select_leftright(mode=’CHECK’, extend=False)

Properties: Values:
Extend Select False
Mode RIGHT
(default) A → graph.select_all_toggle : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_all_toggle(invert=False)

Properties: Values:
Invert False
(default) Ctrl-I → graph.select_all_toggle : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_all_toggle(invert=False)

Properties: Values:
Invert True
(default) B → graph.select_border : KEYBOARD → PRESS

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Axis Range False
Include Handles False
(default) Alt-B → graph.select_border : KEYBOARD → PRESS

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Axis Range True
Include Handles False
(default) Ctrl-B → graph.select_border : KEYBOARD → PRESS

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Axis Range False
Include Handles True
(default) Ctrl-Alt-B → graph.select_border : KEYBOARD → PRESS

Border Select

bpy.ops.graph.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False, include_handles=False)

Properties: Values:
Axis Range True
Include Handles True
(default) Ctrl-EVT_TWEAK_A → graph.select_lasso : TWEAK → ANY

Lasso Select

bpy.ops.graph.select_lasso(path=[], deselect=False, extend=True)

Properties: Values:
Deselect False
(default) Ctrl-Shift-EVT_TWEAK_A → graph.select_lasso : TWEAK → ANY

Lasso Select

bpy.ops.graph.select_lasso(path=[], deselect=False, extend=True)

Properties: Values:
Deselect True
(default) C → graph.select_circle : KEYBOARD → PRESS

Circle Select

bpy.ops.graph.select_circle(x=0, y=0, radius=1, gesture_mode=0)

(default) K → graph.select_column : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_column(mode=’KEYS’)

Properties: Values:
Mode KEYS
(default) Ctrl-K → graph.select_column : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_column(mode=’KEYS’)

Properties: Values:
Mode CFRA
(default) Shift-K → graph.select_column : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_column(mode=’KEYS’)

Properties: Values:
Mode MARKERS_COLUMN
(default) Alt-K → graph.select_column : KEYBOARD → PRESS

Select All

bpy.ops.graph.select_column(mode=’KEYS’)

Properties: Values:
Mode MARKERS_BETWEEN
(default) Ctrl-NUMPAD_PLUS → graph.select_more : KEYBOARD → PRESS

Select More

bpy.ops.graph.select_more()

(default) Ctrl-NUMPAD_MINUS → graph.select_less : KEYBOARD → PRESS

Select Less

bpy.ops.graph.select_less()

(default) L → graph.select_linked : KEYBOARD → PRESS

Select Linked

bpy.ops.graph.select_linked()

(default) Ctrl-G → graph.frame_jump : KEYBOARD → PRESS

Jump to Keyframes

bpy.ops.graph.frame_jump()

(default) Shift-S → graph.snap : KEYBOARD → PRESS

Snap Keys

bpy.ops.graph.snap(type=’CFRA’)

(default) Shift-M → graph.mirror : KEYBOARD → PRESS

Mirror Keys

bpy.ops.graph.mirror(type=’CFRA’)

(default) V → graph.handle_type : KEYBOARD → PRESS

Set Keyframe Handle Type

bpy.ops.graph.handle_type(type=’FREE’)

(default) T → graph.interpolation_type : KEYBOARD → PRESS

Set Keyframe Interpolation

bpy.ops.graph.interpolation_type(type=’CONSTANT’)

(default) Ctrl-E → graph.easing_type : KEYBOARD → PRESS

Set Keyframe Easing Type

bpy.ops.graph.easing_type(type=’AUTO’)

(default) Alt-O → graph.smooth : KEYBOARD → PRESS

Smooth Keys

bpy.ops.graph.smooth()

(default) Shift-O → graph.sample : KEYBOARD → PRESS

Sample Keyframes

bpy.ops.graph.sample()

(default) Alt-C → graph.bake : KEYBOARD → PRESS

Bake Curve

bpy.ops.graph.bake()

(default) X → wm.call_menu : KEYBOARD → PRESS

Call Menu

bpy.ops.wm.call_menu(name=””)

Properties: Values:
Name GRAPH_MT_delete
(default) DEL → wm.call_menu : KEYBOARD → PRESS

Call Menu

bpy.ops.wm.call_menu(name=””)

Properties: Values:
Name GRAPH_MT_delete
(default) Shift-D → graph.duplicate_move : KEYBOARD → PRESS

Duplicate

bpy.ops.graph.duplicate_move(GRAPH_OT_duplicate={“mode”:’TRANSLATION’}, TRANSFORM_OT_transform={“mode”:’TRANSLATION’, “value”:(0, 0, 0, 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})

Properties: Values:
Duplicate Keyframes N/A
Transform N/A
(default) I → graph.keyframe_insert : KEYBOARD → PRESS

Insert Keyframes

bpy.ops.graph.keyframe_insert(type=’ALL’)

(default) Ctrl-Shift-ACTIONMOUSE → graph.click_insert : MOUSE → CLICK

Click-Insert Keyframes

bpy.ops.graph.click_insert(frame=1, value=1, extend=False)

Properties: Values:
Extend True
(default) Ctrl-C → graph.copy : KEYBOARD → PRESS

Copy Keyframes

bpy.ops.graph.copy()

(default) Ctrl-V → graph.paste : KEYBOARD → PRESS

Paste Keyframes

bpy.ops.graph.paste(offset=’START’, merge=’MIX’, flipped=False)

(default) Ctrl-Shift-V → graph.paste : KEYBOARD → PRESS

Paste Keyframes

bpy.ops.graph.paste(offset=’START’, merge=’MIX’, flipped=False)

Properties: Values:
Flipped True
(default) Ctrl-Alt-P → graph.previewrange_set : KEYBOARD → PRESS

Auto-Set Preview Range

bpy.ops.graph.previewrange_set()

(default) HOME → graph.view_all : KEYBOARD → PRESS

View All

bpy.ops.graph.view_all(include_handles=True)

(default) NDOF_BUTTON_FIT → graph.view_all : NDOF → PRESS

View All

bpy.ops.graph.view_all(include_handles=True)

(default) NUMPAD_PERIOD → graph.view_selected : KEYBOARD → PRESS

View Selected

bpy.ops.graph.view_selected(include_handles=True)

(default) NUMPAD_0 → graph.view_frame : KEYBOARD → PRESS

View Frame

bpy.ops.graph.view_frame()

(default) Ctrl-Shift-M → graph.fmodifier_add : KEYBOARD → PRESS

Add F-Curve Modifier

bpy.ops.graph.fmodifier_add(type=’NULL’, only_active=True)

Properties: Values:
Only Active False
(default) Tab → anim.channels_editable_toggle : KEYBOARD → PRESS

Toggle Channel Editability

bpy.ops.anim.channels_editable_toggle(mode=’TOGGLE’, type=’PROTECT’)

(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)

(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)

(default) E → transform.transform : KEYBOARD → PRESS

Transform

bpy.ops.transform.transform(mode=’TRANSLATION’, value=(0, 0, 0, 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)

Properties: Values:
Mode TIME_EXTEND
(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) O → wm.context_toggle : KEYBOARD → PRESS

Context Toggle

bpy.ops.wm.context_toggle(data_path=””)

Properties: Values:
Context Attributes tool_settings.use_proportional_fcurve
(default) , → wm.context_set_enum : KEYBOARD → PRESS

Context Set Enum

bpy.ops.wm.context_set_enum(data_path=””, value=””)

Properties: Values:
Context Attributes space_data.pivot_point
Value BOUNDING_BOX_CENTER
(default) . → wm.context_set_enum : KEYBOARD → PRESS

Context Set Enum

bpy.ops.wm.context_set_enum(data_path=””, value=””)

Properties: Values:
Context Attributes space_data.pivot_point
Value CURSOR
(default) Ctrl-. → wm.context_set_enum : KEYBOARD → PRESS

Context Set Enum

bpy.ops.wm.context_set_enum(data_path=””, value=””)

Properties: Values:
Context Attributes space_data.pivot_point
Value INDIVIDUAL_ORIGINS
(default) M → marker.add : KEYBOARD → PRESS

Add Time Marker

bpy.ops.marker.add()

(default) Ctrl-M → marker.rename : KEYBOARD → PRESS

Rename Marker

bpy.ops.marker.rename(name=”RenamedMarker”)