Hey yall,
While we wait for an official feature, I've been working on an AutoHotkey (AHK) script that forces this exact behavior. I wanted to share it with the community as a practical workaround.
When the script is active, any time you click or drag the playhead within a specific area of your screen that you define (typically the top portion of the timeline), it automatically sends a "pause" command (K) to Resolve the instant you press the mouse button. This pre-emptively stops playback before it can even start moving. The script is only active when Resolve is running and the active window, so it won't trigger if you're on other programs.
The Script:
***********************
- Code: Select all
#Persistent
#SingleInstance, Force
CoordMode, Mouse, Screen
; --- Global Variables ---
global timelineX1, timelineY1, timelineX2, timelineY2
global isMonitoring := true
; --- Configuration File ---
configFile := A_ScriptDir . "\config.ini"
; --- Load saved coordinates ---
IniRead, timelineX1, %configFile%, Region, X1, 0
IniRead, timelineY1, %configFile%, Region, Y1, 0
IniRead, timelineX2, %configFile%, Region, X2, 0
IniRead, timelineY2, %configFile%, Region, Y2, 0
ToolTip, Monitoring is ON
SetTimer, RemoveToolTip, -2000
return
; --- Define & Save Region (Ctrl+Alt+R) ---
^!r::
ToolTip, Click TOP-LEFT corner of your timeline.
KeyWait, LButton, D
MouseGetPos, timelineX1, timelineY1
KeyWait, LButton, L
ToolTip, Click BOTTOM-RIGHT corner of your timeline.
KeyWait, LButton, D
MouseGetPos, timelineX2, timelineY2
KeyWait, LButton, L
IniWrite, %timelineX1%, %configFile%, Region, X1
IniWrite, %timelineY1%, %configFile%, Region, Y1
IniWrite, %timelineX2%, %configFile%, Region, X2
IniWrite, %timelineY2%, %configFile%, Region, Y2
isMonitoring := true
ToolTip, Region SAVED! Monitoring is ON.
SetTimer, RemoveToolTip, -2000
return
; --- Toggle Monitoring (Ctrl+Alt+T) ---
^!t::
isMonitoring := !isMonitoring
ToolTip, % "Monitoring is " . (isMonitoring ? "ON" : "OFF")
SetTimer, RemoveToolTip, -2000
return
; --- Mouse Down Handler: Sends 'K' BEFORE the click ---
$LButton::
MouseGetPos, mX, mY
if (isMonitoring && WinActive("ahk_exe Resolve.exe") && mX >= timelineX1 && mX <= timelineX2 && mY >= timelineY1 && mY <= timelineY2)
{
SendInput, {k}
}
SendInput, {LButton down}
return
; --- Mouse Up Handler: Simply passes the event through ---
$LButton Up::
SendInput, {LButton up}
return
RemoveToolTip:
ToolTip
return
***********************
How to Use:
• Install AutoHotkey: If you don't have it, download it from their official website (it's free).
• Save the Script: Copy the code above, paste it into a plain text file, and save it as something like ResolvePlayheadFix.ahk. You can create a "AutoHotKey" folder in Documents and save the .ahk there.
• Run the Script: Double-click the file to run it. You'll see a new icon in your system tray.
• Set Your Timeline Area: Open Resolve, then press Ctrl+Alt+R. Follow the on-screen prompts to click the top-left and bottom-right corners of the upper part of the timeline (where the top of the playhead is). This region is saved in a generated .ini text file. It will be remembered the next time you run the script and updates automatically if you redefine the area.
• The script starts automatically monitoring for clicks or drags in that timeline area, but you can turn it on or off at any time with Ctrl+Alt+T.
• You can create a shortcut of the .ahk file and add to your startup folder so it will run automatically on start up.
Hope this helps others who are looking for a solution!
