Re: [w3c/pointerlock] Option needed to disable OS-level adjustment for mouse acceleration (#36)

Games do commonly provide options to users to choose mouse sensitivity, and also sometimes provide options for enabling or disabling mouse acceleration. E.g. Counter-Strike:

![steamworkshop_webupload_previewfile_126920260_preview](https://user-images.githubusercontent.com/225351/46730769-919b5300-cc91-11e8-84fb-b3c28dcba800.jpg)

MineCraft has only a sensitivity setting:

![p2j0a](https://user-images.githubusercontent.com/225351/46730540-1df94600-cc91-11e8-9bba-11cec987b885.png)

On Windows based games for example, mouse acceleration control is done by switching between [Win32 UI Mouse Events](https://docs.microsoft.com/en-us/windows/desktop/inputdev/wm-mousemove) API that provides OS-level accelerated/nonlinear input, and [Raw Input API](https://docs.microsoft.com/en-us/windows/desktop/inputdev/raw-input) that provides linear unaccelerated mouse movement.

The first API reports movement taking into account user's mouse sensitivity and acceleration settings in Windows Control Panel, whereas the second API provides raw input data directly from the mouse device. In first person games where mouse cursor is hidden.

If user has disabled mouse acceleration in their Mouse control panel, then Win32 UI events report unaccelerated content, but it is rare to expect players to go manage mouse acceleration and sensitivity for individual games via control panel, hence games providing custom options.

Whether linear or nonlinear acceleration should be used for first person content or some other types of games is a highly subjective experience. E.g. some Counter-Strike players prefer to have acceleration enabled, others prefer to disable it. But both usages are common.

I would recommend here to provide an option in pointer lock to choose between raw/linear input and desktop/nonlinear input. (Recording both linear/nonlinear input data for one event passed to JS would be technically difficult to implement due to lack of coherency in the received events from the OS)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/pointerlock/issues/36#issuecomment-428526825

Received on Wednesday, 10 October 2018 10:47:55 UTC