Refactor pointer lock handling and movement calculation in first-person controller

This commit is contained in:
2026-04-27 17:18:31 +02:00
parent eed6afb58f
commit ad93296e6e
3 changed files with 199 additions and 33 deletions

View File

@@ -0,0 +1,19 @@
export function shouldAutoCapturePointerLockOnActivate(): boolean {
if (typeof navigator === "undefined") {
return true;
}
const userAgent = navigator.userAgent;
const vendor = navigator.vendor;
const isSafari =
vendor.includes("Apple") &&
userAgent.includes("Safari/") &&
!userAgent.includes("Chrome/") &&
!userAgent.includes("Chromium/") &&
!userAgent.includes("CriOS/") &&
!userAgent.includes("Edg/") &&
!userAgent.includes("OPR/") &&
!userAgent.includes("Firefox/");
return !isSafari;
}