@mocelet, can you explain a little further? Specifically, I’m going to interrogate my button devices (listed above) today and see which of them send a release event. Some have custom drivers and some have stock drivers.
My current thought–without more programming–is that I can use the held down event to start Auto-Cycle on the Scene Switcher virtual device, which just cycles between two scenes: 1 and 2. I think I can get away with one routine, that says that if the scene number changes (1 OR 2) then execute the Step function on the virtual dimmer switch. When the release event occurs, Auto-Cycle stops.
That resolves the general functionality, but I don’t know how to resolve the sub-second delay that you mention, i.e., how to shorten the time or if there are hard-coded execution limits on the SmartThings hub.
Would it speed things up if your Virtual Dimmer Device Driver exposes an action to “Start Step Dimming,” which automatically steps up (+) or down (-) a specified increment every X ms (specified in the routine action string, such as “-10,200” for -10% step every 200ms, until it hits 0% or 100%? Basically you could build the loop into the Virtual Dimmer Device Driver, instead of into the button driver. You still need the button to expose the Release event, which would cause a routine to execute the action “Stop Step Dimming In Progress” on on the Virtual Dimmer Device Driver.