Firefox: разрешить блокировку указателя из любого контекста

Мне нужно заблокировать указатель, но когда я requestPointerLock это говорит мне

Запрос на блокировку указателя был отклонен, так как Element.requestPointerLock() не был вызван из краткосрочного обработчика событий, созданного пользователем, и документ не отображается в полноэкранном режиме.

Or

Запрос на блокировку указателя был отклонен, так как документ не находится в фокусе.

Это имеет смысл, но я делаю приложение, которое нужно открывать с помощью заблокированного указателя, не могу дождаться взаимодействия с пользователем. Хорошей новостью является то, что у меня есть полный контроль над устройством, поэтому я решил отредактировать некоторые настройки about:config и на этом закончить, но, похоже, я не могу найти его.

Как я могу сказать Firefox разрешить блокировку указателя в любое время?


person php_nub_qq    schedule 25.09.2020    source источник
comment
Я заглянул https://searchfox.org/mozilla-central/source/dom/base/Document.cpp#14415 - может быть, вы можете повлиять на aUserInputOrChromeCaller?   -  person itsho    schedule 05.10.2020


Ответы (1)


Проблема в том, что requestPointerLock не может вызываться автоматически, он должен вызываться из коллбека пользователя, например, при нажатии на что-либо.

Вы можете вызвать requestPointerLock() напрямую, если пользователь принял полноэкранный запрос см. ссылку.

person ScottOverdrive    schedule 05.10.2020