Comment un tracé est reconnu
Quand vous relâchez un bouton de tracé, Input.Observer décide en deux étapes de ce qu'il exécute :
- Quelle forme avez-vous tracée ? Le tracé est noté par rapport aux gestes dans la portée, et le meilleur score l'emporte s'il atteint le seuil de correspondance. Cette page explique cette étape.
- Quelle action utilise cette forme ici ? Les déclencheurs du groupe d'applications pour cette forme sont vérifiés quant aux modificateurs, au bouton de tracé, à la zone et au profil. Voir Portée et règles de repli.
L'indication en direct applique exactement les deux mêmes étapes au tracé dessiné jusque-là : l'indication nomme donc toujours ce qui s'exécuterait si vous relâchiez à cet instant.
Comment un tracé est noté
Chaque comparaison donne un score de 0 à 100 :
- Le tracé est légèrement lissé, pour supprimer le tremblement de la main.
- Il est rééchantillonné en un nombre fixe de points régulièrement espacés sur sa longueur (36 par défaut).
- La direction de chaque court segment entre deux points est comparée à la direction du même segment dans un exemple enregistré.
- L'écart moyen donne le score : 100 quand chaque segment pointe dans la même direction, 0 quand chaque segment pointe dans la direction opposée.
Ce que cela signifie quand vous tracez :
| Ce qui change | Effet sur le score |
|---|---|
| La taille, ou l'endroit de l'écran où vous tracez | Aucun |
| La vitesse de tracé | Aucun |
| Le sens : de droite à gauche au lieu de gauche à droite | Le sens opposé obtient un score proche de 0 |
| La rotation : une forme tracée inclinée | Plus bas, d'autant plus qu'elle est inclinée |
| Le point de départ : un cercle commencé en haut ou en bas, dans le sens horaire ou antihoraire | Chacun est une forme différente |
| Les proportions : un L à pied long ou court | Plus bas : chaque partie occupe une part différente du tracé |
Un geste comportant plusieurs exemples est noté par rapport à chacun d'eux. Notation des exemples détermine comment ces scores se combinent : Meilleur exemple (par défaut) retient le plus élevé ; Moyenne de tous les exemples en fait la moyenne, si bien qu'un tracé proche d'un exemple mais éloigné des autres obtient un score plus bas.
Quelles formes sont en concurrence
Un tracé n'est pas comparé à toute la bibliothèque, mais seulement aux formes dans la portée de la fenêtre sur laquelle vous avez appuyé :
- toutes les formes qu'utilise un déclencheur de geste dans le groupe d'applications qui possède la fenêtre, et
- toutes les formes qu'utilise un déclencheur de geste dans le groupe Global, lorsque ce groupe peut se rabattre sur Global (voir Portée et règles de repli).
Une forme compte dès qu'un déclencheur de ces groupes l'utilise, même si ce déclencheur ne peut pas s'exécuter à ce moment-là : son action est désactivée, il est limité à un autre profil, il exige un modificateur sur lequel vous n'avez pas appuyé, ou un autre bouton de tracé ou une autre zone. Une telle forme peut quand même remporter le tracé, et alors rien ne s'exécute. Une forme qu'aucun déclencheur dans la portée n'utilise n'est jamais en concurrence : elle ne peut donc jamais l'emporter à cet endroit.
Le gagnant
- Le score le plus élevé l'emporte, à condition d'atteindre le seuil de correspondance. Si rien n'atteint le seuil, rien ne correspond.
- Scores exactement égaux : la forme rencontrée en premier l'emporte : les formes propres au groupe d'applications avant celles de Global, dans l'ordre de la liste d'actions du groupe.
- Il n'y a pas de second choix. Dès qu'une forme l'emporte, seules les actions pour cette forme sont recherchées : d'abord dans le groupe d'applications, puis dans Global si le groupe s'y rabat. Si aucune ne convient (par exemple, elle exige Maj et vous n'avez pas appuyé dessus), rien ne s'exécute, même si une forme moins bien notée avait une action qui aurait convenu.
La forme la plus proche dans la portée l'emporte
Comme seules les formes dans la portée sont en concurrence, un tracé qui est manifestement une autre forme correspond quand même à la forme la plus proche dans la portée, si celle-ci atteint le seuil.
Exemple : le groupe Global utilise trois formes : Balayer vers le bas, Balayer vers la gauche et Coche. Sur une fenêtre qu'aucun groupe d'applications ne possède, vous tracez Balayer vers le haut. Balayer vers le haut est dans la bibliothèque, mais aucun déclencheur dans la portée ne l'utilise : il n'est donc pas en concurrence. Le tracé est noté par rapport aux trois formes dans la portée ; si Coche obtient le meilleur score et atteint le seuil, l'action Coche s'exécute.
Deux façons d'éviter cela :
- Associez la forme dans la portée à une action qui ne fait rien. Elle est alors en concurrence, obtient le meilleur score pour son propre tracé et n'exécute rien. Quand la page Groupes d'applications détecte un tel cas, elle affiche le bandeau « Un tracé ici peut exécuter la mauvaise action », et son bouton Ajouter une action sans effet ajoute cette action pour vous. Voir Groupes d'applications.
- Relevez le seuil de correspondance, pour qu'un tracé doive être plus proche d'une forme pour compter.
La carte Exécute d'autres actions du geste, sur la page Gestes, liste les mêmes cas du point de vue de la forme.
Quand rien ne correspond
Un tracé qui ne correspond à aucune action, dans aucune portée :
- n'exécute rien ;
- ne rend pas le clic : la fenêtre sous le pointeur ne reçoit rien ;
- exécute l'événement global Aucune correspondance, si vous en avez configuré un (par exemple, pour jouer un son). Voir Événements globaux.
L'indication disparaît tant que le tracé ne correspond à rien : l'absence d'indication vous prévient donc à l'avance.
Paramètres
Les paramètres de reconnaissance se trouvent sur la page Gestes, onglet Paramètres, dans la carte Reconnaissance des gestes.
Seuil de correspondance
Seuil de correspondance ① est le score le plus bas qui compte comme une correspondance : 75 par défaut, de 50 (Tolérant) à 100 (Strict).
- Relevez-le quand la mauvaise action s'exécute, ou quand un tracé que vous ne vouliez pas comme geste exécute quelque chose. Les tracés approximatifs ne correspondent alors plus à rien plus souvent.
- Abaissez-le quand un tracé voulu comme geste ne correspond souvent à rien. Les tracés qui ne ressemblent à aucune de vos formes sont alors plus souvent pris par la forme la plus proche dans la portée.
La carte Tracer pour tester de la page Gestes montre le score d'un tracé par rapport à ce seuil. Voir La bibliothèque de gestes.
Qualité du lissage des tracés
Qualité du lissage des tracés ② échange de la vitesse de reconnaissance contre de la précision. Chaque choix règle à la fois le nombre de points rééchantillonnés et la Notation des exemples :
| Choix | Points | Notation des exemples |
|---|---|---|
| Rapide | 24 | Meilleur exemple |
| Équilibré (par défaut) | 36 | Meilleur exemple |
| Précis | 64 | Moyenne de tous les exemples |
Plus de points permettent de remarquer de plus petits détails d'une forme. Toute autre combinaison, réglée en mode Avancé, s'affiche comme Personnalisé.
Mode Avancé. La carte ajoute trois lignes :
- Précision du rééchantillonnage : le nombre de points auquel un tracé est rééchantillonné, de 8 à 128 (36 par défaut).
- Notation des exemples : Meilleur exemple ou Moyenne de tous les exemples.
- Seuil de suggestion en apprentissage : le score, de 0 à 100 (80 par défaut), à partir duquel la fenêtre d'entraînement propose d'enregistrer un tracé comme exemple supplémentaire du geste le plus proche plutôt que comme nouveau geste. Il n'a aucun effet sur la reconnaissance.