Reference Guide
Every button, hotkey, strip interaction, and toolbar control — sourced directly from the code. Start with the layout map to orient yourself, then jump to any section.
Layout Map
KeyPro docks below Maya's native timeline using workspaceControl.
The panel is divided into four horizontal zones stacked top to bottom.
Data Layers
The strip renders four independent data layers simultaneously, all in a single painted surface — no child widgets, no flicker.
| Layer | What it shows | Color |
|---|---|---|
| Heat Bar |
A 2px bar at the very top of the strip. Encodes how much of the master range you're currently viewing.
Full master
→
75%
→
50%
→
25%
→
Zoomed deep
|
Blue → Red |
| Audio Waveform |
Cached RMS waveform rendered per screen pixel using the audio node attached to the Maya scene. Mirrored vertically, centered in the data zone. Updates on scene open and new scene. Non-interactive — purely visual.
Reads Maya's audio node automatically. No setup required.
|
Gray |
| Key Density Ticks |
Every keyframe on every selected node rendered as a vertical tick in the data zone. Tick height scales with the tick size setting. Color encodes how many curves have a key at that frame:
1–2 curves
→
Mid density
→
Max density
|
Blue → Pink |
| Master Range Markers |
Cyan vertical lines at the master range start and end. If Handles is on, blue transparent zones extend outward by the handle frame count. Double-click the strip to snap Maya's playback range back to the master range.
Master range is persisted as JSON alongside your .ma / .mb scene file.
|
Cyan |
| Playhead | Orange vertical line + downward-pointing triangle at the top. Tracks Maya's current time. Scrub by left-dragging anywhere on the strip. | Orange |
| Shift-Select Range | Orange transparent fill between shift-drag start and end. Edge lines show exact bounds. Frame range label appears in the center when wide enough. Keys within this range are the target for nudge, delete, cut/copy, and mid-mouse drag operations. | Orange |
| Hover Ghost | Green bar under the cursor while hovering (not scrubbing). Shows which frame you're about to interact with. Disappears during drag operations. | Green |
Mouse Controls
All interactions happen directly on the strip surface. No modifier key is needed for the most common operations.
Preview is instant; commit on release via cmds.keyframe — single undoable chunk.
Keyboard
Keyboard shortcuts active when the strip has focus. Spacebar requires the optional override to be enabled in Settings.
Inbetweener
A floating blend slider that opens on Ctrl + Right Click at any frame. Blends attribute values between the two bracketing keys on either side of the clicked frame.
| 0% | Copies the value of the previous key exactly. |
| 50% | Linear midpoint between prev and next key values. |
| 100% | Copies the value of the next key exactly. |
| Drag slider | Live preview — values update in the viewport as you drag. No key is written until you release. |
| Release | Commits the blended value as a keyframe at the clicked frame. Single undoable operation. |
| Click outside | Same as release — commits and closes the popup. |
| Escape | Cancels — undoes the preview and closes without writing a key. |
| Enter | Commits at the current slider value and closes. |
Tween Machine
The leftmost section of the anim bar. A full aTools-compatible tween row with overshoots, linear tweens, and percentage presets. Operates on graph-editor selected keys when the GE is visible, otherwise on the timeline range selection.
| Button | % | What it does |
|---|---|---|
| ◂◂ | −50% | Overshoot 50% past the previous key value |
| ◂ | −30% | Overshoot 30% past the previous key value |
| ◁ | −10% | Overshoot 10% past the previous key value |
| P | 0% | Copy the previous key's value exactly |
| 33 | 10% | 10% of the way from prev toward next |
| 20 | 20% | 20% of the way from prev toward next |
| 10 | 33% | 33% of the way from prev toward next |
| 50 | 50% | Exact midpoint between prev and next |
| 10 | 66% | 66% of the way toward next |
| 20 | 80% | 80% of the way toward next |
| 33 | 90% | 90% of the way toward next |
| N | 100% | Copy the next key's value exactly |
| ▷ | 110% | Overshoot 10% past the next key value |
| ▸ | 130% | Overshoot 30% past the next key value |
| ▸▸ | 150% | Overshoot 50% past the next key value |
Stepped / Holds
Four numbered buttons (1, 2, 3, 4) in the STEP section of the anim bar. Two modes depending on modifier key.
Tangents
Seven tangent buttons in the TANGENT section. Click applies to the current GE selection or timeline range. Right-click reveals options for applying to all keys, first/last key only, or in/out direction independently.
Special Tools
Seven rig-aware tools in the TOOLS section. Most support right-click for additional options.
Right-click — shows Copy / Copy (relative to target) / Paste / Paste to All Frames options.
Paste sets translate and rotate keys at the copied world matrix position.
Right-click — Position Only, Rotation Only, Position + Rotation, or All Keys.
Right-click — Mirror All Keys, Mirror Range, or Mirror Pose options.
Curve Tools
Seven tools in the CURVES section. Slider tools (EI, EO, SM, PP) open a floating horizontal slider on click — drag to preview live, release to commit. Discrete tools (SB, SKT, PH) fire immediately.
Bake Tools
Three bake operations in the BAKE section. All are destructive and show a confirmation dialog before running. Project Handles is called automatically before each bake.
Transport Bar
Sits to the right of the strip. Mirrors Maya's native transport layout. All playback state is synced via scriptJob — the play button updates to ⏹ while playing.
Range Bar
The bottom bar of KeyPro. Live readout on the left, master range controls and toggles on the right.
| ▶ N | Live current frame counter. Updates every frame during playback. |
| A → B | Live scene playback range readout (scene_start → scene_end). Updates when Maya's range changes. |
| MASTER [start] → [end] | Spinbox inputs for the master range start and end frames. Editing either field and pressing Enter (or clicking away) applies the new master range. The master range is saved as JSON next to the scene file on every change. |
| HANDLES | Toggle. When on, blue transparent zones extend outward from the master range markers by the handle frame count (configured in Settings). Handles represent the ease-in/out buffer frames. Double-click the strip with handles on applies the extended range to Maya. |
| AUTO-FRAME | Toggle. When on, the Graph Editor zooms automatically to fit the key range of the current selection on every SelectionChanged event. Also fires when the strip's view range changes (zoom/pan). Mirrors aTools framePlaybackRange behavior. |
| JUMP-KEY | Toggle. When on, the timeline jumps to the average time of any keys selected in the Graph Editor on SelectionChanged. A guard flag prevents the scriptJob from retriggering itself. Mirrors aTools animMod.jumpToSelectedKey. |
| ⚙ | Opens the Settings panel. See Settings section. |
Select Sets Bar
A compact bar above the anim bar. Each button is a named selection set — clicking it reselects that group of objects in Maya. Sets are saved per-scene.
| Click button | Reselects all objects in that set in Maya's viewport. |
| Right-click button | Context menu: Rename, Update (replace set contents with current selection), Delete. |
| + button | Creates a new set from the current Maya selection. A dialog prompts for the set name. |
Settings
Opens as a floating panel near the ⚙ button. Closes when you click elsewhere.
| Spacebar Override |
Remaps the Space key from Maya's default (maximize pane) to KeyPro's Play/Stop toggle. Uses Maya's runTimeCommand and hotkey system — creates a named command axeTimelinePlayStop. Disabling restores Maya's default ToggleUIElements hotkey. Setting persists in Maya prefs between sessions.
|
| Nudge Step | Sets the default step for the nudge buttons in the Transport Bar. Can also be set by right-clicking the nudge buttons directly. |