Cómo un toque en tu iPhone se convierte en un clic en tu Mac
Enviar un clic es fácil. Enviar miles por una mala conexión, en orden y sin que el cursor se retrase, es donde el control remoto se vuelve interesante.
Las posiciones son fracciones, no píxeles
Cuando tocas la imagen, el teléfono no envía «píxel 812, 640». Envía un punto entre 0 y 1 en cada eje, relativo a la fuente que se muestra. El Mac lo convierte en coordenadas reales para la pantalla o la ventana que está capturando. Por eso un toque cae en el lugar correcto tanto si la imagen está ajustada a la pantalla como ampliada, en vertical o en horizontal, en un panel Retina o en una pantalla virtual con la forma del teléfono. Ninguno de los dos lados necesita acordar una resolución.
No todos los mensajes son iguales
La entrada viaja como pequeños comandos JSON por la conexión de control cifrada, y la app trata cada tipo de forma distinta:
- Los movimientos del ratón conservan solo el último. Si se acumulan tres movimientos mientras la red se detiene, los dos primeros no valen nada. El más reciente los sustituye, y los movimientos se limitan a unos 60 por segundo.
- Los desplazamientos se suman. Dos eventos de desplazamiento que se acumulan juntos se convierten en uno con la suma, así que no se pierde distancia.
- Los clics y las teclas nunca se descartan ni se reordenan. Un soltar el botón que llegue antes de su pulsación sería un error que se vería.
Esa pequeña política es casi toda la diferencia entre un cursor que se desliza y uno que da tirones tras un bache. También significa que una mala conexión se traduce en un puntero menos fluido y nunca en una acción equivocada.
Las teclas son códigos de tecla de macOS
Una pulsación de tecla es un código de tecla virtual de macOS más bits modificadores para Mayús, Control, Opción y Comando. La app del Mac lo convierte en un evento de teclado real y lo publica en el sistema, por lo que necesita el permiso de Accesibilidad. Los atajos siguen a la app en la que estás: el panel de arriba muestra los comandos del editor que tienes delante, no una lista fija.
Conseguir que las teclas se comporten como un teclado físico tiene sorpresas. Una flecha real lleva dos indicadores extra, uno de función y otro de teclado numérico, que un evento sintético ingenuo omite. Sin ellos, Control y la flecha arriba no hacían nada en el Mac en lugar de abrir Mission Control, aunque el código de tecla correcto había llegado. Peering ahora activa ambos indicadores, como hace un teclado real.
El texto no son pulsaciones de teclas
Los emojis, los acentos y las escrituras no latinas no se corresponden con códigos de tecla. Para ellos el teléfono envía los propios caracteres como texto, y el Mac los escribe. Por eso el teclado funciona en cualquier idioma, y por eso algunos atajos del Mac no funcionan en ese modo. Es un compromiso que la app te deja cambiar en Ajustes.
Mantenerse sincronizados
El teléfono hace ping al Mac cada segundo, y el Mac responde devolviendo el ping, lo que sirve además como lectura de latencia en vivo. Si el teléfono pasa a segundo plano, lo avisa antes, porque iOS puede congelar una app sin cerrar sus conexiones, y el Mac deja de enviarle vídeo hasta que vuelva. Una sesión también puede ser solo de observación, en cuyo caso el Mac ignora la entrada mientras la imagen sigue fluyendo.
La otra dirección de este bucle es cómo llega la imagen al teléfono. Juntas deciden lo ágil que se siente todo.
Preguntas
¿Peering admite emojis y teclados que no son en inglés?
Sí. El texto que no es una pulsación de tecla se envía como caracteres y se escribe en el Mac, así que funcionan los emojis y cualquier idioma. Los atajos del Mac solo se envían en el modo que manda códigos de tecla.
¿Por qué el cursor sigue fluido con una conexión débil?
Los movimientos del ratón se agrupan para conservar solo la última posición, y los desplazamientos se suman. Los clics y las teclas siempre se entregan en orden.