Arquivo MN-002-03 · Caso 03Hora local · UTC−3 · Status: Ativo
Matheus Nugas
Caso 03 · LabStatus: Ativo · Acesso: resumo público

Cloudbind

Estou construindo uma extensão para o Chrome que roda qualquer jogo do Xbox Cloud Gaming com teclado e mouse, com remapeamento grátis, presets que trocam sozinhos por jogo e sem conta, servidor ou driver.

Papel
Design e desenvolvimento
Período
2026 até hoje
Time
Só eu
Stack
Chrome Extensions (MV3) · Gamepad API · Pointer Lock API · WebRTC · JavaScript · Playwright

01Contexto

O Cloudbind é a sequência do Joy2Cloud. O Joy2Cloud me ensinou que o jeito mais limpo de entrar num jogo na nuvem é a Gamepad API: mostre à página um controle de Xbox virtual e qualquer título o lê. O Joy2Cloud alimenta esse controle com os Joy-Con do Switch 2. O Cloudbind alimenta com o teclado e o mouse.

O problema é simples. O Xbox Cloud Gaming transmite jogos de console, e jogos de console esperam um controle. Se você joga no navegador de um notebook, ou só mira melhor com o mouse, a maioria dos títulos te deixa na mão. As opções que existiam deixavam alguma lacuna: a extensão de teclado e mouse mais instalada cobra para continuar usando e para mudar o layout, e userscripts como o excelente Better xCloud, open source, pedem um gerenciador de userscripts antes e miram a interface clássica, que a Microsoft trocou pelo play.xbox.com em 2026.

Então o Cloudbind entrega ao jogo um controle de Xbox virtual e o comanda pelo teclado e mouse. Funciona de cara com um layout de FPS, e remapear é grátis: qualquer tecla, botão do mouse ou giro da roda para qualquer botão ou direção de analógico, várias entradas por botão, configuradas apertando a tecla. Os comandos seguem a posição das teclas, então o WASD fica no lugar em teclados AZERTY ou ABNT2. Os presets são ilimitados, trocam sozinhos por jogo e viajam como códigos curtos que dá para colar no Discord ou no Reddit.

Dois recursos vão além da entrada. O xCloud escolhe uma região de streaming por você e esconde a opção, então o Cloudbind deixa você escolher. E um overlay mostra ping, FPS, resolução, bitrate, perda de pacotes e o servidor em uso, e continua visível em tela cheia.

Nenhuma das ferramentas anteriores fazia tudo isso. O Cloudbind junta tudo numa instalação grátis, com um clique e sem conta. Pela descrição pública de cada projeto em outubro de 2026:

  • Comparado à extensão mais instalada: remapear é grátis em vez de pago, não pede e-mail para teste, e o Cloudbind traz o que ela não anuncia: roda do mouse e botões laterais, teclas no analógico direito, sensibilidade de mira com curva de resposta e anti-deadzone, escolha de servidor e overlay de conexão. E roda no novo play.xbox.com, o que não consegui confirmar para ela.
  • Comparado ao Better xCloud: não precisa instalar um gerenciador de userscripts antes, e foi feito para o novo play.xbox.com em vez da interface clássica. O Better xCloud já faz bem a escolha de servidor e o overlay.
  • Nenhum dos dois anuncia: presets que trocam sozinhos para cada jogo, nem códigos para trocar layouts.

Está na versão 0.5.0 e ainda em desenvolvimento. O repositório é privado por enquanto, e a página na Chrome Web Store vem depois dos testes em vários gêneros. O principal, jogar com teclado e mouse e remapear, continua grátis. O Cloudbind é um projeto de fã, sem vínculo com a Microsoft ou o Xbox.

02Restrições

  • Jogos

    Jogos de console esperam um controle. Só um punhado de títulos do xCloud aceita teclado e mouse nativamente.

  • Plataforma

    Não há API oficial. Em 2026 a Microsoft mudou o xCloud para o play.xbox.com e passou a redirecionar para lá, então a extensão só pode contar com o que a própria página expõe, e isso pode mudar sem aviso.

  • Navegador

    O Chrome injeta um arquivo de script só uma vez por frame, a tela cheia esconde tudo que está fora da top layer e o storage sincronizado limita cada item a 8 KB.

  • Privacidade

    A única permissão é storage, e não existe servidor. Nada do que se digita ou clica sai do navegador.

  • Time

    Só eu.

03Arquitetura

Entrada

Teclado + mousePointer LockPreset ativoCálculo do analógicoControle Xbox virtualJogo · Gamepad API

Configurações

Aba de controle + popupchrome.storage.syncBridge · isolated worldScripts da página

Stream

Login do xCloud · lista de regiõesRegião escolhidaSessão de streamWebRTC getStatsOverlay · top layer
Fig. 03 · Pipelines em resumo. Nós destacados são os buffers.

04Decisões

D-01

Reaproveitar o controle virtual do Joy2Cloud

Por quê

Um script na página substitui o navigator.getGamepads() por um controle de Xbox padrão e o comanda pelo teclado e mouse. Para o jogo é só um controle, então funciona em qualquer título, inclusive nos que não têm suporte nenhum a teclado.

Custo

O mouse vira um analógico, então a mira é uma aproximação que depende de ajuste, e o controle precisa se comportar como hardware de verdade (um timestamp que avança a cada frame, um atuador de vibração, anunciado de novo depois que o jogo carrega) ou alguns jogos o ignoram.

D-02

Tratar o mouse como velocidade, não como posição

Por quê

A entrada crua pelo Pointer Lock vira inclinação do analógico com suavização, curva de resposta e anti-deadzone, e o analógico volta ao centro em cerca de 35 ms depois que o mouse para. O cálculo é puro e não depende da taxa de quadros, conferido a 60 e 144 Hz com um mouse de 125 Hz.

Custo

Bons valores padrão dependem do jogo e da pessoa. Sensibilidade, sensibilidade de mira e curva ficam todas expostas, e o padrão ainda precisa ser testado em vários gêneros no xCloud de verdade.

D-03

Escolher o servidor editando o que o xCloud já envia

Por quê

A resposta de login do xCloud lista todas as regiões de streaming e marca uma como padrão. O Cloudbind marca a que você escolheu, então a sessão inteira vai para lá, sem requisições extras e sem proxy.

Custo

Depende de uma resposta não documentada. Se ela mudar, o recurso para de funcionar, então sem uma escolha salva o Cloudbind deixa a resposta exatamente como o Xbox enviou.

D-04

Gravar uma sessão real antes de criar recursos de qualidade

Por quê

Um gravador de desenvolvimento capturou como o xCloud monta um stream na interface nova. Ele mostrou que a resolução agora é uma configuração nativa, que o servidor aceita só H.264 e que o bitrate é decidido no servidor, então a escolha de região era a lacuna que valia preencher.

Custo

Um gravador fica ao lado de tokens e dados da conta. Ele vem desligado, remove tokens, cookies, gamertag, ids e credenciais ICE dentro da página antes de guardar qualquer coisa, e a remoção tem testes próprios.

05Resultado

1

Permissão pedida ao navegador (storage)

~35 ms

Para o analógico voltar ao centro depois que o mouse para

49

Testes automáticos no navegador com a extensão instalada

21

Testes unitários do analógico, dos presets e dos códigos de compartilhamento

06O que eu mudaria

A primeira versão só rodava em www.xbox.com, o endereço que eu conhecia do Joy2Cloud. O xCloud já tinha mudado para o play.xbox.com, então a extensão simplesmente nunca carregava, sem erro nenhum. Eu estava trazendo suposições em vez de conferir o serviço ao vivo. O gravador veio depois e respondeu as dúvidas de qualidade numa única sessão. Da próxima vez, eu gravaria o serviço real primeiro e escreveria os recursos depois.