Fachartikel

Mausgesten (MouseGestures) programmieren

Inhalt

Dieser Artikel befasst sich mit dem Programmieren von Mausgesten. Mausgesten können eine Alternative zu Menüs oder Tastatur-Shortcuts darstellen und bieten diesen gegenüber gewisse Vorteile, da man nicht von der Maus zur Tastatur mit der Hand wechseln muss.

Das Grundprinzip

Um Gesten zu erkennen, müssen wir den Weg der Maus verfolgen. mausgeste Hier gilt es jedoch darauf zu achten, dass nicht jeder Punkt der Mausspur aufgezeichnet wird, denn um ein paar Pixel verrutscht die Maus eigentlich immer. Um dies zu erreichen betrachten wir die Differenz zwischen dem letzten aufgezeichneten Punkt und dem aktuellen. Überschreitet die Differenz einen festgelegten Abstand (PointDelta), so wird der Punkt aufgezeichnet.

Aufzeichnungsphase

Die Aufzeichnung der Punkte kann man mit einer einfachen Liste oder einem Array mit fester oder variabler Größe implementieren. Die Auswertung kann entweder live oder bei Abschluss der Geste erfolgen. Es nach dem Abschluss zu tun kann manchmal von Vorteil sein, je nachdem wie genau man die Mausspur überprüfen möchte.

Auswertungsphase

Der Algorithmus zur Auswertung der Mausgesten im Pseudo-Code:
1. Basisfälle abfangen (nur 1 Punkt aufgezeichnet, etc.)
2. Ersten Punkt in Variable "lastPoint" laden
3. Schleife vom zweiten bis zum letzten Element der Liste
  3a. "actPoint" auf Schleifenelement setzen
  3b. Differenzen zwischen actPoint und lastPoint bilden
  3c. Stärkste Richtung bestimmen
  3d. Falls ungleich voriger Richtung: alte ausgeben
  3e. lastPoint = actPoint setzen
4. Letzte Richtung nochmals ausgeben

Implementierung

Für Visual Basic steht eine fertige Version zum Download bereit: mouseGestures (VB6).




Kontakt - Impressum - Datenschutz
Alle Grafiken, Bilder, Texte und Dokumente sind urheberrechtlich geschützt und dürfen nicht ohne schriftliche Genehmigung verwendet werden. Copyright © 1998-2008 by Martin Walter.
Alle Rechte vorbehalten. all rights reserved.