previousClipboard := A_Clipboard | |
targetWindow := "" | |
grabToggle := true | |
CheckClipboard() { | |
global previousClipboard | |
currentClipboard := A_Clipboard | |
if (currentClipboard != previousClipboard) { | |
previousClipboard := currentClipboard | |
HandleClipboardChange(currentClipboard) | |
} | |
} | |
HandleClipboardChange(currentClipboard) { | |
win := WinExist("SillyTavern") | |
if (win AND grabToggle) { | |
WinActivate(win) | |
WinWaitActive(win) | |
Send(currentClipboard) | |
Sleep(500) | |
Send("{Enter}") | |
Sleep(500) | |
WindowSwitchBack() | |
} | |
} | |
WindowSwitchBack() { | |
global targetWindow | |
win := WinExist(targetWindow) | |
if (win) { | |
WinActivate(win) | |
WinWaitActive(win) | |
} | |
} | |
SetTimer(CheckClipboard, 500) | |
^!T:: { | |
global targetWindow | |
targetWindow := WinGetTitle("A") | |
MsgBox("Target window set to: " targetWindow,,"T2") | |
} | |
^!E:: { | |
global grabToggle | |
if (grabToggle) { | |
grabToggle := false | |
MsgBox("Auto-paste: Disabled",,"T2") | |
} else { | |
grabToggle := true | |
MsgBox("Auto-paste: Enabled",,"T2") | |
} | |
} |