Chrome の将来のバージョンでは、pointerLock を使用して、オペレーティング システムの伝達関数 [1] を通過する前のマウスの生の動きまたは未調整の動きを取得できるようになることを願っています。
未調整の動きで pointerLock を要求すると、次のように機能します。
const promise = myCanvas.requestPointerLock({unadjustedMovement: true});
if (!promise) {
console.log("disabling mouse acceleration is not supported");
}
これは現在、Chrome (バージョン 88-91 など) でのみ機能し、ユーザーが手動で chrome://flags/#enable-pointer-lock-options を有効にした場合にのみ機能するようです。
この時点で実際に pointerLock を要求することなく、 unadjustedMovement がブラウザーでサポートされているかどうかを確認したいと思います。したがって、私の質問は、pointerLock を要求せずに unadjustedMovement がサポートされているかどうかを確認する方法があるかどうかです。
更新: 念のため、次のスニペットを使用して自然に確認できます。
function checkUnadjustedMovement() {
const promise = document.body.requestPointerLock({unadjustedMovement: true});
document.exitPointerLock()
if (!promise) {
return false;
}
return true;
}
ただし、これが悪影響を与える可能性があるかどうかはわかりません。さらに重要なことに、アクティブ化のジェスチャーが必要です. つまり、関数を呼び出す結果となったクリックです。