Herramienta · Productividad

Input Remoto LAN vía WebSocket

Convierte cualquier dispositivo en teclado y trackpad para tu PC en la red local.

Cliente
Proyecto personal · Open Source
Rol
Autor · Solo dev
Duración
3 semanas
Año
2025
Estado
Open Source
Dispositivo móvil mostrando el trackpad remoto en orientación apaisada
fig. 00 — Dispositivo móvil mostrando el trackpad remoto en orientación apaisada
01

Contexto

Trabajando con dos monitores y una laptop secundaria en el setup de casa, alternar periféricos físicos era ineficiente. Las soluciones existentes asumían cloud o fricción de pareo.

02

Problema

Quería un binario único que se descubriera por mDNS en la LAN, sin servidores externos, con latencia indistinguible de un teclado físico y soporte para gestos multi-touch como trackpad.

03

Aproximación

  1. 01

    Servidor escrito en Go con net/http + gorilla/websocket, descubrible vía Bonjour/mDNS.

  2. 02

    Cliente móvil en React Native con un buffer de eventos batched a 120Hz para mantener fluidez.

  3. 03

    Mapeo de eventos a la API nativa de cada OS (uinput en Linux, CGEvent en macOS, SendInput en Windows).

  4. 04

    Pareo por código numérico de 6 dígitos sin almacenar credenciales en disco.

04

Resultados

Latencia mediana medida8 ms
Tamaño del binario6.2 MB
Plataformas soportadas03
Stars en GitHub+340
Galería
Vistas del producto
Logs de WebSocket en tiempo real durante una sesión
fig. 01Logs de la sesión — eventos batched a 120Hz
Pantalla de pareo con código numérico de seis dígitos
fig. 02Pareo — código de 6 dígitos sin credenciales en disco
Siguiente proyecto
2024

API de Voz con Azure Speech

Pipeline de transcripción y síntesis en tiempo real para asistentes de voz.