screenhand 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +165 -446
- package/bin/darwin-arm64/macos-bridge +0 -0
- package/dist/mcp-desktop.js +3615 -400
- package/dist/scripts/export-help-center.js +112 -0
- package/dist/scripts/marketing-loop.js +117 -0
- package/dist/scripts/observer-daemon.js +288 -0
- package/dist/scripts/orchestrator-daemon.js +399 -0
- package/dist/scripts/threads-campaign.js +208 -0
- package/dist/src/community/fetcher.js +109 -0
- package/dist/src/community/index.js +6 -0
- package/dist/src/community/publisher.js +191 -0
- package/dist/src/community/remote-api.js +121 -0
- package/dist/src/community/types.js +3 -0
- package/dist/src/community/validator.js +95 -0
- package/dist/src/context-tracker.js +489 -0
- package/dist/src/ingestion/coverage-auditor.js +233 -0
- package/dist/src/ingestion/doc-parser.js +164 -0
- package/dist/src/ingestion/index.js +8 -0
- package/dist/src/ingestion/menu-scanner.js +152 -0
- package/dist/src/ingestion/reference-merger.js +186 -0
- package/dist/src/ingestion/shortcut-extractor.js +180 -0
- package/dist/src/ingestion/tutorial-extractor.js +170 -0
- package/dist/src/ingestion/types.js +3 -0
- package/dist/src/jobs/manager.js +82 -14
- package/dist/src/jobs/runner.js +138 -15
- package/dist/src/learning/engine.js +356 -0
- package/dist/src/learning/index.js +9 -0
- package/dist/src/learning/locator-policy.js +120 -0
- package/dist/src/learning/pattern-policy.js +89 -0
- package/dist/src/learning/recovery-policy.js +116 -0
- package/dist/src/learning/sensor-policy.js +115 -0
- package/dist/src/learning/timing-model.js +204 -0
- package/dist/src/learning/topology-policy.js +90 -0
- package/dist/src/learning/types.js +9 -0
- package/dist/src/logging/timeline-logger.js +4 -1
- package/dist/src/memory/playbook-seeds.js +200 -0
- package/dist/src/memory/recall.js +60 -8
- package/dist/src/memory/service.js +30 -5
- package/dist/src/memory/store.js +34 -5
- package/dist/src/native/bridge-client.js +253 -31
- package/dist/src/observer/state.js +199 -0
- package/dist/src/observer/types.js +43 -0
- package/dist/src/orchestrator/state.js +68 -0
- package/dist/src/orchestrator/types.js +22 -0
- package/dist/src/perception/ax-source.js +162 -0
- package/dist/src/perception/cdp-source.js +162 -0
- package/dist/src/perception/coordinator.js +771 -0
- package/dist/src/perception/frame-differ.js +287 -0
- package/dist/src/perception/index.js +22 -0
- package/dist/src/perception/manager.js +199 -0
- package/dist/src/perception/types.js +47 -0
- package/dist/src/perception/vision-source.js +399 -0
- package/dist/src/planner/deterministic.js +298 -0
- package/dist/src/planner/executor.js +870 -0
- package/dist/src/planner/goal-store.js +92 -0
- package/dist/src/planner/index.js +21 -0
- package/dist/src/planner/planner.js +520 -0
- package/dist/src/planner/tool-registry.js +71 -0
- package/dist/src/planner/types.js +22 -0
- package/dist/src/platform/explorer.js +213 -0
- package/dist/src/platform/help-center-markdown.js +527 -0
- package/dist/src/platform/learner.js +257 -0
- package/dist/src/playbook/engine.js +296 -11
- package/dist/src/playbook/mcp-recorder.js +204 -0
- package/dist/src/playbook/recorder.js +3 -2
- package/dist/src/playbook/runner.js +1 -1
- package/dist/src/playbook/store.js +139 -10
- package/dist/src/recovery/detectors.js +156 -0
- package/dist/src/recovery/engine.js +327 -0
- package/dist/src/recovery/index.js +20 -0
- package/dist/src/recovery/strategies.js +274 -0
- package/dist/src/recovery/types.js +20 -0
- package/dist/src/runtime/accessibility-adapter.js +55 -18
- package/dist/src/runtime/applescript-adapter.js +8 -2
- package/dist/src/runtime/cdp-chrome-adapter.js +1 -1
- package/dist/src/runtime/executor.js +23 -3
- package/dist/src/runtime/locator-cache.js +24 -2
- package/dist/src/runtime/service.js +59 -15
- package/dist/src/runtime/session-manager.js +4 -1
- package/dist/src/runtime/vision-adapter.js +2 -1
- package/dist/src/state/app-map-types.js +72 -0
- package/dist/src/state/app-map.js +1974 -0
- package/dist/src/state/entity-tracker.js +108 -0
- package/dist/src/state/fusion.js +96 -0
- package/dist/src/state/index.js +21 -0
- package/dist/src/state/ladder-generator.js +236 -0
- package/dist/src/state/persistence.js +156 -0
- package/dist/src/state/types.js +17 -0
- package/dist/src/state/world-model.js +1456 -0
- package/dist/src/util/atomic-write.js +19 -4
- package/dist/src/util/sanitize.js +146 -0
- package/dist-app-maps/com.figma.Desktop.json +959 -0
- package/dist-app-maps/com.hnc.Discord.json +1146 -0
- package/dist-app-maps/notion.id.json +2831 -0
- package/dist-playbooks/canva-screenhand-carousel.json +445 -0
- package/dist-playbooks/codex-desktop.json +76 -0
- package/dist-playbooks/competitor-research-stack.json +122 -0
- package/dist-playbooks/davinci-color-grade.json +153 -0
- package/dist-playbooks/davinci-edit-timeline.json +162 -0
- package/dist-playbooks/davinci-render.json +114 -0
- package/dist-playbooks/devto.json +52 -0
- package/dist-playbooks/discord.json +41 -0
- package/dist-playbooks/google-flow-create-project.json +59 -0
- package/dist-playbooks/google-flow-edit-image.json +90 -0
- package/dist-playbooks/google-flow-edit-video.json +90 -0
- package/dist-playbooks/google-flow-generate-image.json +68 -0
- package/dist-playbooks/google-flow-generate-video.json +191 -0
- package/dist-playbooks/google-flow-open-project.json +48 -0
- package/dist-playbooks/google-flow-open-scenebuilder.json +64 -0
- package/dist-playbooks/google-flow-search-assets.json +64 -0
- package/dist-playbooks/instagram.json +57 -0
- package/dist-playbooks/linkedin.json +52 -0
- package/dist-playbooks/n8n.json +43 -0
- package/dist-playbooks/reddit.json +52 -0
- package/dist-playbooks/threads.json +59 -0
- package/dist-playbooks/x-twitter.json +59 -0
- package/dist-playbooks/youtube.json +59 -0
- package/dist-references/canva.json +646 -0
- package/dist-references/codex-desktop.json +305 -0
- package/dist-references/davinci-resolve-keyboard.json +594 -0
- package/dist-references/davinci-resolve-menu-map.json +1139 -0
- package/dist-references/davinci-resolve-menus-batch1.json +116 -0
- package/dist-references/davinci-resolve-menus-batch2.json +372 -0
- package/dist-references/davinci-resolve-menus-batch3.json +330 -0
- package/dist-references/davinci-resolve-menus-batch4.json +297 -0
- package/dist-references/davinci-resolve-shortcuts.json +333 -0
- package/dist-references/devpost.json +186 -0
- package/dist-references/devto.json +317 -0
- package/dist-references/discord.json +549 -0
- package/dist-references/figma.json +1186 -0
- package/dist-references/finder.json +146 -0
- package/dist-references/google-ads-transparency.json +95 -0
- package/dist-references/google-flow.json +649 -0
- package/dist-references/instagram.json +341 -0
- package/dist-references/linkedin.json +324 -0
- package/dist-references/meta-ad-library.json +86 -0
- package/dist-references/n8n.json +387 -0
- package/dist-references/notes.json +27 -0
- package/dist-references/notion.json +163 -0
- package/dist-references/reddit.json +341 -0
- package/dist-references/threads.json +337 -0
- package/dist-references/x-twitter.json +403 -0
- package/dist-references/youtube.json +373 -0
- package/native/macos-bridge/Package.swift +22 -0
- package/native/macos-bridge/Sources/AccessibilityBridge.swift +482 -0
- package/native/macos-bridge/Sources/AppManagement.swift +339 -0
- package/native/macos-bridge/Sources/CoreGraphicsBridge.swift +537 -0
- package/native/macos-bridge/Sources/ObserverBridge.swift +120 -0
- package/native/macos-bridge/Sources/StreamCapture.swift +136 -0
- package/native/macos-bridge/Sources/VisionBridge.swift +238 -0
- package/native/macos-bridge/Sources/main.swift +498 -0
- package/native/windows-bridge/AppManagement.cs +234 -0
- package/native/windows-bridge/InputBridge.cs +436 -0
- package/native/windows-bridge/Program.cs +270 -0
- package/native/windows-bridge/ScreenCapture.cs +453 -0
- package/native/windows-bridge/UIAutomationBridge.cs +571 -0
- package/native/windows-bridge/WindowsBridge.csproj +17 -0
- package/package.json +12 -1
- package/scripts/postinstall.cjs +127 -0
- package/dist/.audit-log.jsonl +0 -55
- package/dist/.screenhand/memory/.lock +0 -1
- package/dist/.screenhand/memory/actions.jsonl +0 -85
- package/dist/.screenhand/memory/errors.jsonl +0 -5
- package/dist/.screenhand/memory/errors.jsonl.bak +0 -4
- package/dist/.screenhand/memory/state.json +0 -35
- package/dist/.screenhand/memory/state.json.bak +0 -35
- package/dist/.screenhand/memory/strategies.jsonl +0 -12
- package/dist/agent/cli.js +0 -73
- package/dist/agent/loop.js +0 -258
- package/dist/config.js +0 -9
- package/dist/index.js +0 -56
- package/dist/logging/timeline-logger.js +0 -29
- package/dist/mcp/mcp-stdio-server.js +0 -448
- package/dist/mcp/server.js +0 -347
- package/dist/mcp-entry.js +0 -59
- package/dist/memory/recall.js +0 -160
- package/dist/memory/research.js +0 -98
- package/dist/memory/seeds.js +0 -89
- package/dist/memory/session.js +0 -161
- package/dist/memory/store.js +0 -391
- package/dist/memory/types.js +0 -4
- package/dist/monitor/codex-monitor.js +0 -377
- package/dist/monitor/task-queue.js +0 -84
- package/dist/monitor/types.js +0 -49
- package/dist/native/bridge-client.js +0 -174
- package/dist/native/macos-bridge-client.js +0 -5
- package/dist/npm-publish-helper.js +0 -117
- package/dist/npm-token-cdp.js +0 -113
- package/dist/npm-token-create.js +0 -135
- package/dist/npm-token-finish.js +0 -126
- package/dist/playbook/engine.js +0 -193
- package/dist/playbook/index.js +0 -4
- package/dist/playbook/recorder.js +0 -519
- package/dist/playbook/runner.js +0 -392
- package/dist/playbook/store.js +0 -166
- package/dist/playbook/types.js +0 -4
- package/dist/runtime/accessibility-adapter.js +0 -377
- package/dist/runtime/app-adapter.js +0 -48
- package/dist/runtime/applescript-adapter.js +0 -283
- package/dist/runtime/ax-role-map.js +0 -80
- package/dist/runtime/browser-adapter.js +0 -36
- package/dist/runtime/cdp-chrome-adapter.js +0 -505
- package/dist/runtime/composite-adapter.js +0 -205
- package/dist/runtime/executor.js +0 -250
- package/dist/runtime/locator-cache.js +0 -12
- package/dist/runtime/planning-loop.js +0 -47
- package/dist/runtime/service.js +0 -372
- package/dist/runtime/session-manager.js +0 -28
- package/dist/runtime/state-observer.js +0 -105
- package/dist/runtime/vision-adapter.js +0 -208
- package/dist/test-mcp-protocol.js +0 -138
- package/dist/types.js +0 -1
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "davinci-resolve-keyboard",
|
|
3
|
+
"name": "DaVinci Resolve Keyboard + Menu Reference",
|
|
4
|
+
"description": "Keyboard-first and menu-path reference for DaVinci Resolve 20.3 automation in ScreenHand. Built for environments where accessibility is unreliable and the safest control surface is key + menu_click + screenshot.",
|
|
5
|
+
"platform": "davinci-resolve",
|
|
6
|
+
"bundleId": "com.blackmagic-design.DaVinciResolveLite",
|
|
7
|
+
"version": "20.3.2",
|
|
8
|
+
"tags": [
|
|
9
|
+
"davinci-resolve",
|
|
10
|
+
"screenhand",
|
|
11
|
+
"keyboard",
|
|
12
|
+
"menus",
|
|
13
|
+
"native-app"
|
|
14
|
+
],
|
|
15
|
+
"successCount": 0,
|
|
16
|
+
"failCount": 0,
|
|
17
|
+
"urls": {
|
|
18
|
+
"manual_pdf": "https://documents.blackmagicdesign.com/UserManuals/DaVinci_Resolve_20.3_Reference_Manual.pdf",
|
|
19
|
+
"training": "https://www.blackmagicdesign.com/products/davinciresolve/training",
|
|
20
|
+
"manual_chapter_keyboard_customization": "DaVinci Resolve 20.3 Reference Manual, Chapter 12",
|
|
21
|
+
"manual_chapter_cut": "DaVinci Resolve 20.3 Reference Manual, Chapter 26",
|
|
22
|
+
"manual_chapter_edit": "DaVinci Resolve 20.3 Reference Manual, Chapters 33-45",
|
|
23
|
+
"manual_chapter_fusion": "DaVinci Resolve 20.3 Reference Manual, Chapters 63-95",
|
|
24
|
+
"manual_chapter_color": "DaVinci Resolve 20.3 Reference Manual, Chapters 126-167",
|
|
25
|
+
"manual_chapter_fairlight": "DaVinci Resolve 20.3 Reference Manual, Chapters 170-178",
|
|
26
|
+
"manual_chapter_deliver": "DaVinci Resolve 20.3 Reference Manual, Chapter 186"
|
|
27
|
+
},
|
|
28
|
+
"selectors": {
|
|
29
|
+
"pages": {
|
|
30
|
+
"project_manager": "File/Project Manager…",
|
|
31
|
+
"cut": "Workspace/Switch to Page/Cut",
|
|
32
|
+
"edit": "Workspace/Switch to Page/Edit",
|
|
33
|
+
"fusion": "Workspace/Switch to Page/Fusion",
|
|
34
|
+
"color": "Workspace/Switch to Page/Color",
|
|
35
|
+
"fairlight": "Workspace/Switch to Page/Fairlight",
|
|
36
|
+
"deliver": "Workspace/Switch to Page/Deliver"
|
|
37
|
+
},
|
|
38
|
+
"menus": {
|
|
39
|
+
"import_media": "File/Import/Media…",
|
|
40
|
+
"new_timeline": "File/New Timeline…",
|
|
41
|
+
"quick_export": "File/Quick Export…",
|
|
42
|
+
"append_to_end": "Edit/Append to End of Timeline",
|
|
43
|
+
"ripple_delete": "Edit/Ripple Delete",
|
|
44
|
+
"auto_align_clips": "Clip/Auto Align Clips",
|
|
45
|
+
"add_transition": "Timeline/Add Transition",
|
|
46
|
+
"add_marker": "Mark/Add Marker/Current Selected",
|
|
47
|
+
"select_tool_dialog": "Fusion/Select Tool Dialog",
|
|
48
|
+
"render_all_savers": "Fusion/Render All Savers",
|
|
49
|
+
"auto_color": "Color/Auto Color",
|
|
50
|
+
"add_serial_node": "Color/Nodes/Add Serial Node",
|
|
51
|
+
"add_circle_window_node": "Color/Nodes/Add Serial Node + CPW",
|
|
52
|
+
"add_polygon_window_node": "Color/Nodes/Add Serial Node + PCW",
|
|
53
|
+
"add_outside_node": "Color/Nodes/Add Outside Node",
|
|
54
|
+
"grab_still": "Color/Stills/Grab Still",
|
|
55
|
+
"patch_input_output": "Fairlight/Patch Input/Output…",
|
|
56
|
+
"presets_library": "Fairlight/Presets Library…",
|
|
57
|
+
"automation_all_read": "Fairlight/Automation/All Read",
|
|
58
|
+
"automation_write_to_all": "Fairlight/Automation/Write To/All",
|
|
59
|
+
"automation_follows_edit": "Fairlight/Automation/Follows Edit"
|
|
60
|
+
},
|
|
61
|
+
"shortcuts": {
|
|
62
|
+
"switch_cut": "Shift+3",
|
|
63
|
+
"switch_edit": "Shift+4",
|
|
64
|
+
"switch_fusion": "Shift+5",
|
|
65
|
+
"switch_color": "Shift+6",
|
|
66
|
+
"switch_fairlight": "Shift+7",
|
|
67
|
+
"switch_deliver": "Shift+8",
|
|
68
|
+
"import_media": "Cmd+I",
|
|
69
|
+
"append_to_end": "Shift+F12",
|
|
70
|
+
"insert_edit": "F9",
|
|
71
|
+
"overwrite_edit": "F10",
|
|
72
|
+
"ripple_delete": "Shift+Delete",
|
|
73
|
+
"blade_mode": "B",
|
|
74
|
+
"trim_mode": "T",
|
|
75
|
+
"normal_mode": "A",
|
|
76
|
+
"add_transition": "Cmd+T",
|
|
77
|
+
"add_marker": "M",
|
|
78
|
+
"select_nearest_edit": "V",
|
|
79
|
+
"fusion_select_tool": "Shift+Space",
|
|
80
|
+
"fusion_view_left": "1",
|
|
81
|
+
"fusion_view_right": "2",
|
|
82
|
+
"color_auto_color": "Shift+Alt+C",
|
|
83
|
+
"color_add_serial": "Alt+S",
|
|
84
|
+
"color_printer_light_hotkeys": "Cmd+Alt+`",
|
|
85
|
+
"fairlight_prev_marker_or_clip": "Cmd+Alt+Left",
|
|
86
|
+
"fairlight_next_marker_or_clip": "Cmd+Alt+Right",
|
|
87
|
+
"quick_play": "Space"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"flows": {
|
|
91
|
+
"cut_page_import_trim_transitions_markers": {
|
|
92
|
+
"why": "Fast ingest and assembly on the Cut page without any pointer-driven accessibility dependencies.",
|
|
93
|
+
"guards": [
|
|
94
|
+
"Assumes a project is already open.",
|
|
95
|
+
"Import Media opens a native file picker, so keyboard-only automation assumes the current folder and selection are already correct."
|
|
96
|
+
],
|
|
97
|
+
"verification_text_patterns": [
|
|
98
|
+
"Cut",
|
|
99
|
+
"Import",
|
|
100
|
+
"Timeline",
|
|
101
|
+
"Marker"
|
|
102
|
+
],
|
|
103
|
+
"steps": [
|
|
104
|
+
"Press Shift+3 to switch to the Cut page.",
|
|
105
|
+
"Use File > Import > Media… to open the native file picker, then confirm the current selection with Enter.",
|
|
106
|
+
"Press Cmd+2 to focus Media Clips, use arrow keys to choose a source clip, and press Shift+F12 to append it to the lower timeline.",
|
|
107
|
+
"Navigate with J/K/L, Left/Right, and Up/Down to park the playhead near the edit you want to trim.",
|
|
108
|
+
"Press B to enter Blade mode for split-at-playhead edits, then press A to return to normal selection mode.",
|
|
109
|
+
"Press Cmd+T to add the default transition at the selected cut and N to keep snapping predictable.",
|
|
110
|
+
"Press M to add a marker, Shift+M to modify it, and Alt+M to remove it."
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"edit_page_navigation_ripple_blade_sync": {
|
|
114
|
+
"why": "Provides deterministic edit-page operations that remain available when Resolve exposes little or no AX tree.",
|
|
115
|
+
"guards": [
|
|
116
|
+
"Assumes the Timeline has focus (Cmd+4) before edit-selection shortcuts are used.",
|
|
117
|
+
"Auto-align is menu-driven because the default preset exposes no dedicated shortcut in Resolve 20.3."
|
|
118
|
+
],
|
|
119
|
+
"verification_text_patterns": [
|
|
120
|
+
"Edit",
|
|
121
|
+
"Timeline",
|
|
122
|
+
"Ripple",
|
|
123
|
+
"Auto Align"
|
|
124
|
+
],
|
|
125
|
+
"steps": [
|
|
126
|
+
"Press Shift+4 to switch to the Edit page and Cmd+4 to focus the timeline.",
|
|
127
|
+
"Use J/K/L plus Home/End and Up/Down for timeline navigation and clip-to-clip movement.",
|
|
128
|
+
"Press V to select the nearest edit, Alt+E for the video side only, Shift+E for the audio side only, U to toggle the selected half, and Alt+U to cycle A/V scope.",
|
|
129
|
+
"Press Shift+Delete for Ripple Delete, Cmd+Shift+X for Ripple Cut, or Shift+F10 for Ripple Overwrite.",
|
|
130
|
+
"Press B to enter Blade Edit mode, make the split at the playhead, and A to return to normal edit mode.",
|
|
131
|
+
"Use Clip > Auto Align Clips to sync separate audio after selecting the related source items."
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"fusion_page_nodes_connections_keyframes_render": {
|
|
135
|
+
"why": "Covers node insertion, viewer control, animation setup, and saver renders with keyboard-first inputs.",
|
|
136
|
+
"guards": [
|
|
137
|
+
"Shift+Space opens the Select Tool dialog; inserting after a selected node preserves a keyboard-only auto-connected flow.",
|
|
138
|
+
"Direct node-to-node rewiring by dragging outputs is mouse-only, so keyboard flows rely on insertion after selection or menu-driven saver renders."
|
|
139
|
+
],
|
|
140
|
+
"verification_text_patterns": [
|
|
141
|
+
"Fusion",
|
|
142
|
+
"Select Tool",
|
|
143
|
+
"Render All Savers"
|
|
144
|
+
],
|
|
145
|
+
"steps": [
|
|
146
|
+
"Press Shift+5 to switch to the Fusion page.",
|
|
147
|
+
"Press Shift+Space to open Select Tool, type the node name if your recorder/playbook layer supports text input, or use the dialog with the last search retained.",
|
|
148
|
+
"Insert the selected node after the active node to keep the connection graph keyboard-safe.",
|
|
149
|
+
"Use 1 and 2 to load the selected node into the left or right viewer, ` to clear both viewers, and C/R/G/B/A/Z to inspect channels.",
|
|
150
|
+
"Use Cmd+[ to add a keyframe on the selected parameter, Left/Right to step frames, and Space or Shift+Space to preview animation forward or reverse.",
|
|
151
|
+
"Use Fusion > Render All Savers for deterministic renders that do not require pointer access to the viewer transport area."
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"color_page_nodes_primaries_windows": {
|
|
155
|
+
"why": "Optimized for node creation, printer-light style primary balancing, still capture, and windowed secondaries without pointer clicks.",
|
|
156
|
+
"guards": [
|
|
157
|
+
"Resolve 20.3 exposes node and printer-light operations as reliable shortcuts, but not every palette toggle needed for Curves or HSL Qualifier in the default mapping.",
|
|
158
|
+
"For strict keyboard-only qualifier or curves workflows, keep a custom Resolve keyboard preset or reusable node template ready."
|
|
159
|
+
],
|
|
160
|
+
"verification_text_patterns": [
|
|
161
|
+
"Color",
|
|
162
|
+
"Nodes",
|
|
163
|
+
"Stills"
|
|
164
|
+
],
|
|
165
|
+
"steps": [
|
|
166
|
+
"Press Shift+6 to switch to the Color page.",
|
|
167
|
+
"Press Alt+S to add a serial node, Shift+Alt+C to apply Auto Color, and Cmd+Alt+` to enable Printer Light Hotkeys for primary balancing.",
|
|
168
|
+
"Use 7/8/9 and 4/5/6 for RGB printer-light trims, 1/2/3 and -/0/. for CMY trims, and hold Command for quarter-step adjustments.",
|
|
169
|
+
"Use Alt+C, Alt+Q, Alt+B, and Alt+G to create serial nodes with Circle, Linear, Polygon, or Curve power windows, then Alt+O to add an outside node.",
|
|
170
|
+
"Use Cmd+T, Alt+T, and Cmd+Alt+T for tracker forward, reverse, and stop passes.",
|
|
171
|
+
"Use Cmd+Alt+G to grab a still and Cmd+D to toggle the currently selected node on or off."
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"fairlight_page_mixer_eq_dynamics_automation": {
|
|
175
|
+
"why": "Focuses on transport, patching, mixer prep, and automation menus that remain keyboard-addressable even when track widgets are not AX-visible.",
|
|
176
|
+
"guards": [
|
|
177
|
+
"Patch Input/Output, Presets Library, and Automation actions are exposed through the Fairlight menu and are more stable than trying to target invisible mixer widgets.",
|
|
178
|
+
"EQ and Dynamics windows are typically reached from mixer buttons, so keyboard-only flows work best after the mixer is already visible and focused."
|
|
179
|
+
],
|
|
180
|
+
"verification_text_patterns": [
|
|
181
|
+
"Fairlight",
|
|
182
|
+
"Patch Input/Output",
|
|
183
|
+
"Automation"
|
|
184
|
+
],
|
|
185
|
+
"steps": [
|
|
186
|
+
"Press Shift+7 to switch to the Fairlight page.",
|
|
187
|
+
"Use Fairlight > Patch Input/Output to patch record or monitor sources before recording or mix review.",
|
|
188
|
+
"Navigate with Space, J/K/L, Cmd+Alt+Left/Right, and Cmd+Alt+Up/Down to move between markers, clips, and track selections.",
|
|
189
|
+
"Use Fairlight > Presets Library… to apply stored EQ, dynamics, or full-page mixer presets without touching inaccessible controls.",
|
|
190
|
+
"Use Fairlight > Automation > All Read, Automation Follows Edit, and Write To > All/Start/End to stage automation passes from the menu bar.",
|
|
191
|
+
"When the mixer is visible, keyboard navigation can reach EQ and Dynamics buttons, but the menu system remains the safer default automation surface."
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
"deliver_page_render_queue_export": {
|
|
195
|
+
"why": "Provides a no-pointer export path even when Deliver queue buttons are not exposed to accessibility APIs.",
|
|
196
|
+
"guards": [
|
|
197
|
+
"The Deliver page itself is keyboard navigable for range marking and playback review, but Add to Render Queue and Start Render are not exposed as stable menu actions in the default UI.",
|
|
198
|
+
"For deterministic automation, Quick Export is the most reliable menu-driven fallback; keep its last-used preset and destination configured in advance."
|
|
199
|
+
],
|
|
200
|
+
"verification_text_patterns": [
|
|
201
|
+
"Deliver",
|
|
202
|
+
"Quick Export",
|
|
203
|
+
"Render"
|
|
204
|
+
],
|
|
205
|
+
"steps": [
|
|
206
|
+
"Press Shift+8 to switch to the Deliver page.",
|
|
207
|
+
"Use I and O to define the export range, Alt+X to clear it, and J/K/L or Left/Right to verify the render segment.",
|
|
208
|
+
"If the full Deliver queue UI is already focused, navigate its fields entirely by keyboard and add the job to the queue.",
|
|
209
|
+
"For the stable no-pointer path, open File > Quick Export… and confirm the last-used preset and destination with keyboard-only dialog navigation.",
|
|
210
|
+
"Capture a screenshot after the export dialog or queue state updates so OCR can verify that the render job was staged."
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"detection": {
|
|
215
|
+
"project_manager": "OCR contains \"Project Manager\"",
|
|
216
|
+
"cut_page": "OCR contains \"Cut\"",
|
|
217
|
+
"edit_page": "OCR contains \"Edit\"",
|
|
218
|
+
"fusion_page": "OCR contains \"Fusion\"",
|
|
219
|
+
"color_page": "OCR contains \"Color\"",
|
|
220
|
+
"fairlight_page": "OCR contains \"Fairlight\"",
|
|
221
|
+
"deliver_page": "OCR contains \"Deliver\""
|
|
222
|
+
},
|
|
223
|
+
"errors": [
|
|
224
|
+
{
|
|
225
|
+
"error": "System Events got an error: osascript is not allowed assistive access. (-1719)",
|
|
226
|
+
"context": "Live AppleScript menu dumping on macOS while DaVinci Resolve was open.",
|
|
227
|
+
"solution": "Use the captured menu JSON files and OCR for reference generation, or grant assistive access to osascript/System Events before trying to scrape menus live again.",
|
|
228
|
+
"severity": "medium"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"error": "Menu bar not found",
|
|
232
|
+
"context": "menu_click probe against the sandboxed App Store build while Resolve was still on the Project Manager plus accessibility-warning state.",
|
|
233
|
+
"solution": "Dismiss the macOS accessibility prompt, open a project first, then retry menu_click against the active Resolve window.",
|
|
234
|
+
"severity": "medium"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"error": "platform_explore reported the app was not running",
|
|
238
|
+
"context": "Resolve 20.3 App Store build with limited accessibility exposure.",
|
|
239
|
+
"solution": "Treat DaVinci Resolve as an OCR and keyboard driven app. Prefer key, menu_click, wait, and screenshot actions over ui_tree or click.",
|
|
240
|
+
"severity": "low"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"policyNotes": {
|
|
244
|
+
"automation": [
|
|
245
|
+
"ScreenHand automation for DaVinci Resolve should prefer key, menu_click, wait, and screenshot actions.",
|
|
246
|
+
"Do not rely on ui_tree or click for DaVinci Resolve; most of the UI is invisible or unstable in accessibility.",
|
|
247
|
+
"Use Shift+2 through Shift+8 for deterministic page switching and Cmd+1 through Cmd+9 for active-panel focus when those commands exist."
|
|
248
|
+
],
|
|
249
|
+
"sources": [
|
|
250
|
+
"Keyboard references were reconciled from the DaVinci Resolve 20.3 Reference Manual, the repo menu batch captures, and the existing davinci-resolve-shortcuts.json file.",
|
|
251
|
+
"Live OCR confirmed the top-level menu bar labels: File, Edit, Trim, Timeline, Clip, Mark, View, Playback, Fusion, Color, Fairlight, Workspace, Help.",
|
|
252
|
+
"The App Store build stores local preferences under ~/Library/Containers/com.blackmagic-design.DaVinciResolveLite/."
|
|
253
|
+
],
|
|
254
|
+
"limitations": [
|
|
255
|
+
"The default Resolve 20.3 mapping does not expose every Color palette and Deliver queue control as a named keyboard shortcut or stable menu path.",
|
|
256
|
+
"Use custom Resolve keyboard presets if you need deterministic palette switching for Curves, Qualifier, or other panel-local commands that are not menu surfaced.",
|
|
257
|
+
"Quick Export is the safest export fallback when the Deliver page queue buttons cannot be driven without pointer access."
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
"shortcutGroups": {
|
|
261
|
+
"global": {
|
|
262
|
+
"DaVinci Resolve/Hide DaVinci Resolve": "Cmd+H",
|
|
263
|
+
"DaVinci Resolve/Hide Others": "Cmd+Alt+H",
|
|
264
|
+
"DaVinci Resolve/Keyboard Customization…": "Cmd+Alt+K",
|
|
265
|
+
"DaVinci Resolve/Preferences…": "Cmd+,",
|
|
266
|
+
"DaVinci Resolve/Quit DaVinci Resolve": "Cmd+Q",
|
|
267
|
+
"File/Create Timeline Backup…": "Cmd+Alt+S",
|
|
268
|
+
"File/Export Project…": "Cmd+E",
|
|
269
|
+
"File/Export/Timeline…": "Cmd+Shift+O",
|
|
270
|
+
"File/Import/Media…": "Cmd+I",
|
|
271
|
+
"File/Import/Timeline…": "Cmd+Shift+I",
|
|
272
|
+
"File/New Bin": "Cmd+Shift+N",
|
|
273
|
+
"File/New Timeline…": "Cmd+N",
|
|
274
|
+
"File/Project Manager…": "Shift+1",
|
|
275
|
+
"File/Project Settings…": "Shift+9",
|
|
276
|
+
"File/Save Project": "Cmd+S",
|
|
277
|
+
"File/Save Project As…": "Cmd+Shift+S",
|
|
278
|
+
"Workspace/Active Panel Selection/Effects": "Cmd+6",
|
|
279
|
+
"Workspace/Active Panel Selection/Index": "Cmd+7",
|
|
280
|
+
"Workspace/Active Panel Selection/Inspector": "Cmd+9",
|
|
281
|
+
"Workspace/Active Panel Selection/Media Clips": "Cmd+2",
|
|
282
|
+
"Workspace/Active Panel Selection/Media Folders": "Cmd+1",
|
|
283
|
+
"Workspace/Active Panel Selection/Source Viewer": "Cmd+3",
|
|
284
|
+
"Workspace/Active Panel Selection/Timeline": "Cmd+4",
|
|
285
|
+
"Workspace/Active Panel Selection/Timeline Viewer": "Cmd+5",
|
|
286
|
+
"Workspace/Switch to Page/Color": "Shift+6",
|
|
287
|
+
"Workspace/Switch to Page/Cut": "Shift+3",
|
|
288
|
+
"Workspace/Switch to Page/Deliver": "Shift+8",
|
|
289
|
+
"Workspace/Switch to Page/Edit": "Shift+4",
|
|
290
|
+
"Workspace/Switch to Page/Fairlight": "Shift+7",
|
|
291
|
+
"Workspace/Switch to Page/Fusion": "Shift+5",
|
|
292
|
+
"Workspace/Switch to Page/Media": "Shift+2",
|
|
293
|
+
"Workspace/Video Scopes/On": "Cmd+Shift+W",
|
|
294
|
+
"Workspace/Viewer Mode/Cinema Viewer": "Cmd+F",
|
|
295
|
+
"Workspace/Viewer Mode/Enhanced Viewer": "Alt+F",
|
|
296
|
+
"Workspace/Viewer Mode/Full Page Viewer": "Shift+F"
|
|
297
|
+
},
|
|
298
|
+
"edit_page": {
|
|
299
|
+
"Edit/Append to End of Timeline": "Shift+F12",
|
|
300
|
+
"Edit/Copy": "Cmd+C",
|
|
301
|
+
"Edit/Cut": "Cmd+X",
|
|
302
|
+
"Edit/Delete Selected": "Delete",
|
|
303
|
+
"Edit/Deselect All": "Cmd+Shift+A",
|
|
304
|
+
"Edit/Edit Options/Switch to Timeline After Edit": "Shift+Alt+Q",
|
|
305
|
+
"Edit/Fit to Fill": "Shift+F11",
|
|
306
|
+
"Edit/Insert": "F9",
|
|
307
|
+
"Edit/Multicam/Audio Only": "Shift+Alt+\\",
|
|
308
|
+
"Edit/Multicam/Next Angle": "Cmd+Shift+Right",
|
|
309
|
+
"Edit/Multicam/Next Page": "Shift+Alt+Right",
|
|
310
|
+
"Edit/Multicam/Previous Angle": "Cmd+Shift+Left",
|
|
311
|
+
"Edit/Multicam/Previous Page": "Shift+Alt+Left",
|
|
312
|
+
"Edit/Multicam/Video and Audio": "Shift+Alt+[",
|
|
313
|
+
"Edit/Multicam/Video Only": "Shift+Alt+]",
|
|
314
|
+
"Edit/Overwrite": "F10",
|
|
315
|
+
"Edit/Paste": "Cmd+V",
|
|
316
|
+
"Edit/Paste Attributes…": "Alt+V",
|
|
317
|
+
"Edit/Paste Insert": "Cmd+Shift+V",
|
|
318
|
+
"Edit/Paste Value": "Shift+Alt+V",
|
|
319
|
+
"Edit/Place on Top": "F12",
|
|
320
|
+
"Edit/Redo": "Cmd+Shift+Z",
|
|
321
|
+
"Edit/Replace": "F11",
|
|
322
|
+
"Edit/Ripple Cut": "Cmd+Shift+X",
|
|
323
|
+
"Edit/Ripple Delete": "Shift+Delete",
|
|
324
|
+
"Edit/Ripple Overwrite": "Shift+F10",
|
|
325
|
+
"Edit/Select All": "Cmd+A",
|
|
326
|
+
"Edit/Select/Above": "Cmd+Up",
|
|
327
|
+
"Edit/Select/Below": "Cmd+Down",
|
|
328
|
+
"Edit/Select/Next": "Cmd+Right",
|
|
329
|
+
"Edit/Select/Previous": "Cmd+Left",
|
|
330
|
+
"Edit/Swap Clips Towards Left": "Cmd+Shift+,",
|
|
331
|
+
"Edit/Swap Clips Towards Right": "Cmd+Shift+.",
|
|
332
|
+
"Edit/Undo": "Cmd+Z",
|
|
333
|
+
"Mark/Add and Modify Marker…": "Cmd+M",
|
|
334
|
+
"Mark/Add Flag/Current Selected": "G",
|
|
335
|
+
"Mark/Add Keyframe": "Cmd+[",
|
|
336
|
+
"Mark/Add Marker/Current Selected": "M",
|
|
337
|
+
"Mark/Add Static Keyframe": "Cmd+]",
|
|
338
|
+
"Mark/Clear Audio In and Out": "Cmd+Alt+X",
|
|
339
|
+
"Mark/Clear In": "Alt+I",
|
|
340
|
+
"Mark/Clear In and Out": "Alt+X",
|
|
341
|
+
"Mark/Clear Out": "Alt+O",
|
|
342
|
+
"Mark/Clear Video In and Out": "Shift+Alt+X",
|
|
343
|
+
"Mark/Create Subclip": "Alt+B",
|
|
344
|
+
"Mark/Delete Keyframe": "Alt+]",
|
|
345
|
+
"Mark/Delete Marker": "Alt+M",
|
|
346
|
+
"Mark/Favorite Keywords/Clear Keywords": "Shift+Alt+0",
|
|
347
|
+
"Mark/Favorite Keywords/Unassigned": "Shift+Alt+1",
|
|
348
|
+
"Mark/Mark Audio In": "Cmd+Alt+I",
|
|
349
|
+
"Mark/Mark Audio Out": "Cmd+Alt+O",
|
|
350
|
+
"Mark/Mark Clip": "X",
|
|
351
|
+
"Mark/Mark In": "I",
|
|
352
|
+
"Mark/Mark Out": "O",
|
|
353
|
+
"Mark/Mark Selection": "Shift+A",
|
|
354
|
+
"Mark/Mark Video In": "Shift+Alt+I",
|
|
355
|
+
"Mark/Mark Video Out": "Shift+Alt+O",
|
|
356
|
+
"Mark/Modify Marker…": "Shift+M",
|
|
357
|
+
"Playback/Cintel Scanner/Slip Film Forward": "Cmd+Right",
|
|
358
|
+
"Playback/Cintel Scanner/Slip Film Reverse": "Cmd+Left",
|
|
359
|
+
"Playback/Cintel Scanner/Step One Perforation Forward": "Cmd+L",
|
|
360
|
+
"Playback/Cintel Scanner/Step One Perforation Reverse": "Cmd+J",
|
|
361
|
+
"Playback/Fast Forward": "Shift+L",
|
|
362
|
+
"Playback/Fast Reverse": "Shift+J",
|
|
363
|
+
"Playback/Go To/First Frame": ";",
|
|
364
|
+
"Playback/Go To/In": "Shift+I",
|
|
365
|
+
"Playback/Go To/Last Frame": "'",
|
|
366
|
+
"Playback/Go To/Mouse Pointer": "C",
|
|
367
|
+
"Playback/Go To/Out": "Shift+O",
|
|
368
|
+
"Playback/Go To/Timecode": "=",
|
|
369
|
+
"Playback/Go To/Timeline End": "End",
|
|
370
|
+
"Playback/Go To/Timeline Start": "Home",
|
|
371
|
+
"Playback/Jump Left": "Cmd+Alt+Left",
|
|
372
|
+
"Playback/Jump Right": "Cmd+Alt+Right",
|
|
373
|
+
"Playback/Loop/Unloop": "Cmd+/",
|
|
374
|
+
"Playback/Next/Clip": "Down",
|
|
375
|
+
"Playback/Next/Gap": "Cmd+Alt+'",
|
|
376
|
+
"Playback/Next/Keyframe": "]",
|
|
377
|
+
"Playback/Next/Marker": "Shift+Down",
|
|
378
|
+
"Playback/Pause/Start Playback": "Space",
|
|
379
|
+
"Playback/Play Again": "Alt+L",
|
|
380
|
+
"Playback/Play Around/To/Play Around Current Clip": "Shift+/",
|
|
381
|
+
"Playback/Play Around/To/Play Around Current Selection": "/",
|
|
382
|
+
"Playback/Play Around/To/Play In to Out": "Alt+/",
|
|
383
|
+
"Playback/Play Around/To/Play to Out": "Cmd+Alt+/",
|
|
384
|
+
"Playback/Play Forward": "L",
|
|
385
|
+
"Playback/Play Reverse": "J",
|
|
386
|
+
"Playback/Play Slow": "Shift+K",
|
|
387
|
+
"Playback/Previous/Clip": "Up",
|
|
388
|
+
"Playback/Previous/Gap": "Cmd+Alt+;",
|
|
389
|
+
"Playback/Previous/Keyframe": "[",
|
|
390
|
+
"Playback/Previous/Marker": "Shift+Up",
|
|
391
|
+
"Playback/Step One/Frame Forward": "Right",
|
|
392
|
+
"Playback/Step One/Frame Reverse": "Left",
|
|
393
|
+
"Playback/Step One/Second Forward": "Shift+Right",
|
|
394
|
+
"Playback/Step One/Second Reverse": "Shift+Left",
|
|
395
|
+
"Playback/Stop": "K",
|
|
396
|
+
"Playback/Timecode/Decrement Timecode": "-",
|
|
397
|
+
"Playback/Timecode/Increment Timecode": "+",
|
|
398
|
+
"Timeline/Add Transition": "Cmd+T",
|
|
399
|
+
"Timeline/Snapping": "N",
|
|
400
|
+
"Trim/Blade Edit Mode": "B",
|
|
401
|
+
"Trim/Normal Edit Mode": "A",
|
|
402
|
+
"Trim/Trim Mode": "T",
|
|
403
|
+
"View/Bypass Color and Fusion/Bypass All Grades": "Shift+D",
|
|
404
|
+
"View/Source Clip/Source Tape": "Shift+Q",
|
|
405
|
+
"View/Source/Timeline Viewer": "Q",
|
|
406
|
+
"View/Toggle Source Timeline": "Alt+Q",
|
|
407
|
+
"View/Viewer Overlay/Toggle On/Off": "Shift+`",
|
|
408
|
+
"View/Zoom/Zoom In": "Cmd+=",
|
|
409
|
+
"View/Zoom/Zoom Out": "Cmd+-",
|
|
410
|
+
"View/Zoom/Zoom to Fit": "Shift+Z",
|
|
411
|
+
"Workspace/Switch to Page/Edit": "Shift+4",
|
|
412
|
+
"Edit/Select Nearest Edit Point": "V",
|
|
413
|
+
"Edit/Select Nearest Video Edit Point": "Alt+E",
|
|
414
|
+
"Edit/Select Nearest Audio Edit Point": "Shift+E",
|
|
415
|
+
"Edit/Toggle Selected Edit Half": "U",
|
|
416
|
+
"Edit/Toggle Selected Edit A/V Scope": "Alt+U",
|
|
417
|
+
"Playback/Play Around/To/Play Around Out": "Shift+Space"
|
|
418
|
+
},
|
|
419
|
+
"color_page": {
|
|
420
|
+
"Color/Apply Grade from One Clip Prior": "Shift+=",
|
|
421
|
+
"Color/Apply Grade from Two Clips Prior": "Shift+-",
|
|
422
|
+
"Color/Auto Color": "Shift+Alt+C",
|
|
423
|
+
"Color/Full Printer Light/Blue -": "6",
|
|
424
|
+
"Color/Full Printer Light/Blue +": "9",
|
|
425
|
+
"Color/Full Printer Light/Cyan -": "-",
|
|
426
|
+
"Color/Full Printer Light/Cyan +": "1",
|
|
427
|
+
"Color/Full Printer Light/Green -": "5",
|
|
428
|
+
"Color/Full Printer Light/Green +": "8",
|
|
429
|
+
"Color/Full Printer Light/Magenta -": "0",
|
|
430
|
+
"Color/Full Printer Light/Magenta +": "2",
|
|
431
|
+
"Color/Full Printer Light/Master -": "Enter",
|
|
432
|
+
"Color/Full Printer Light/Master +": "+",
|
|
433
|
+
"Color/Full Printer Light/Red -": "4",
|
|
434
|
+
"Color/Full Printer Light/Red +": "7",
|
|
435
|
+
"Color/Full Printer Light/Yellow -": ".",
|
|
436
|
+
"Color/Full Printer Light/Yellow +": "3",
|
|
437
|
+
"Color/Grade Version/Add": "Cmd+Y",
|
|
438
|
+
"Color/Grade Version/Default": "Cmd+U",
|
|
439
|
+
"Color/Grade Version/Next": "Cmd+N",
|
|
440
|
+
"Color/Grade Version/Previous": "Cmd+B",
|
|
441
|
+
"Color/Memories/Save Memory A": "Alt+1",
|
|
442
|
+
"Color/Memories/Save Memory B": "Alt+2",
|
|
443
|
+
"Color/Memories/Save Memory C": "Alt+3",
|
|
444
|
+
"Color/Memories/Save Memory D": "Alt+4",
|
|
445
|
+
"Color/Memories/Save Memory E": "Alt+5",
|
|
446
|
+
"Color/Memories/Save Memory F": "Alt+6",
|
|
447
|
+
"Color/Memories/Save Memory G": "Alt+7",
|
|
448
|
+
"Color/Memories/Save Memory H": "Alt+8",
|
|
449
|
+
"Color/Nodes/Add Layer Node": "Alt+L",
|
|
450
|
+
"Color/Nodes/Add Outside Node": "Alt+O",
|
|
451
|
+
"Color/Nodes/Add Parallel Node": "Alt+P",
|
|
452
|
+
"Color/Nodes/Add Serial Before Current": "Shift+S",
|
|
453
|
+
"Color/Nodes/Add Serial Node": "Alt+S",
|
|
454
|
+
"Color/Nodes/Add Serial Node + CPW": "Alt+C",
|
|
455
|
+
"Color/Nodes/Add Serial Node + LPW": "Alt+Q",
|
|
456
|
+
"Color/Nodes/Add Serial Node + PCW": "Alt+B",
|
|
457
|
+
"Color/Nodes/Add Serial Node + PPW": "Alt+G",
|
|
458
|
+
"Color/Nodes/Add Splitter Combiner Node": "Alt+Y",
|
|
459
|
+
"Color/Nodes/Append a Node": "Alt+K",
|
|
460
|
+
"Color/Nodes/Enable/Disable All Nodes": "Alt+D",
|
|
461
|
+
"Color/Nodes/Enable/Disable Selected Nodes": "Cmd+D",
|
|
462
|
+
"Color/Nodes/Extract Current Node": "E",
|
|
463
|
+
"Color/Nodes/Next Node": "Shift+Alt+'",
|
|
464
|
+
"Color/Nodes/Previous Node": "Shift+Alt+;",
|
|
465
|
+
"Color/Original Memory": "Shift+Alt+O",
|
|
466
|
+
"Color/Preview Memory": "Shift+Alt+P",
|
|
467
|
+
"Color/Printer Light Hotkeys": "Cmd+Alt+`",
|
|
468
|
+
"Color/Quarter Printer Light/Blue -": "Cmd+6",
|
|
469
|
+
"Color/Quarter Printer Light/Blue +": "Cmd+9",
|
|
470
|
+
"Color/Quarter Printer Light/Cyan -": "Cmd+-",
|
|
471
|
+
"Color/Quarter Printer Light/Cyan +": "Cmd+1",
|
|
472
|
+
"Color/Quarter Printer Light/Green -": "Cmd+5",
|
|
473
|
+
"Color/Quarter Printer Light/Green +": "Cmd+8",
|
|
474
|
+
"Color/Quarter Printer Light/Magenta -": "Cmd+0",
|
|
475
|
+
"Color/Quarter Printer Light/Magenta +": "Cmd+2",
|
|
476
|
+
"Color/Quarter Printer Light/Master -": "Cmd+Enter",
|
|
477
|
+
"Color/Quarter Printer Light/Master +": "Cmd++",
|
|
478
|
+
"Color/Quarter Printer Light/Red -": "Cmd+4",
|
|
479
|
+
"Color/Quarter Printer Light/Red +": "Cmd+7",
|
|
480
|
+
"Color/Quarter Printer Light/Yellow -": "Cmd+.",
|
|
481
|
+
"Color/Quarter Printer Light/Yellow +": "Cmd+3",
|
|
482
|
+
"Color/Reset/All Grades and Nodes": "Cmd+Home",
|
|
483
|
+
"Color/Reset/Grades and Keep Nodes": "Cmd+Shift+Home",
|
|
484
|
+
"Color/Reset/Selected Node Grade": "Shift+Home",
|
|
485
|
+
"Color/Resolve Live/Freeze": "Cmd+Shift+R",
|
|
486
|
+
"Color/Resolve Live/On": "Cmd+R",
|
|
487
|
+
"Color/Resolve Live/Snapshot": "Cmd+Alt+R",
|
|
488
|
+
"Color/Step Timeline Wipe/One Frame Forward": "Cmd+Alt+Right",
|
|
489
|
+
"Color/Step Timeline Wipe/One Frame Reverse": "Cmd+Alt+Left",
|
|
490
|
+
"Color/Stills/Grab Still": "Cmd+Alt+G",
|
|
491
|
+
"Color/Stills/Next Still": "Cmd+Alt+N",
|
|
492
|
+
"Color/Stills/Play Still": "Cmd+Alt+F",
|
|
493
|
+
"Color/Stills/Previous Still": "Cmd+Alt+B",
|
|
494
|
+
"Color/Tracker/Forward": "Cmd+T",
|
|
495
|
+
"Color/Tracker/One Frame Forward": "Alt+Right",
|
|
496
|
+
"Color/Tracker/One Frame Reverse": "Alt+Left",
|
|
497
|
+
"Color/Tracker/Reverse": "Alt+T",
|
|
498
|
+
"Color/Tracker/Stop": "Cmd+Alt+T",
|
|
499
|
+
"Workspace/Switch to Page/Color": "Shift+6",
|
|
500
|
+
"Color/Primary Balance/Auto Color": "Shift+Alt+C",
|
|
501
|
+
"Color/Primary Balance/Enable Printer Light Hotkeys": "Cmd+Alt+`",
|
|
502
|
+
"Color/Nodes/Add Windowed Node (Circle)": "Alt+C",
|
|
503
|
+
"Color/Nodes/Add Windowed Node (Linear)": "Alt+Q",
|
|
504
|
+
"Color/Nodes/Add Windowed Node (Polygon)": "Alt+B",
|
|
505
|
+
"Color/Nodes/Add Windowed Node (Power Curve)": "Alt+G"
|
|
506
|
+
},
|
|
507
|
+
"fusion_page": {
|
|
508
|
+
"Fusion/Select Tool Dialog": "Shift+Space",
|
|
509
|
+
"Workspace/Switch to Page/Fusion": "Shift+5",
|
|
510
|
+
"Fusion/Viewer/Toggle Selected Node in Left Viewer": "1",
|
|
511
|
+
"Fusion/Viewer/Toggle Selected Node in Right Viewer": "2",
|
|
512
|
+
"Fusion/Viewer/Clear Both Viewers": "`",
|
|
513
|
+
"Fusion/Viewer/Display RGB": "C",
|
|
514
|
+
"Fusion/Viewer/Display Red Channel": "R",
|
|
515
|
+
"Fusion/Viewer/Display Green Channel": "G",
|
|
516
|
+
"Fusion/Viewer/Display Blue Channel": "B",
|
|
517
|
+
"Fusion/Viewer/Display Alpha Channel": "A",
|
|
518
|
+
"Fusion/Viewer/Display Z Channel": "Z",
|
|
519
|
+
"Fusion/Playback/Play or Stop": "Space",
|
|
520
|
+
"Fusion/Playback/Reverse Play": "Shift+Space",
|
|
521
|
+
"Fusion/Playback/Previous Frame": "Left",
|
|
522
|
+
"Fusion/Playback/Next Frame": "Right",
|
|
523
|
+
"Fusion/Playback/Back 10 Frames": "Shift+Left",
|
|
524
|
+
"Fusion/Playback/Forward 10 Frames": "Shift+Right",
|
|
525
|
+
"Fusion/Playback/First Frame": "Cmd+Left",
|
|
526
|
+
"Fusion/Playback/Last Frame": "Cmd+Right",
|
|
527
|
+
"Fusion/3D/Transform Position Mode": "Q",
|
|
528
|
+
"Fusion/3D/Transform Rotation Mode": "W",
|
|
529
|
+
"Fusion/3D/Transform Scale Mode": "E",
|
|
530
|
+
"Fusion/Nodes/Deselect All": "Cmd+Shift+A",
|
|
531
|
+
"Fusion/Nodes/Delete Selected": "Delete",
|
|
532
|
+
"Mark/Add Keyframe": "Cmd+["
|
|
533
|
+
},
|
|
534
|
+
"fairlight_page": {
|
|
535
|
+
"Workspace/Switch to Page/Fairlight": "Shift+7",
|
|
536
|
+
"Fairlight/Playback/Play or Stop": "Space",
|
|
537
|
+
"Fairlight/Playback/Reverse Play": "Shift+Space",
|
|
538
|
+
"Fairlight/Playback/Play Forward": "L",
|
|
539
|
+
"Fairlight/Playback/Play Reverse": "J",
|
|
540
|
+
"Fairlight/Playback/Stop": "K",
|
|
541
|
+
"Fairlight/Transport/Move Playhead Left by Clip or Marker": "Cmd+Alt+Left",
|
|
542
|
+
"Fairlight/Transport/Move Playhead Right by Clip or Marker": "Cmd+Alt+Right",
|
|
543
|
+
"Fairlight/Tracks/Select Track Above": "Cmd+Alt+Up",
|
|
544
|
+
"Fairlight/Tracks/Select Track Below": "Cmd+Alt+Down",
|
|
545
|
+
"Fairlight/Timeline/Zoom In": "Cmd+=",
|
|
546
|
+
"Fairlight/Timeline/Zoom Out": "Cmd+-",
|
|
547
|
+
"Mark/Mark In": "I",
|
|
548
|
+
"Mark/Mark Out": "O"
|
|
549
|
+
},
|
|
550
|
+
"deliver_page": {
|
|
551
|
+
"Workspace/Switch to Page/Deliver": "Shift+8",
|
|
552
|
+
"Mark/Mark In": "I",
|
|
553
|
+
"Mark/Mark Out": "O",
|
|
554
|
+
"Mark/Clear In and Out": "Alt+X",
|
|
555
|
+
"Playback/Pause/Start Playback": "Space",
|
|
556
|
+
"Playback/Play Reverse": "J",
|
|
557
|
+
"Playback/Stop": "K",
|
|
558
|
+
"Playback/Play Forward": "L",
|
|
559
|
+
"Playback/Go To/Timeline Start": "Home",
|
|
560
|
+
"Playback/Go To/Timeline End": "End",
|
|
561
|
+
"Playback/Step One/Frame Reverse": "Left",
|
|
562
|
+
"Playback/Step One/Frame Forward": "Right"
|
|
563
|
+
},
|
|
564
|
+
"cut_page": {
|
|
565
|
+
"Workspace/Switch to Page/Cut": "Shift+3",
|
|
566
|
+
"File/Import/Media…": "Cmd+I",
|
|
567
|
+
"File/New Timeline…": "Cmd+N",
|
|
568
|
+
"Workspace/Active Panel Selection/Media Clips": "Cmd+2",
|
|
569
|
+
"Workspace/Active Panel Selection/Timeline": "Cmd+4",
|
|
570
|
+
"Edit/Insert": "F9",
|
|
571
|
+
"Edit/Overwrite": "F10",
|
|
572
|
+
"Edit/Append to End of Timeline": "Shift+F12",
|
|
573
|
+
"Timeline/Add Transition": "Cmd+T",
|
|
574
|
+
"Trim/Blade Edit Mode": "B",
|
|
575
|
+
"Trim/Trim Mode": "T",
|
|
576
|
+
"Trim/Normal Edit Mode": "A",
|
|
577
|
+
"Timeline/Snapping": "N",
|
|
578
|
+
"Mark/Add Marker/Current Selected": "M",
|
|
579
|
+
"Mark/Modify Marker…": "Shift+M",
|
|
580
|
+
"Mark/Delete Marker": "Alt+M",
|
|
581
|
+
"Playback/Pause/Start Playback": "Space",
|
|
582
|
+
"Playback/Play Reverse": "J",
|
|
583
|
+
"Playback/Stop": "K",
|
|
584
|
+
"Playback/Play Forward": "L",
|
|
585
|
+
"Playback/Previous/Clip": "Up",
|
|
586
|
+
"Playback/Next/Clip": "Down",
|
|
587
|
+
"Playback/Step One/Frame Reverse": "Left",
|
|
588
|
+
"Playback/Step One/Frame Forward": "Right",
|
|
589
|
+
"Playback/Go To/Timeline Start": "Home",
|
|
590
|
+
"Playback/Go To/Timeline End": "End"
|
|
591
|
+
}
|
|
592
|
+
},
|
|
593
|
+
"menuMapFile": "references/davinci-resolve-menu-map.json"
|
|
594
|
+
}
|