How to trigger a mouse event by long-pressing a widget?

How can I branch an event based on the length of time a click is held on a widget?

I want a standard click to display information, while a long press initiates dragging. However, an EventReply is required to initiate the drag, and I haven’t found a way to delay this input. Because it cannot be called from an event, nor can the function contain a Delay.

Is there any way to bridge these gaps in functionality?