Mouvements flicks
Windows Vista comprend un ensemble de huit mouvements de mouvement de base. Les flicks sont des mouvements de stylet rapides et linéaires associés à des actions et des commandes de défilement.
Détails de la touche Flick
La fonctionnalité flicks offre à l’utilisateur une nouvelle façon d’interagir avec le Tablet PC en permettant d’effectuer des actions courantes en effectuant des mouvements rapides avec le stylet. Les touches coexistent avec les actions normales de l’utilisateur, et ne les interrompent pas, telles que les appuis gauche et droit, le défilement et l’entrée manuscrite.
Un mouvement de balayage est un mouvement de stylet unidirectionnel qui oblige l’utilisateur à contacter le numériseur dans un mouvement de balayage rapide. Un flick se caractérise par une vitesse élevée et un haut degré de droite. Un flick est identifié par sa direction. Les mouvements peuvent être effectués dans huit directions correspondant aux directions cardinales et secondaires de la boussole.
Une action ou une action de glissement est l’action ou le raccourci effectué en réponse à un glissement. Les volets sont mappés aux actions. L’illustration suivante montre un diagramme de huit mouvements de stylet qui correspondent à leurs actions de glissement.
Lorsque l’utilisateur déplace le stylet sur le numériseur d’un Tablet PC, le matériel génère des paquets de stylet qui sont acheminés vers le sous-système d’entrée de stylet de la plateforme Tablet PC. Normalement, si le stylet est utilisé comme substitut de la souris, le sous-système d’entrée de stylet prend ces paquets de stylet et les envoie, éventuellement avec des modifications, à User32, le composant Windows responsable du traitement de l’entrée de la souris. Si le stylet est utilisé sur une surface d’entrée manuscrite, l’entrée manuscrite est rendue au lieu de générer des paquets de souris.
La routine de détection de glissement est implémentée dans le sous-système d’entrée du stylet. La détection flick commence au stylet et se poursuit jusqu’à ce que :
la séquence de paquets reçus est déterminée comme n’étant pas un volet ou
pen-up se produit.
Lors de la détection par glissement de page, les paquets de stylet sont retenus et non envoyés au système. Cela doit être effectué, car l’envoi de paquets peut interférer avec l’action de glissement effectuée. Par exemple, l’envoi de paquets lors d’un glissement qui correspond à une action de copie ignorerait ce qui a été sélectionné, ce qui signifie qu’il n’y aurait rien à copier au moment de l’envoi de l’action.
Au fur et à mesure que les paquets circulent dans le sous-système d’entrée du stylet, la routine de détection de mouvement calcule les métriques sur la longueur, la vitesse, l’heure et la courbure du mouvement en cours d’exécution. À chaque paquet qui arrive, la routine de détection met à jour chacune de ces métriques. Dès que l’une des métriques se trouve en dehors de ce qui constituerait un glissement, la détection de l’action se termine et les paquets sont envoyés.
Emplacement où des glissements sont détectés
Les mouvements de balayage sont rendus possibles par le fait que les glissements sont généralement effectués assez lentement. L’utilisateur doit d’abord cibler le point de départ du glisser, effectuer le glisser, puis cibler le point de fin. Normalement, cela prendra trop de temps pour être considéré comme un flick. Toutefois, sur les surfaces d’entrée manuscrite, les traits rapides qui seraient considérés comme des mouvements se produisent fréquemment; le croisement d’un « t » est un exemple courant. Ainsi, par défaut, la détection de glissement est désactivée sur les surfaces d’entrée manuscrite et activée à l’échelle du système.
Problèmes de focus
Une fois qu’un glissement a été détecté, une séquence d’événements commence qui conduit finalement le système à effectuer une certaine action en réponse au glissement qui s’est produit. Tout d’abord, la routine de détection dans le sous-système d’entrée du stylet détermine la fenêtre vers laquelle le volet doit être envoyé. Il s’agit généralement de la fenêtre qui a le focus, mais il existe des exceptions. Pour les mouvements de défilement, le mouvement est envoyé à la fenêtre sur laquelle le mouvement s’est produit. Notez qu’il ne s’agit pas nécessairement de la fenêtre avec focus. Lorsqu’un volet est envoyé à une fenêtre qui n’a pas le focus, le focus ne passe pas à cette fenêtre.
Flick Actions
Une fois la fenêtre cible déterminée, cette fenêtre peut gérer elle-même le glissement en fonction du comportement d’événement par défaut ou programmé. Les applications peuvent répondre à l’action la plus appropriée en fonction de l’application et de la direction et de la position du volet. Par exemple, dans une application de mappage, les mouvements haut et bas peuvent effectuer un zoom avant ou arrière au lieu de faire défiler verticalement, comme on peut s’y attendre à partir du comportement par défaut.
Pour avertir une application qu’un glissement s’est produit, un message de fenêtre lui est envoyé. Ce message de fenêtre contient à la fois le point de départ du volet et la direction du volet. Si l’application gère ce message de fenêtre, aucune autre action n’est effectuée par le sous-système d’entrée de stylet.
Une fois qu’un glissement est détecté, des commentaires visuels représentant l’action de glissement s’affichent à l’écran. Ces commentaires ont deux objectifs. Tout d’abord, il confirme pour l’utilisateur que le volet a réussi. Deuxièmement, il rappelle à l’utilisateur quelle action a été effectuée, ce qui aide l’utilisateur à connecter le sens de glissement à l’action associée.
Le retour d’expérience se compose de deux parties ; icône représentant l’action et étiquette contenant le nom de l’action. L’étiquette s’affiche sous l’icône. Les commentaires s’affichent immédiatement après la détection du volet. Bien que les applications puissent personnaliser leur comportement en réponse aux sauts en gérant le message de fenêtre de glissement de page, l’application ne peut pas désactiver ou modifier les commentaires de glissement.
On s’attend à ce que la plupart des applications ne soient pas conscientes du volet et ne gèrent donc pas le message de fenêtre décrit ci-dessus. Si le message n’est pas géré, le sous-système d’entrée de stylet prend d’autres mesures. Tout d’abord, il recherche l’action associée à la direction du glissement détecté. Ensuite, il effectue les étapes (décrites dans le tableau ci-dessous) pour que la fenêtre cible effectue cette action. Pour la plupart des actions de volet, cela implique l’envoi d’une commande d’application, mais certaines actions implémentées ne le font pas.
Traitement des commandes d’application
Votre application doit répondre à l’une des commandes d’application qui pourraient être affectées à un mouvement mouvementé. Si une application ne répond pas au message WM_TABLET_FLICK, Windows Vista effectue un suivi en envoyant la notification WM_APPCOMMAND applicable, puis une notification WM_KEYDOWN .
Voici la liste des commandes d’application qui peuvent être affectées à des mouvements, avec le message de frappe de sauvegarde qui peut être envoyé.
Commande | Combinaison de touches de sauvegarde |
---|---|
APPCOMMAND_BROWSER_BACKWARD |
None |
APPCOMMAND_BROWSER_FORWARD |
Aucun |
APPCOMMAND_COPY |
Ctrl+C |
APPCOMMAND_PASTE |
Ctrl+V |
APPCOMMAND_UNDO |
Ctrl+Z |
APPCOMMAND_DELETE |
Suppr |
APPCOMMAND_CUT |
Ctrl+X |
APPCOMMAND_OPEN |
Ctrl+O |
APPCOMMAND_PRINT |
Ctrl+P |
APPCOMMAND_SAVE |
Ctrl+S |
APPCOMMAND_REDO |
Ctrl+Y |
APPCOMMAND_CLOSE |
Les commandes de modification telles que Copier, Coller, Couper et Supprimer peuvent être dirigées sur une sélection ou sur l’objet situé à la base du mouvement de balayage. S’il n’y a pas de sélection, vous pouvez utiliser les données de la structure FLICK_POINT pour déterminer quel objet, le cas échéant, a pu être la cible de la commande d’édition.