whole_func_string: function TMEhandler(manager, inputEvent, inputData) {
              var isTouch = inputData.pointerType == INPUT_TYPE_TOUCH,
                  isMouse = inputData.pointerType == INPUT_TYPE_MOUSE;
  
              if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {
                  return;
              }
  
              // when we're in a touch event, record touches to  de-dupe synthetic mouse event
              if (isTouch) {
                  recordTouches.call(this, inputEvent, inputData);
              } else if (isMouse && isSyntheticEvent.call(this, inputData)) {
                  return;
              }
  
              this.callback(manager, inputEvent, inputData);
          }
func_code_string: function TMEhandler(manager, inputEvent, inputData) {
              var isTouch = inputData.pointerType == INPUT_TYPE_TOUCH,
                  isMouse = inputData.pointerType == INPUT_TYPE_MOUSE;
  
              if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {
                  return;
              }
  
              // when we're in a touch event, record touches to  de-dupe synthetic mouse event
              if (isTouch) {
                  recordTouches.call(this, inputEvent, inputData);
              } else if (isMouse && isSyntheticEvent.call(this, inputData)) {
                  return;
              }
  
              this.callback(manager, inputEvent, inputData);
          }
func_documentation_string: handle mouse and touch events
  @param {Hammer} manager
  @param {String} inputEvent
  @param {Object} inputData