Touch Screen Events - Mouse v Touch

I need to differentiate between a Short Press on a button (or canvas based version) of under 3 seconds and a Long Press of more than 3 seconds.

This is no problem on a mouse interface, just using MouseDown, MouseUp and some timer code.

The problem arises on touch screens. In all my tests on touch screens so far, the MouseDown and MouseUp are reported at the same moment - at the time of MouseUp when using touch, but fire individually at the expected times when using a mouse.

I’ve tried playing with GetFocus and LostFocus, MouseEnter and MouseExit , but on the touch screens they either do not fire, or again report at MouseUp time.

Any suggestions please.

Is there access from Xojo to specific touch screen events in addition to regular mouse events? None show up on the list of Event Handlers for the buttons and canvases I have tried.

Initial testing was on Lynx tablet under Win 8.1 and more recently on Lenovo YogaBook convertible.

Add a 500 ms timer to the window, let us call it TimerLP, set to off.

In MouseDown :

TimerLP.Mode = Timer.ModeSingle Return True

in MouseUp :

TimerLP.Mode = Timer.ModeOff

The Action Event of TimerLP is the LongPress event handler.

I use that in Check Writer when used in Tablet mode.