I am having some issues with the touch code when the mouse leaves the canvas and it is depressed and released outside of the canvas.
The touch dispatcher still believes the touch is claimed so that when the mouse returns to the canvas it continues to fire OnTouchMoved although the mouse button is no longer depressed. The subsequent press of the mouse button has some defined but unusual behaviour.
I believe the correct action is to send a onTouchCancelled when the mouse leaves the canvas that cocos2d is hosted inside. Does this sound correct?
Any hints on how I might implement and cause this to happen without really messing up the touch input system?