type |= POINTER;\r
switch( e.pointerType ){\r
case 'touch' :\r
- case 2 : //e.MSPOINTER_TYPE_TOUCH :\r
type |= TOUCH; break;\r
case 'pen' :\r
- case 3 : //e.MSPOINTER_TYPE_PEN :\r
type |= PEN; break;\r
case 'mouse' :\r
- case 4 : //e.MSPOINTER_TYPE_MOUSE :\r
type |= MOUSE; break;\r
default :\r
return;\r
};\r
- } else\r
- if( e.touches ){\r
- type |= TOUCH;\r
- } else {\r
- type |= MOUSE;\r
};\r
\r
// onmouseup, but when touchend has been fired we do nothing.\r
// this is for touchdevices which also fire a mouseup on touchend\r
if( type & MOUSE && touch_triggered ){\r
return X.Callback.STOP_NOW | X.Callback.PREVENT_DEFAULT;\r
- }\r
+ } else\r
// mousebutton must be down or a touch event\r
- else if (\r
- type & TOUCH || //sourceEventType.match(/touch/) || // touch events are always on screen\r
+ if( type & TOUCH || //sourceEventType.match(/touch/) || // touch events are always on screen\r
( type & POINTER && type & START ) || //sourceEventType.match(/pointerdown/) || // pointerevents touch\r
( type & MOUSE && e.button === 0 ) //(sourceEventType.match(/mouse/) && e.which === 1) // mouse is pressed\r
){\r
enable_detect = true;\r
};\r
\r
- console.log( 'Hammer@handleEvent ' + IdToGestureID[ e.type ] + ' ' + e.type + ' ' + X.UI.Event._POINTER_DOWN + ' ' + enable_detect );\r
+ //console.log( 'Hammer@handleEvent ' + IdToGestureID[ e.type ] + ' ' + e.type + ' ' + X.UI.Event._POINTER_DOWN + ' ' + enable_detect );\r
\r
// we are in a touch event, set the touch triggered bool to true,\r
// this for the conflicts that may occur on ios and android\r
Detection.register( Gestures[ name ] );\r
};\r
\r
- //if( X_UA_HID.POINTER ){\r
- Hammer.EVENT_TYPES_START = [ X.UI.Event._POINTER_DOWN ];\r
- types = [ X.UI.Event._POINTER_MOVE, X.UI.Event._POINTER_UP, X.UI.Event._POINTER_CANCEL ];\r
- /*} else\r
- if( X_UA_HID.TOUCH ){\r
- Hammer.EVENT_TYPES_START = [ X.UI.Event._TOUCH_START, X.UI.Event._MOUSE_DOWN ];\r
- types = [ X.UI.Event._MOUSE_MOVE, X.UI.Event._MOUSE_UP, X.UI.Event._MOUSE_CANCEL,\r
- X.UI.Event._TOUCH_MOVE, X.UI.Event._TOUCH_END, X.UI.Event._TOUCH_CANCEL ];\r
- } else {\r
- Hammer.EVENT_TYPES_START = [ X.UI.Event._MOUSE_DOWN ];\r
- types = [ X.UI.Event._MOUSE_MOVE, X.UI.Event._MOUSE_UP, X.UI.Event._MOUSE_CANCEL ];\r
- }; */\r
+ Hammer.EVENT_TYPES_START = [ X.UI.Event._POINTER_DOWN ];\r
+ types = [ X.UI.Event._POINTER_MOVE, X.UI.Event._POINTER_UP, X.UI.Event._POINTER_CANCEL ];\r
\r
// Add touch events on the document\r
Utils.addEvents( uinodeRoot, types, Hammer.prototype.handleEvent );\r
/*\r
* "Android version < 2.2" return ev.touches.length === 1 when touchend, others return ev.touches.length === 0\r
*/\r
- Hammer.DO_TOUCHES_FIX = Hammer.HAS_TOUCHEVENTS && ( X_UA.Android < 2.2 || X_UA.Blink || X_UA.Opera );\r
+ Hammer.DO_TOUCHES_FIX = Hammer.HAS_TOUCHEVENTS && ( X_UA[ 'Android' ] < 2.2 || X_UA[ 'Blink' ] || X_UA[ 'Opera' ] );\r
\r
// detect touchevents\r
Hammer.HAS_POINTEREVENTS = true; // navigator.pointerEnabled || navigator.msPointerEnabled;\r
IdToGestureID[ X.UI.Event._POINTER_UP ] = END;\r
IdToGestureID[ X.UI.Event._POINTER_CANCEL ] = END;\r
\r
- IdToGestureID[ X.UI.Event._TOUCH_START ] = START;\r
- IdToGestureID[ X.UI.Event._TOUCH_MOVE ] = MOVE;\r
- IdToGestureID[ X.UI.Event._TOUCH_END ] = END;\r
- IdToGestureID[ X.UI.Event._TOUCH_CANCEL ] = END;\r
- \r
- IdToGestureID[ X.UI.Event._MOUSE_DOWN ] = START;\r
- IdToGestureID[ X.UI.Event._MOUSE_MOVE ] = MOVE;\r
- IdToGestureID[ X.UI.Event._MOUSE_UP ] = END;\r
- IdToGestureID[ X.UI.Event._MOUSE_CANCEL ] = END;\r
- \r
Utils = {\r
\r
/**\r