Yes, I understand that, but that seems to be accounted for by adapting the thresholds i.e. the defaults are currently:
public float mouseClickThreshold = 10f;
public float touchClickThreshold = 40f;
Currently touchClickThreshold is not used (UICamera.cs):
float click = isMouse ? mouseClickThreshold : touchClickThreshold;
...
currentTouch.clickNotification = isMouse ? ClickNotification.BasedOnDelta : ClickNotification.Always;
...
else if (currentTouch.clickNotification == ClickNotification.BasedOnDelta && click < mag)
{
// We've dragged far enough to cancel the click
currentTouch.clickNotification = ClickNotification.None;
}
As far as I can tell this is essentially equivalent to:
if (isMouse && mouseClickThreshold < mag)
{
// We've dragged far enough to cancel the click
currentTouch.clickNotification = ClickNotification.None;
}
Not cancelling the click is a bit inconsistent with behaviour of native apps too. I've adapted my local copy of UICamera.cs to:
currentTouch.clickNotification = ClickNotification.BasedOnDelta;
... and everything works well. I think that if people are concerned over accidentally triggering click events on touch they can just increase the touch threshold.