Recursos

O que torna o Dish diferente.

Todas as superfícies de entrada que um controle moderno tem, encaminhadas pelo Wi-Fi com latência abaixo de um frame.

Latência abaixo de um frame

Cada evento de controle é montado em um relatório XUSB de 12 bytes, selado e enviado via sendto() inline na thread de entrada. Sem fila, sem hop assíncrono. Milissegundos de um único dígito ponta a ponta em uma LAN Wi-Fi 6 normal.

Criptografia autenticada

Troca de chaves X25519 no pareamento, ChaCha20-Poly1305 IETF em cada pacote, contador monotônico para defesa contra replay. O mesmo AEAD que TLS 1.3, WireGuard e SSH. Tags de autenticação são de 128 bits, então entradas forjadas morrem no receptor.

Descoberta mDNS + UDP

O Satellite anuncia _satellite._udp via Bonjour e responde a um broadcast UDP legado em :9879. O Dish mescla os dois e etiqueta cada entrada com sua fonte. Descobertas com cache frio geralmente terminam em menos de um segundo.

Heartbeats e reconexão silenciosa

Cada lado dispara um heartbeat a cada 2 segundos. Cinco perdidos seguidos encerram a conexão. Em uma queda, o Dish se restabelece contra a chave salva sem reentrada de PIN. O controle virtual continua plugado.

Xbox ou DualSense por slot

Cada Dish pareado escolhe sua identidade virtual. O Satellite pluga um Xbox 360 via ViGEmBus ou um DualShock 4 com a superfície DS4 completa (movimento, touchpad, lightbar, bateria). Você decide por controle.

Encaminhamento de movimento (giroscópio + acelerômetro)

MSG_MOTION (0x000A) transmite giroscópio e acelerômetro de 3 eixos a até 250 Hz por controle na convenção Cemuhook DSU. Mira por inclinação, gyro-look ou DSU-pipe para o seu emulador favorito no receptor.

Touchpad DualSense com dois dedos

MSG_TOUCHPAD (0x000C) carrega os dois dedos do DualSense, IDs de tracking monotônicos e o botão clicável. Escolha o roteamento por dispositivo no receptor: superfície DS4, mouse do host, ou desligado. Hot-swappable, sem precisar reparear.

Controle de lightbar RGB

MSG_LIGHTBAR (0x000D) controla os LEDs do DualSense e DS4 independentemente da vibração. Jogos que pintam a barra para combinar com o estado do mundo (Astro's Playroom, GTA V, Returnal) funcionam ponta a ponta pela LAN.

Ida e volta de vibração

Quando um jogo escreve na saída de vibração do controle virtual, o Satellite emite MSG_RUMBLE (0x0009) com as magnitudes dos motores forte + fraco de volta para o Dish certo. No Android, por design, a vibração vai para o(s) vibrador(es) do próprio celular em vez do controle conectado. Sua mão sente do mesmo jeito.

Telemetria de bateria

Os controles reportam o nível (0–100) e estado de carga a cada 30 segundos e a cada transição. Controles com fio ou desconhecidos caem na bateria do dispositivo host, então você sempre vê algo significativo no card do slot.

Overlay de toque no Android

O Dish para Android vem com um layout na tela configurável com perfis Xbox e PlayStation. D-pad, sticks, ABXY, gatilhos, tudo ajustável por jogo. D-pad de oito direções com sweet-spots diagonais, L3/R3 com múltiplos dedos.

Passthrough Bluetooth HID

O Dish para Android também pode se registrar como um controle Bluetooth HID: pareie uma vez com o seu PC, console ou TV box e encaminhe entradas mesmo quando não há um Satellite na rede.

UI web local

O Satellite expõe um dashboard em localhost:9877. RTT ao vivo por conexão, dispositivos pareados, contadores de pacotes, microssegundos de loop, log tail e uma visão de telemetria de debug. Tudo sobre HTTP comum porque o limite é localhost.

Atualizações OTA no app

O Satellite acompanha o GitHub Releases em um canal stable ou pre-release, baixa o artefato da plataforma, verifica o SHA-256 contra o arquivo de soma assinado por cosign e aplica via Inno Setup. Pode ser cancelado, pulado e dispensado.

Drop-in para Sunshine / Moonlight

Transmita vídeo com o Moonlight, segure o seu celular Android como o controle via Dish. Ou pule o Moonlight inteiro e use o Dish como controle sem fio no mesmo monitor.

Xbox 360 ou DS4 virtual

O Satellite injeta via ViGEmBus no Windows. O Xbox 360 cobre todo jogo de PC. O DualShock 4 cobre qualquer coisa que prefira botões PlayStation ou queira a superfície completa de touchpad / movimento / lightbar.

Múltiplos controles por sessão

Noite de co-op de sofá? Até 16 controles por sessão do Satellite, com controles virtuais independentes, estado de criptografia, streams de movimento e rotas de vibração. Um jogador caindo não derruba os outros.

Pacotes marcados com DSCP

Todo pacote de saída é marcado como Expedited Forwarding (DSCP EF / 0xB8). Roteadores e APs com suporte a QoS os colocam à frente do tráfego em massa. Combinado com pinagem de prioridade de thread no receptor, é o que mantém a latência junta em Wi-Fi congestionado.

Seis idiomas no Android

O Dish para Android vem em inglês, espanhol, alemão, francês, português brasileiro e bósnio de fábrica. As strings são externalizadas para que locais adicionais possam ser adicionados sem mudança de código.

Zero analytics, zero anúncios

Sem analytics, sem logging remoto, sem sistema de contas. O único caminho de dados de saída no Dish para Android é o Firebase Crashlytics opt-out para relatos de crash e ANR: nunca entrada de controle, nunca IPs do Satellite, nunca SSIDs. Verificável nos repositórios públicos.

Pronto para sentir?

Grátis, código aberto e dez minutos do download ao primeiro frag.