Skip to content

Commit 97ba3a0

Browse files
committed
Calculate mouse movement delta depending on pointer lock
1 parent e2a6c1e commit 97ba3a0

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/events/mouse.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -810,13 +810,23 @@ p5.prototype._updateNextMouseCoords = function(e) {
810810
e
811811
);
812812

813-
this._setProperty('movedX', e.movementX);
814-
this._setProperty('movedY', e.movementY);
813+
815814
this._setProperty('mouseX', mousePos.x);
816815
this._setProperty('mouseY', mousePos.y);
817816
this._setProperty('winMouseX', mousePos.winX);
818817
this._setProperty('winMouseY', mousePos.winY);
819818

819+
if (document.pointerLockElement === canvas) {
820+
this._setProperty('movedX', e.movementX);
821+
this._setProperty('movedY', e.movementY);
822+
}
823+
824+
else {
825+
const deltaX = this.mouseX - this.pmouseX;
826+
const deltaY = this.mouseY - this.pmouseY;
827+
this._setProperty('movedX', deltaX);
828+
this._setProperty('movedY', deltaY);
829+
}
820830
}
821831

822832
if (!this._hasMouseInteracted) {

0 commit comments

Comments
 (0)