 		Events.TouchEnd = "touchend"
 		Events.TouchMove = "touchmove"
 
-Events.enableEmulatedTouchEvents(false)
+# Let's make sure the touch events work on desktop too
+Events.enableEmulatedTouchEvents(not Utils.isTouch())
 
-# Let's make sure the touch events work on desktop too
-if not Utils.isTouch()
-	Events.enableEmulatedTouchEvents()
+if supportsPointerEvents
+	Events.MouseUp = Events.PointerUp
+	Events.MouseDown = Events.PointerDown
+	Events.MouseOver = Events.PointerOver
+	Events.MouseOut = Events.PointerOut
+	Events.MouseMove = Events.PointerMove
+	Events.TouchStart = Events.PointerDown
+	Events.TouchEnd = Events.PointerUp
+	Events.TouchMove = Events.PointerMove
 
 Events.Click = Events.TouchEnd
 

Events.DoubleClick = "dblclick"
Events.MouseDoubleClick = "dblclick" # Alias for consistent naming

# Standard touch events
Events.enableEmulatedTouchEvents = (enable=true) ->
	if enable
		Events.TouchStart = Events.MouseDown
		Events.TouchEnd = Events.MouseUp

{Gestures} = require "./Gestures"

Events = {}


# Standard dom events
Events.MouseUp = "mouseup"
