title: Browsers giving wrong readings for MovementX
body: <p>I'm currently making a simple fps movement based game in three.js using cannon.js physics.
  But I've run into a problem with my first person controls</p>
  <pre><code>function onMouseMove( event ) {
      if ( scope.isLocked === false ) return;
      const movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0;
      const movementY = event.movementY || event.mozMovementY || event.webkitMovementY || 0;
      scope.euler.y -= movementX * scope.rotationSpeed;
      scope.euler.x -= movementY * scope.rotationSpeed;
      scope.euler.x = Math.min(Math.max(scope.euler.x, -1.0472), 1.0472);
      camera.quaternion.setFromEuler(scope.euler);
      scope.dispatchEvent( _changeEvent );
  }
  </code></pre>
  <p>movementX will sometimes give a false reading which is much higher then it should be, and I believe this is down to the browser. I've tested this on both Chrome and Firefox and each will give drastically wrong results every so often.</p>
  <p>I'm hoping that there is another more accurate way to get mousemovement besides using event.MovementX</p>
  <p>also I'm using <code>document.body.requestPointerLock();</code>
  which is locking the mouse to the center of the screen.</p>