Streichgesten
Windows Vista enthält einen Satz von acht einfachen Ziehgesten. Flicks sind schnelle, lineare Stiftbewegungen, die scrollenden Aktionen und Befehlen zugeordnet sind.
Flick-Details
Die Flicks-Funktion bietet dem Benutzer eine neue Art der Interaktion mit dem Tablet-PC, indem allgemeine Aktionen durch schnelle Gesten mit dem Stift ausgeführt werden können. Flicken können mit normalen Benutzeraktionen wie Links- und Rechtskippen, Bildlauf und Freihandeingaben parallel verwendet werden und nicht gestört werden.
Ein Flicken ist eine unidirektionale Stiftgeste, die erfordert, dass der Benutzer den Digitalisierer in einer schnellen Flippbewegung kontaktieren muss. Ein Flick zeichnet sich durch hohe Geschwindigkeit und einen hohen Grad an Geradheit aus. Ein Flick wird durch seine Richtung identifiziert. Flimmern kann in acht Richtungen erfolgen, die den Himmelsrichtungen des Kardinal- und Sekundärkompasses entsprechen.
Eine Aktion oder Flickaktion ist die Aktion oder Verknüpfung, die als Reaktion auf einen Flick ausgeführt wird. Flicken werden Aktionen zugeordnet. Die folgende Abbildung zeigt ein Diagramm von acht Stift-Flicks, die ihren Flickaktionen entsprechen.
Wenn der Benutzer den Stift über den Digitizer eines Tablet-PCs bewegt, generiert die Hardware Stiftpakete, die an das Stifteingabesubsystem der Tablet-PC-Plattform weitergeleitet werden. Wenn der Stift als Ersatz für die Maus verwendet wird, akzeptiert das Stifteingabesubsystem diese Stiftpakete und sendet sie, möglicherweise mit Änderungen, an User32, die Windows-Komponente, die für die Verarbeitung der Mauseingabe zuständig ist. Wenn der Stift auf einer Freihandoberfläche verwendet wird, wird Freihand anstelle von Mauspaketen gerendert.
Die Flickerkennungsroutine wird im Stifteingabesubsystem implementiert. Die Flickerkennung beginnt beim Stift und wird fortgesetzt, bis:
Die Sequenz der empfangenen Pakete wird nicht als Flick oder
Pen-up tritt auf.
Während der Flickerkennung werden Stiftpakete zurückgehalten und nicht an das System gesendet. Dies muss erfolgen, da das Senden von Paketen die ausgeführte Flickaktion beeinträchtigen kann. Beispielsweise würde das Senden von Paketen während eines Flicks, der einer Kopieraktion zugeordnet ist, das ausgewählte Element verworfen, was bedeutet, dass zum Zeitpunkt des Sendens der Aktion nichts zu kopieren ist.
Wenn die Pakete in das Stifteingabesubsystem fließen, berechnet die Flickerkennungsroutine Metriken für länge, Geschwindigkeit, Zeit und Krümmung der ausgeführten Bewegung. Mit jedem Eintreffen des Pakets aktualisiert die Erkennungsroutine jede dieser Metriken. Sobald eine der Metriken außerhalb von dem fällt, was einen Flick darstellen würde, endet die Flickerkennung, und die Pakete werden durchgesendet.
Wo Flicks erkannt werden
Flickgesten werden durch die Tatsache ermöglicht, dass Ziehvorgänge in der Regel eher langsam ausgeführt werden. Der Benutzer muss zuerst den Startpunkt des Ziehens als Ziel festlegen, den Ziehen ausführen und dann den Endpunkt als Ziel verwenden. Normalerweise dauert dies zu lange, um sich als Flick zu qualifizieren. Auf Freihandflächen werden jedoch schnelle Striche angezeigt, die sich als häufiges Flimmern qualifizieren würden; Das Kreuzen eines "t" ist ein häufiges Beispiel. Daher wird die Flickerkennung standardmäßig über Freihandflächen deaktiviert und systemweit aktiviert.
Fokusprobleme
Sobald ein Flick erkannt wurde, beginnt eine Sequenz von Ereignissen, die letztendlich dazu führt, dass das System eine bestimmte Aktion als Reaktion auf den aufgetretenen Flick ausführt. Zunächst bestimmt die Erkennungsroutine innerhalb des Stifteingabesubsystems, an welches Fenster der Flick gesendet werden soll. Dies ist normalerweise das Fenster, das den Fokus hat, aber es gibt Ausnahmen. Beim Scrollen von Flicks wird der Flick an das Fenster gesendet, über das der Flicken aufgetreten ist. Beachten Sie, dass dies nicht unbedingt das Fenster mit dem Fokus ist. Wenn ein Flicken an ein Fenster ohne Fokus gesendet wird, ändert sich der Fokus nicht in dieses Fenster.
Flickaktionen
Sobald das Zielfenster bestimmt wurde, kann dieses Fenster den Flick selbst verarbeiten, abhängig vom Standard- oder programmierten Ereignisverhalten. Anwendungen können basierend auf der Anwendung und der Richtung und Position des Flickens auf die Aktion reagieren, die am besten geeignet ist. In einer Zuordnungsanwendung können z. B. Bildbewegungen nach oben oder unten verkleinern oder verkleinern, anstatt vertikal zu scrollen, wie es vom Standardverhalten erwartet wird.
Um eine Anwendung zu warnen, dass ein Flicken aufgetreten ist, wird eine Fenstermeldung an die Anwendung gesendet. Diese Fenstermeldung enthält sowohl den Startpunkt des Flickens als auch die Richtung des Flickens. Wenn die Anwendung diese Fenstermeldung verarbeitet, wird keine weitere Aktion vom Stifteingabesubsystem ausgeführt.
Nachdem ein Flick erkannt wurde, wird visuelles Feedback, das die Flickaktion darstellt, auf dem Bildschirm angezeigt. Dieses Feedback dient zwei Zwecken. Zunächst wird für den Benutzer bestätigt, dass der Flick erfolgreich war. Zweitens erinnert es den Benutzer daran, welche Aktion ausgeführt wurde, und hilft dem Benutzer, die Flimmerrichtung mit der zugehörigen Aktion zu verbinden.
Das Flick-Feedback besteht aus zwei Teilen; ein Symbol, das die Aktion darstellt, und eine Bezeichnung, die den Namen der Aktion enthält. Die Bezeichnung wird unter dem Symbol angezeigt. Das Feedback wird sofort angezeigt, nachdem der Flick erkannt wurde. Obwohl Anwendungen ihr Verhalten als Reaktion auf Flicks anpassen können, indem sie die Flickfenstermeldung behandeln, kann die Anwendung das Flickfeedback nicht deaktivieren oder ändern.
Es wird erwartet, dass die meisten Anwendungen nicht flickfähig sind und daher die oben beschriebene Fenstermeldung nicht verarbeiten. Wenn die Nachricht nicht behandelt wird, ergreift das Stifteingabesubsystem weitere Maßnahmen. Zuerst sucht es die Aktion, die der Richtung des erkannten Flickens zugeordnet ist. Als Nächstes werden (in der folgenden Tabelle beschriebene) Schritte ausgeführt, um das Zielfenster zu veranlassen, diese Aktion auszuführen. Für viele der Flickaktionen umfasst dies das Senden eines Anwendungsbefehls, aber bestimmte Aktionen, die implementiert werden, nicht.
Verarbeiten von Anwendungsbefehlen
Ihre Anwendung sollte auf einen der Anwendungsbefehle reagieren, die möglicherweise einer Streichbewegung zugewiesen werden können. Wenn eine Anwendung nicht auf die WM_TABLET_FLICK-Nachricht antwortet, sendet Windows Vista die entsprechende WM_APPCOMMAND-Benachrichtigung , gefolgt von einer WM_KEYDOWN-Benachrichtigung .
Im Folgenden finden Sie eine Liste der Anwendungsbefehle, die Flicks zugewiesen werden können, mit der Meldung zur Sicherungstaste, die möglicherweise gesendet wird.
Get-Help | Sicherungstastenanschlag |
---|---|
APPCOMMAND_BROWSER_BACKWARD |
Keine |
APPCOMMAND_BROWSER_FORWARD |
Keine |
APPCOMMAND_COPY |
STRG+C |
APPCOMMAND_PASTE |
STRG+V |
APPCOMMAND_UNDO |
STRG+Z |
APPCOMMAND_DELETE |
Entf |
APPCOMMAND_CUT |
STRG+X |
APPCOMMAND_OPEN |
STRG+O |
APPCOMMAND_PRINT |
STRG+P |
APPCOMMAND_SAVE |
STRG+S |
APPCOMMAND_REDO |
STRG+Y |
APPCOMMAND_CLOSE |
Bearbeitungsbefehle wie Kopieren, Einfügen, Ausschneiden und Löschen können gegen eine Auswahl oder gegen das Objekt gerichtet sein, das sich an der Basis der Streichbewegung befindet. Wenn keine Auswahl vorhanden ist, können Sie die Daten in der FLICK_POINT-Struktur verwenden, um zu bestimmen, welches Objekt ggf. das Ziel des Bearbeitungsbefehls war.