There's probably a few ways to do it, but the immediate one that comes to mind is enabling Allow After Release Script*. Then, in your action do something like:if bWinDown == nil or bWinDown == 0 then
acSendKeys("@")
bWinDown = 1
end
Then in your Global Lua tab find (or add) this function:function sp_after_release()
bWinDown = 0
end
Unless you installed S+ a LONG time ago or cleared out your Global Lua, the sp_after_release() function should already be there, if so just add the bWinDown = 0 code.
So the first time it executes, it sends the Windows key and sets bWinDown to 1 so the next tick won't send it again until you release the stroke button which sets bWinDown back to 0.
Though, keep in mind that there are 2 independent Lua engines in S+, and if you scroll fast enough, S+ could use the backup Lua engine, which would not be aware of the bWinDown variable, though if it happened, it would likely only affect you the first time.