code: function (element, type, handler) {
          var touches = this._msTouches;
          var cb = function(e) {
  
              //Don't fire touch moves when mouse isn't down
              if (e.pointerType == e.MSPOINTER_TYPE_MOUSE && e.buttons == 0) {
                  return;
              }
  
              if (touches.length == 1 && touches[0].pageX == e.pageX &&
                      touches[0].pageY == e.pageY) {
                  // don't trigger event when pointer has not moved
                  return;
              }
              for (var i=0, ii=touches.length; i<ii; ++i) {
                  if (touches[i].pointerId == e.pointerId) {
                      touches[i] = e;
                      break;
                  }
              }
  
              e.touches = touches.slice();
              handler(e);
          };
  
          OpenLayers.Event.observe(element, 'MSPointerMove', cb);
      }
docs: Method: addMsTouchListenerMove
  
  Parameters:
  element - {DOMElement} The DOM element to register the listener on
  type - {String} The event type
  handler - {Function} the handler