Retour au journal de dev Notes de version · iPhone et iPad

SharkTTY 1.7 et 1.8 : un clavier flottant, une loupe, et le son du Mac dans la main

· Safafish

Deux tags à une heure d’écart le 2 juillet : 1.7, puis 1.8. Ce n’est pas une erreur dans le journal. La 1.7 est la version fonctionnelle — celle où le bureau à distance a cessé d’être une visionneuse pour devenir un endroit où l’on travaille vraiment — et la 1.8, c’est la 1.7 plus une chose : un vrai codec audio sous le son que la 1.7 venait de commencer à envoyer. Côté Mac, elles vont de pair avec SharkTTY Desk 0.7.0 et 0.8.0.

Un clavier qui est vraiment un clavier

Contrôler un Mac depuis un iPad avec le clavier iOS est un exercice de frustration. Il n’y a pas d’Échap. Il n’y a pas de Contrôle. Il n’y a pas de touches de fonction. Tout ce que macOS vous demande de maintenir, iOS ne l’a pas.

La 1.7 en a donc fabriqué un. Cela a commencé par un clavier QWERTY flottant sur le bureau à distance de l’iPad puis, au fil d’une douzaine de commits, c’est devenu quelque chose que l’on reconnaît comme un clavier : symboles, Tab et Entrée ; ⌃, ⌥ et ⌘ en vrais modificateurs avec une Maj large ; une touche Entrée en L à la façon ISO couvrant deux rangées, qui est ensuite descendue sur la rangée de repos et la rangée du bas, avec une Maj de deux cellules et une touche fn, une fois que nous avons regardé où les pouces se posent réellement.

Les deux réglages qui l’ont rendu utilisable et pas seulement présent : vous pouvez le redimensionner, et vous pouvez régler son opacité au curseur — jusqu’à totalement opaque si vous préférez ne pas voir le bureau au travers. Un clavier qui couvre le tiers inférieur d’un iPad, ce n’est pas la même chose quand on voit ce qu’il y a dessous. Et plutôt que deux boutons concurrents, il y a désormais un seul bouton de clavier avec un menu de mode : le clavier flottant, ou le clavier système avec une barre d’outils de raccourcis.

Viser un pixel avec un doigt

Un bout de doigt couvre à peu près la surface des trois pastilles de couleur d’une fenêtre macOS. La souris virtuelle existe à cause de cette arithmétique, et la 1.7 lui a donné une loupe — une loupe qui montre la zone sous votre doigt à la résolution native du Mac, pour tomber sur une case à cocher plutôt qu’à côté. Le pointeur comme la loupe ont été étendus pour fonctionner sur toute la disposition agrégée des écrans, et plus seulement à l’intérieur d’un seul.

Une correction de ce côté mérite d’être détaillée, parce qu’elle fait partie de celles qui n’apparaissent qu’à l’usage. La tuile de la loupe est un flux de pixels distinct de l’image principale et arrive une fraction de seconde plus tard. Pendant que le curseur bouge, la vue agrandie montre donc où le curseur était. Afficher une loupe périmée est pire que ne rien afficher : elle se masque désormais tant que le curseur est en mouvement et revient quand il s’immobilise.

Les écrans comme une image que l’on dispose

La 1.6 affichait déjà tous les écrans. La 1.7 vous laisse les disposer : un menu d’écrans fusionnés, et une zone d’affichage que vous pouvez déplacer et redimensionner. Ce dernier point réclamait une poignée, et voici pourquoi. Le même geste de glissement veut dire deux choses différentes selon l’intention — déplacer cette image, ou déplacer le pointeur du Mac à l’intérieur. Deviner entre les deux donne une mauvaise expérience dans les deux sens : déplacement et redimensionnement passent donc par un mode ajustement explicite avec une poignée, et le pincement pour zoomer ne s’applique que là aussi.

Le clic droit avait le même problème, en miniature. Il était traité différemment selon les endroits ; la 1.7 en a fait un toucher à deux doigts partout, dans la vue en mosaïque comme dans la vue agrandie. Les écrans uniques ont aussi été détachés de la barre supérieure et du bord inférieur, pour que l’image ne se cache plus sous l’habillage de l’app.

Une qualité négociée, pas supposée

La qualité vidéo est maintenant une conversation. L’agent Mac annonce les niveaux qu’il sait encoder, la visionneuse en choisit un et l’affiche, et le plafond — xHD, les pixels natifs du Mac — peut être demandé depuis l’appareil. Cela repose sur la mécanique de bits de capacité ajoutée en 1.6, celle qui permet à une app plus récente de demander quelque chose à un agent plus ancien et d’obtenir un non clair plutôt qu’un flux cassé.

Le son, dans les deux sens

La 1.7 a ajouté l’audio système du Mac vers l’appareil, et une remontée micro dans l’autre sens : un iPhone peut servir de micro à un Mac qui est ailleurs. À eux deux, ils font qu’un appel reçu sur le Mac est un appel que vous pouvez vraiment prendre.

C’est là qu’intervient la 1.8. À ce stade, l’audio était du PCM brut sur un canal de données : correct, et bien plus de bande passante que le son n’en demande. La 1.8 a ajouté Opus — le vocabulaire du codec dans le protocole avec son propre bit de capacité, libopus 1.5.2 embarqué dans la build avec une enveloppe sûre autour, et le décodage côté visionneuse câblé à travers le FFI. Le bit de capacité est la moitié importante : un agent et une visionneuse qui ne parlent pas tous les deux Opus se rabattent sur ce qu’ils ont en commun au lieu d’échouer. Les pièces restantes de ce chemin — un encodeur tamponné qui transforme du PCM quelconque en trames Opus de 20 ms, et la lecture côté visionneuse — ont été terminées dans la build suivante.

Pendant ce temps, dans le terminal

Le bureau à distance a monopolisé l’attention en 1.7, mais le terminal a reçu trois choses qui valent la peine :

  • L’envoi de fichier directement depuis la barre d’accessoires : un fichier de configuration arrive sur un serveur sans détour par un gestionnaire de fichiers.
  • Un bouton pour masquer le clavier, afin de lire la sortie sur un écran de téléphone occupé en grande partie par le clavier.
  • Un interrupteur de rapport de souris. Activé, un trackpad ou une souris connectés envoient leurs clics et leurs glissements aux programmes qui les comprennent — vim, tmux, htop, less. Désactivé, le pointeur sélectionne le texte à la place. Les deux comportements sont justes ; vous seul savez lequel vous voulez à cet instant.

Le clavier flottant a aussi reçu les symboles, Tab et Entrée côté terminal, et a été redisposé pour correspondre à un vrai clavier américain plutôt qu’à une approximation — les fondations des six véritables dispositions arrivées dans la build suivante.

Lire cet article en : English · 中文 · 日本語 · Español · Français · 한국어 · Українська

Pour en savoir plus sur l’app, consultez le guide SharkTTY ; les notes courtes destinées aux utilisateurs se trouvent dans Nouveautés, et le moyen le plus rapide de nous joindre reste le tableau de retours. Retour au journal de dev.