Fighting Game · Guides & deep dives

Sequencer Hotkeys

request.

5sections2 minread

On this page

Task: TODOS.phase-72.72.15.2.8

The sequencer hotkey surface is a V2Editor TimelineVisualizer command model for keyboard-driven timeline editing. It maps validated input chords to named sequencer actions, resolves commands by action or chord, and returns the resulting playback, playhead, selection, and sequence mutation state.

Runtime API#

  • Binding spec: FV2SequencerHotkeyBindingSpec
  • Panel spec: FV2SequencerHotkeyPanelSpec
  • Request: FV2SequencerHotkeyRequest
  • Result: FV2SequencerHotkeyResult
  • Action enum: EV2SequencerHotkeyActionType
  • Issue enum: EV2SequencerHotkeyIssueType

ApplySequencerHotkeyRequest accepts a sequence, hotkey panel spec, and request. The request can name an action directly or provide an input chord for lookup. The result preserves the updated sequence and reports command id, normalized chord, playhead frame, selection, and mutation flags.

Default Chords#

  • Space: play/pause
  • Period: next keyframe
  • Comma: previous keyframe
  • S: set keyframe on the selected track at the current frame
  • Delete: delete selected keyframes or the keyframe under the playhead
  • Ctrl+K: split the selected track at the current frame

Behavior#

  • The panel spec targets TimelineVisualizer, shows shortcut hints, and validates duplicate input-chord conflicts.
  • Play/pause toggles playback state without mutating sequence data.
  • Next/previous keyframe navigation can scope to the selected track or search all visible keyframes when no track is selected.
  • Set keyframe creates a deterministic key id at the current frame, copies the nearest keyframe value when available, sorts the track by frame, and selects the new keyframe.
  • Delete keyframe removes selected keyframes, or the keyframe at the current playhead frame when no explicit selection is present.
  • Split track partitions keyframes into left and right track rows and selects the new right-side track.
  • Locked tracks reject set, delete, and split mutations while still allowing navigation.

The default QA fixture uses Seq.DataModel.CouncilIntro, selected track Track.Cassia.Transform, and frame 45 to prove navigation to frame 90, mid-track keyframe insertion, selected-keyframe deletion, and Ctrl+K split behavior.

QA Inventory#

  • Bindings: verify every default chord maps to the expected command and duplicate chord validation is active.
  • Playback: verify play/pause toggles bPlaying and does not mutate the sequence.
  • Navigation: verify next/previous keyframe moves the playhead and selects the target keyframe.
  • Keyframe mutation: verify set keyframe adds a selected keyframe and delete removes selected or playhead keyframes.
  • Split track: verify Ctrl+K creates a right-side split track with later keyframes and selects it.
  • Off-path: reject unknown chords, duplicate set-keyframe frames, split without a selected track, and locked-track deletion.

js_repl Playwright interaction was unavailable in this session and the affected surface is Unreal editor data rather than browser-rendered UI, so verification is through UE editor automation and contract gates.

Verification#

  • python3 V2/ue/Tools/check-v2-sequencer-hotkeys.py
  • V2.Editor.Sequencer.Hotkeys
  • python3 V2/ue/Tools/check-v2-editor-module.py
  • python3 V2/ue/Tools/check-v2-ci-workflow.py