A API Keyboard Lock permite que os desenvolvedores ofereçam uma experiência imersiva em tela cheia para vários casos de uso, incluindo sites interativos, jogos e streaming de aplicativos ou de área de trabalho remota. Isso é feito permitindo que os sites usem todas as chaves disponíveis permitidas pelo sistema operacional do host.
A API Pointer Lock permite que um aplicativo para computador oculte o ícone do cursor e interprete o movimento do mouse para outra coisa, como olhar ao redor em um mundo 3D.
No Chrome 131 e versões mais recentes, o uso de qualquer uma dessas duas APIs exige uma permissão. É possível verificar a permissão, conforme mostrado nos snippets abaixo:
const {state} = await navigator.permissions.query({name: 'pointer-lock'});
if (state === 'granted') {
// The Pointer Lock API can be used.
}
const {state} = await navigator.permissions.query({name: 'keyboard-lock'});
if (state === 'granted') {
// The Keyboard Lock API can be used.
}
Não é necessário pedir permissão. Se a permissão não tiver sido concedida antes, o navegador vai mostrar uma solicitação de permissão na primeira solicitação para bloquear o ponteiro ou o teclado.