Description
Version of emscripten/emsdk:
3.1.58
This affects shooter games especially. Chromium introduced the unadjustedMovement
parameter not so long ago, which makes aiming so so much better, indistinguishable from running a native game.
There is an example of an app, Quake III Arena, that utilizes Emscripten with a hack to get it to use unadjustedMovement
:
It can be tested here: https://thelongestyard.link/
However, I believe that this should be upstreamed to Emscripten itself. Perhaps with a config option, if needed.
As of 2025-06 it's only supported on Windows and macOS, however, and its support needs to be detected, perhaps with try { await canvas.requestPointerLock({ unadjustedMovement: true }) catch ...
.
Also note that this parameter is considered experimental.
I wanted to try to make an MR, but I am not sure where exactly this needs to be changed (there is a lot of requestPointerLock
references), and how to handle the fact that this option might not be supported.