use special event api if available, allow X movement to cancel a tap as Y does. Make sure tolerance is used as expected.