How To Implement A Tap Event As A Touch Event (Or Fix Event Propagation)

My issue comes from tap events and touch events seem to not propagate handlers to each other, where

If you have two different objects that are taking up some common spot on the screen, one object having a touch listener, the other having a tap listener, the following issue happens:

I have the object handle it’s touch event, and I do not want the tap event to happen if it gets handled by the touch event (by returning true in the touch event), however even if I return true, the tap event handler still gets fired. If i change the tap event to a touch event, then the event does not fire after it gets handled.

So the only fix I can think of is to implement the tap event as a touch event, but I have to figure out how to simulate a doubletap event as a touch event

ex:

function touchHandler(event)

    print(“Touch”)

    return true

end

function tapHandler(event)

    print(“Tap”)

end

local obj1 = display.newRect(0,0,100,100)

local obj2 = display.newRect(0,0,100,100)

obj1:addEventListener(“touch”,touchHandler)

obj2:addEventListener(“tap”,tapHandler)

obj1:toFront() --Not sure how to emulate obj1 event being the first one to be handled, but hopefully this works