-
Technisches Gebiet
-
Die Erfindung betrifft das Gebiet der Gestensteuerung unter anderem im Zusammenhang mit Beschleunigungssensoren, Gyroskopen, Touchscreens und/oder Touchpads.
-
Stand der Technik
-
Ein Touchscreen besteht aus einer Anzeige (Display) und einem Sensor oder einer Sensorfläche für die Eingabe, mithin aus einer berührungsempfindlichen Fläche. Häufig liegen das Display und die Sensorfläche übereinander. Als kombiniertes Ein- und Ausgabegerät erzeugt ein Touchscreen den Eindruck einer unmittelbaren Steuerung eines Computers per Fingerzeig. Die Sensorfläche kann aber auch ohne Display verwendet werden und ist in dieser Form als Touchpad bekannt. Zur Eingabe kann zum Beispiel der Finger, die Hand, ein Eingabestift oder ein anderes Eingabeobjekt verwendet werden. Je nach verwendeter Technologie ermitteln Touchscreens und Touchpads die Position des Fingers auf der Oberfläche anhand der elektrischen Kapazität. Durch Gesten, beispielsweise durch Tippen oder durch Ziehen mit dem Finger bzw. mit dem Stift auf dem Touchscreen oder Touchpad, können Benutzereingabe-Ereignisse vom Betriebssystem ausgelöst werden. Das Benutzereingabe-Ereignis veranlasst das System, wiederum eine Funktion auszuführen, meist zusammen mit einer Änderung der optischen Anzeige. Multi-Touch-Screens können mehrere Kontaktpunkte gleichzeitig erkennen, typischerweise die gleichzeitige Berührung des Touchscreens durch mehrere Finger. Dadurch sind deutlich mehr Gesten für die Eingabe möglich. Ein bekanntes Beispiel ist das Drehen von Bildern, indem man mit zwei Fingern zueinander rotierend über den Touchscreen wischt, wobei, um mit zwei Fingern jeweils einen lohnenden Kreis beschreiben zu können, man häufig zwei Hände einsetzen muss. Eine Übersicht über bekannte Touch-Gesten findet sich unter der URL: http://www.lukew.com/touch/ (Villamor, Craig/Willis, Dan/Wroblewski, Luke: Touch Gesture Reference Guide. Stand: 22.04.2013.) Insbesondere Smartphones, also Mobiltelefone mit Computer-Funktionalität, haben aufgrund ihrer geringen Größe nur wenig Platz, um Schaltflächen, Icons oder andere Steuerelemente auf dem Touchscreen darzustellen. Um auf dem Display Platz zu sparen, ist es daher von Vorteil, wenn mit Hilfe von unterschiedlichen Gesten über die selbe Schaltfläche bzw. das selbe Steuerelement mehrere unterschiedliche Funktionen aufgerufen werden können. Dies ist vergleichbar mit einem Kontextmenü, welches sich mit der rechten Maustaste einer konventionellen Computer-Maus öffnen lässt. Je mehr unterschiedliche und leicht durchzuführende Gesten zur Verfügung stehen, um so mehr Funktionen lassen sich direkt aufrufen.
-
Smartphones verfügen in der Regel über mehrere Positionssensoren bzw. Lagesensor-Einheiten. Im einzelnen findet man häufig einen Beschleunigungssensor, ein Gyroskop und einen Magnetometer. Jeder dieser Sensoren hat physikalische Nachteile und Limits. Eine bekannte Vorgehensweise ist es daher, mehrere dieser Sensoren miteinander zu kombinieren, um die Nachteile der einzelnen Sensoren soweit wie möglich auszugleichen.
-
Aus dem Stand der Technik ist bekannt, dass sich durch Schütteln des Smartphones oder durch Klopfen auf das Gehäuse des Smartphones Funktionen auslösen lassen, wobei die durch das Schütteln bzw. das Klopfen verursachten Schwingungen von einem Beschleunigungssensor detektiert werden. Im Patent
US7671756 „Portable electronic device with alert silencing” wird dies angewendet, um einen akustischen Alarm zu beenden. Des weiteren wird in dieser Patentschrift eine Alternative dargelegt, welche ohne Beschleunigungssensor arbeitet und stattdessen den Touchscreen verwendet, welcher unspezifische Schläge erkennen soll. Eine gleichzeitige Verwendung von Touchscreen und Beschleunigungssensor ist nicht vorgesehen, vielmehr wird in der Beschreibung diese gleichzeitige Verwendung mit der Formulierung „oder” wie nachfolgend ausgeschlossen. Zitat: „In various embodiments the gesture may be a gesture that is detectable by the accelerometer or the touch screen (...)”
-
In
US8125312 mit dem Titel „System and method for locking and unlocking access to an electronic device” wird beschrieben, wie durch definierte Klopfmuster ein Smartphone gesperrt und wieder entsperrt werden kann, wobei ein Beschleunigungssensor zum Einsatz kommt. Ein Touchscreen wird hierfür nicht benötigt. Optional kann für die Eingabe eines klassischen Text-Passworts eine Bildschirmtastatur verwendet werden, wobei dies in einem zweiten, unabhängigen Eingabeschritt geschieht.
-
In der Patentschrift
US020110187652 „Bump suppression” wird ein Verfahren beschrieben, mit dem Fehlinterpretationen von Eingaben reduziert werden sollen. Dazu wird überprüft, ob, passend zu einer Eingabe über den Touchscreen, auch eine Erschütterung durch ein im Gerät verbauten Beschleunigungssensor detektiert wurde. Bei den beschriebenen Erschütterungen handelt es sich ausschließlich im sehr kurze Stöße, deren Schwingungen sich durch sehr kleine Amplituden – maximal im Millimeter-Bereich – bemerkbar machen, beispielsweise, wenn ein Smartphone auf den Tisch gelegt wird oder wenn die Gehäuse von zwei Smartphones zusammengestoßen werden. Die Informationen des Touchscreens und des Beschleunigungssensors werden ausschließlich zu dem Zweck zusammengeführt, um solche Vibrationen von regulären Eingaben auf dem Touchscreen zu unterscheiden. Insbesondere werden keine neuen Eingabe-Gesten vorgestellt, welche einen Touchscreen verwenden. In „
Goel, Mayank/Wobbrock, Jacob O./Patel, Shwetak N.: GripSense: Using Built-In Sensors to Detect Hand Posture and Pressure an Commodity Mobile Phones. Proceedings of the ACM Symposium an User Interface Software and Technology (UIST'12). Cambridge, Massachusetts (October 7–10, 2012). New York: ACM Press, pp. 545–554. URL: http://faculty.washington.edu/wobbrock/pubs/uist-12.pdf. Stand: 22.04.2013” werden Verfahren vorgestellt, um die Stärke des Drucks zu ermitteln, mit der ein Benutzer auf den Touchscreen drückt. Außerdem wird versucht, die Handhaltung zu ermitteln, mit der ein Benutzer das Smartphone verwendet. Dazu wird unter anderem das Gyroskop verwendet, um beispielsweise minimale Rotationen zu detektieren, die auftreten, wenn ein Benutzer das Smartphone einhändig mit dem Daumen bedient. Zur Eingabe auf dem Touchscreen werden ausschließlich bekannte Gesten verwendet, wobei das geringfügige Drehen des Smartphone-Gehäuses vom Benutzer unabsichtlich ausgeführt wird. Die vorgestellten Techniken beschränken sich darauf, zusätzliche Informationen über die Handhaltung zu ermitteln, um die Qualität der Eingabe zu verbessern.
-
Darstellung der Erfindung
-
Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, ein Verfahren zu schaffen, mit dem es möglich ist, zusätzlich zu den bereits bekannten Touchscreen-Gesten weitere neue Gesten zur Verfügung zu stellen. Unter anderem sollen über das gesamte Touchscreen oder über eine einzelne Schaltfläche oder über ein einzelnes Steuerelement, dargestellt auf dem Touchscreen, möglichst viele unterschiedliche Funktionen aufgerufen werden können, indem jeder Funktion eine intuitiv passende Geste zugeordnet wird, wobei dafür sowohl bekannte als auch neue Gesten gleichzeitig zum Einsatz kommen können. Die neuen Gesten sollten möglichst einfach sein, damit der Benutzer keine komplizierten Fingerkombinationen erlernen muss. Die voranstehende Aufgabe wird mit den Merkmalen aus den unabhängigen Ansprüchen 1, 15 und 22 gelöst. Die Ansprüche 1, 15 und 22 bilden dabei eine Gruppe von Erfindungen, die eine einzige allgemeine erfinderische Idee verwirklichen, insbesondere dass zum Erzielen einer Berührung auf dem Touchscreen nicht in nahe liegender Weise die Hand über dem Touchscreen bewegt wird, sondern entgegen der Gewohnheit, der Touchscreen unter der Hand bewegt wird und dass sich daraus neue Gesten verwirklichen lassen. Die Erfindung hat somit einen überraschenden Effekt, da ihre Bestandteile nicht in gewohnter Weise zusammenwirken. Des weiteren ist hier das Erfordernis der Einheitlichkeit der Erfindung erfüllt, da zwischen Anspruch 1, 15 und 22 ein technischer Zusammenhang besteht, der in der gemeinsamen Verwendung und Auswertung von Touchscreen und/oder Touchpad, Beschleunigungssensor und Lagesensor-Einheit liegt. Vorteilhafte Ausgestaltungen, mögliche Alternativen und optionale Funktionalitäten sind in den Unteransprüchen angegeben. Den Ansprüchen entsprechend handelt es sich um ein Verfahren zur Gestensteuerung auf einem tragbaren, beweglichen, elektronischen Gerät, welches mit einer berührungsempfindlichen Fläche, insbesondere einem Touchscreen und/oder einem Touchpad und mit mindestens einem Beschleunigungssensor, Gyroskop und/oder Magnetometer ausgestattet ist oder mit vergleichbaren Positions- und Lagesensoren. Bei dem Gerät kann es sich beispielsweise um ein mobiles Telefon, Smartphone, Tablett-Computer, Gamepad, Armbanduhr mit Touchscreen oder ein in die Kleidung integriertes Gerät mit Touchscreen handeln. Es wird der Kontakt-Beginn und/oder das Kontakt-Ende einer Berührung und/oder ein „Drag”-Ereignis und/oder ein „Flick”-Ereignis mit mindestens einem relevanten Kontaktpunkt bzw. einer Kontaktfläche auf dem Touchscreen und/oder auf dem Touchpad erkannt. Ein relevanter Kontaktpunkt ist zum Beispiel vorhanden, wenn dessen Position mit einer Schaltfläche, einem Icon oder einem anderen dargestellten Steuerelement übereinstimmt. Auch der gesamte Touchscreen und/oder das gesamte Touchpad, unabhängig von der Darstellung auf den Display, kann relevant sein. Zuvor und/oder im Anschluss an den Kontakt-Beginn, das Kontakt-Ende oder das auslösende Ereignis werden die Messwerte des Beschleunigungssensors, Gyroskops und/oder Magnetometers mittels Software-Implementierung oder mittels einer Hardwareschaltung dahingehend ausgewertet, inwiefern eine signifikante Beschleunigung, Geschwindigkeit, Positionsverschiebung und/oder Rotation des Geräts vorliegen. Je nach Gesten-Ablauf gelten für die Richtung der Beschleunigung, Geschwindigkeit und/oder Positionsverschiebung sowie für die Rotation unterschiedliche Bedingungen, die erfüllt seien müssen, damit die Eingabe als neue Geste erkannt wird. Je nach Geste wird geprüft, ob eine Richtung vorliegt, die näherungsweise senkrecht auf dem Touchscreen oder dem Touchpad steht oder bei einer anderen Geste, ob eine Richtung vorliegt, die in der Ebene des Touchscreens bzw. des Touchpads liegt. Bei einer Rotation wird die Drehung um die Achse ausgewertet, die senkrecht auf dem Touchscreen steht. Bedingungen können zum Beispiel die minimale und/oder die maximale Geschwindigkeit sein, sowie die minimale Beschleunigung, damit die Geste akzeptiert wird. Wenn alle definierten Bedingungen bzw. Entscheidungskriterien erfüllt sind, die für den jeweiligen Gesten-Ablauf maßgeblichen sind, wird ein zugehöriges Benutzereingabe-Ereignis ausgelöst, mit dem mitgeteilt wird, dass die entsprechende neue Geste erkannt worden ist, und/oder es wird eine Funktion oder Aktion ausgeführt, die mit der entsprechenden neuen Geste verbunden ist. Die genannten und viele weitere Gesichtspunkte der Erfindung werden dem Fachmann nach dem Lesen der Beschreibung zu den Ausführungsformen offenkundig.
-
Beschreibung der Zeichnungen
-
Weitere Ziele, Merkmale, Vorteile und Anwendungsmöglichkeiten des Verfahrens und der Vorrichtung ergeben sich aus der nachfolgenden Beschreibung der Zeichnungen. Dabei bilden, unabhängig von der Zusammenfassung in einzelnen Ansprüchen oder deren Rückbeziehung, alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung.
-
1 Smartphone mit Touchscreen, Beschleunigungssensor, Gyroskop und Magnetometer (Stand der Technik).
-
2 Grundlegende Bewegung für die neue Geste „Wegbewegen”.
-
3 Blockdiagramm einer Ausführungsform.
-
4 Die neue Geste „Wegbewegen” mit den zugehörigen Kurven der gemessenen Beschleunigung, Geschwindigkeit und Positionsverschiebung, dargestellt über der Zeitachse „t” und mit den auftretenden Ereignissen.
-
5 Optionale Bedienung der Geste „Wegbewegen” mit nur einer Hand und zugehörigem Daumen. Die oberen Abbildungen zeigen das Smartphone von oben, darunter die jeweils zugehörige Seitenansicht. Außerdem dargestellt sind die auftretenden Ereignisse entlang der Zeitachse „t”. Die auftretenden Beschleunigungen, Geschwindigkeiten und Positionsverschiebungen sind nicht dargestellt. Sie entsprechen dem Kurvenverlauf aus 4.
-
6 Eingabe von Großbuchstaben auf einer Bildschirmtastatur ohne den Umweg über die Shift-Taste.
-
7 Die neue Geste „Hinbewegen” mit den zugehörigen Kurven der gemessenen Beschleunigung, Geschwindigkeit und Positionsverschiebung, dargestellt über der Zeitachse „t” und mit den auftretenden Ereignissen.
-
8 Optionale Bedienung der Geste „Hinbewegen” mit nur einer Hand und zugehörigem Daumen. Die oberen Abbildungen zeigen das Smartphone von oben, darunter die jeweils zugehörige Seitenansicht. Außerdem dargestellt sind die auftretenden Ereignisse entlang der Zeitachse „t”. Die auftretenden Beschleunigungen, Geschwindigkeiten und Positionsverschiebungen sind nicht dargestellt. Sie entsprechen dem Kurvenverlauf aus 7.
-
9 Die Abbildung zeigt exemplarisch, wie mit Hilfe der Geste „Hinbewegen” in eine Landkarte gezoomt wenden kann.
-
10 Die Abbildung zeigt exemplarisch, wie mit Hilfe der Geste „Wegbewegen” aus einer Landkarte herausgezoomt werden kann.
-
11 Die neue Geste „Inverses Tippen” mit den zugehörigen Kurven der gemessenen Beschleunigung, Geschwindigkeit und Positionsverschiebung, dargestellt über der Zeitachse „t” und mit den auftretenden Ereignissen.
-
12 Optionale Bedienung der Geste „Inverses Tippen” mit nur einer Hand und zugehörigem Daumen. Die oberen Abbildungen zeigen das Smartphone von oben, darunter die jeweils zugehörige Seitenansicht. Außerdem dargestellt sind die auftretenden Ereignisse entlang der Zeitachse „t”. Die auftretenden Beschleunigungen, Geschwindigkeiten und Positionsverschiebungen sind nicht dargestellt. Sie entsprechen dem Kurvenverlauf aus 11.
-
13 Die neue Geste „Entlangziehen” mit Beschleunigung, Geschwindigkeit und den auftretenden Ereignissen.
-
14 Die neue Geste „Abstoppen” mit Beschleunigung, Geschwindigkeit und den auftretenden Ereignissen.
-
15 Die neue Geste „Wegziehen” mit Beschleunigung, Geschwindigkeit und den auftretenden Ereignissen.
-
16 Beispiele für die Richtung der Verschiebung des Smartphones unter dem Finger.
-
17 Weitere Beispiele für die Richtung der Verschiebung des Smartphones unter dem Finger.
-
18 Die neue Geste „Drehstellen” mit dem Verlauf des Drehwinkels „yaw” und den auftretenden Ereignissen.
-
19 Feineinstellungs-Modus: Exaktes Einstellen des Endwerts mit Hilfe von zwei Fingern.
-
20 Verschiedene Darstellungsformen und Anwendungszwecke der Geste „Drehstellen”.
-
21 Beispiel eines „Überdrehschutzes” für die neue Geste „Drehstellen”.
-
22 Eine weitere Ausführungsform als Programmablaufplan (Flussdiagramm): Ein Steuerelement, welches die Gesten „Wegbewegen”, „Hinbewegen”, „Inverses Tippen” „Entlangziehen”, „Abstoppen”, „Wegziehen” und „Drehstellen” gleichzeitig unterstützt.
-
23 Beispiel für eine Konstellation von Steuerelementen auf dem Touchscreen, bei der ein kontinuierliches Zwischenspeichern der Beschleunigungswerte im Puffer nicht erforderlich ist.
-
24 Blockdiagramm einer minimalistischen Ausführungsform für die Gesten „Wegbewegen”, „Hinbewegen” und „Inverses Tippen”.
-
Ausführung der Erfindung
-
1 zeigt ein tragbares, bewegliches, elektronisches Gerät, in diesem Fall ein Smartphone (1) mit Beschleunigungssensor (3), Gyroskop (4) und Magnetometer (5) und einer berührungsempfindlichen Fläche. Die berührungsempfindliche Fläche ist in diesem Fall ein Touchscreen (2) und in der Regel wird ein 3-Achsen-Beschleunigungssensor (3), ein 3-Achsen-Gyroskop (4) und ein 3-Achsen-Magnetometer (5) verwendet, welche die Beschleunigungen und Rotationen in allen Raumrichtungen (X, Y, Z) aufnehmen. In dieser Patentschrift ist das Koordinaten-System (6) entsprechend 1 definiert. Beispielsweise ist die aus dem Touchscreen (2) oder Touchpad herausführende Richtung die positive Z-Richtung. Zur Benutzung des Touchscreens (2) hält der Anwender in der Regel das Smartphone (1) in der ersten Hand (100), während er mit der zweiten Hand auf den Touchscreen (2) tippt oder andere bekannte Gesten durchführt. Dabei wird der Anwender das Smartphone (1) relativ ruhig mit der ersten Hand (100) halten, um mit der zweiten Hand hinreichend exakt von oben auf den Touchscreen (2) zielen zu können. Diese Vorgehensweise, stets die obere Hand zu bewegen, also die Hand über dem Touchscreen (2) zu bewegen, entspricht der menschlichen Intuition und ist nach jahrelanger Nutzung von Smartphones (1) zur Gewohnheit geworden und wird daher nicht mehr hinterfragt. Um zusätzlich zu den bekannten Gesten neue Gesten einzuführen, wird erfindungsgemäß mit der ersten Hand (100) das Smartphone (1) unter dem Finger (101) der zweiten Hand bewegt.
-
2 zeigt zur Einführung ein erstes Beispiel: Nach dem Berühren des Touchscreens (2) mit dem Finger (101) wird nun nicht der Finger (101) von der Oberfläche nach oben gehoben, sondern das Smartphone (1) wird nach unten wegbewegt (106). Der Finger (101) verharrt typischerweise zunächst in der Position, die er inne hatte, als er noch den Touchscreen (2) berührt hat, darf nach dem Lösen vom Touchscreen (2) aber auch beliebig bewegt wenden, solange er den Touchscreen (2) nicht wieder unmittelbar berührt. Der Abstand (7) definiert sich über den Weg, den das Smartphone (1) während der Geste zurücklegt, mithin vom Anfang der Geste, also von dem Augenblick, in dem sich das Smartphone (1) vom Finger (101) löst, bis hin zum Ende der Geste, die erreicht ist, sobald die erste Hand (100) die Bewegung stoppt und das Smartphone (1) wieder näherungsweise ruhig gehalten wird. Die Bewegung des Smartphones (1) und der Abstand (7) werden mit Hilfe des Beschleunigungssensors (3) ermittelt. Der Abstand (7) der Geste kann als zusätzlicher, quasi analoger Eingabewert verwendet werden, um die Intensität einer Funktion oder Operation festzulegen, beispielsweise eine Lautstärke-Regelung, die bei einem kleinen Abstand (7) von z. B. 2 cm den aktuellen Lautstärke-Wert nur geringfügig verringert und bei einem großen Abstand (7) von z. B. 20 cm den aktuellen Wert stark verringert. Die neuen Gesten werden in dieser Patentschrift offengelegt und im Detail beschrieben.
-
Das Blockdiagramm in 3 zeigt eine Ausführungsform, bei der die neuen Gesten in ein Betriebssystem integriert werden, beispielsweise in das Betriebssystem eines Smartphones (1). Der strichliert dargestellte Block (9) kann wahlweise als Hardwareschaltung realisiert werden, beispielsweise als FPGA (Field Programmable Gate Array) oder ASIC (application-specific integrated circuit) oder aber auch als Software-Implementierung realisiert werden oder in einer Kombination aus Hardware und Software.
-
Die Hardwareschaltung oder Software-Implementierung (9) verfügt über die Sensor-Daten des Beschleunigungssensors (3), des Gyroskops (4) und des Magnetometers (5) und fungiert als Zwischenschicht, welche die konventionellen Touchscreen-Ereignisse (20) als Input entgegennimmt bzw. abfängt” und in Abhängigkeit der erkannten konventionellen oder neuen Gesten als Output in Form eines Benutzereingabe-Ereignisses (21) weiterleitet. Der Beschleunigungssensor (3), das Gyroskops (4) und der Magnetometer (5) haben physikalische Nachteile und Limits. Eine bekannte Vorgehensweise ist es, mehrere Sensoren miteinander zu kombinieren, um die Nachteile der einzelnen Sensoren soweit wie möglich auszugleichen. Dies wird im folgenden als kombinierte Bewegungsanalyse (10) bezeichnet (auch bekannt als „Combined Motion” oder „Augmented Sensor data”) und ist Stand der Technik. Damit translationale Beschleunigungen bzw. Bewegungen unabhängig von der Raumlage des Smartphones (1) erkannt werden können, beispielsweise auch bei einem schräg geneigten Smartphone (1), muss die Erdanziehung bzw. Schwerkraft aus den Messdaten des Beschleunigungssensors (3) eliminiert werden. Das Gyroskop (4) und der Magnetometer (5) sind hilfreich beim Erkennen einer relativen Richtungsänderung der Schwerkraft und tragen somit wesentlich zur Elimination des Schwerkraftanteils bei. Die vom Gyroskop (4) gemessenen Rotationsgeschwindigkeiten müssen integriert werden, um Winkelpositionen zu erhalten. Durch das Integrieren ist das Ergebnis anfällig für ein Driften. Dies kann beispielsweise mit Hilfe des Magnetometers (5) kompensiert werden. In der Ausführungsform gemäß 3 werden die drei Sensoren (3, 4, 5) von der kombinierten Bewegungsanalyse (10) ausgewertet und optimiert. Das Ergebnis sind von der Schwerkraft bereinigte Beschleunigungen (16) sowie Drift-freie Winkelpositionen (19). Die Winkelposition (19) um die Z-Achse wird der Steuerungs- und Analyseeinheit (12) zugeführt. Die von der Schwerkraft bereinigten Beschleunigungswerte (16), jeweils mit X, Y und Z-Komponenten, werden kontinuierlich in einem Puffer (11) zwischengespeichert, so dass der Puffer (11) stets die Beschleunigungswerte der jüngsten Vergangenheit enthält, beispielsweise die der letzten zwei Sekunden. Die Zugriff auf den Puffer (11) erfolgt nach einem erkannten Touchscreen-Ereignis (20), insbesondere bei dem Beginn und bei dem Ende einer Berührung oder bei einem „Drag”- oder „Flick”-Ereignis. Durch den Puffer (11) stehen Informationen über den Ablauf der translationalen Beschleunigung in alle Richtungen (X, Y und Z) zur Verfügung, der sich unmittelbar vor dem Touchscreen-Ereignis (20) ereignet hat. Im Rahmen der Auswertung der Benutzereingaben wird je nach Ausführungsform neben der Beschleunigung (16) zusätzlich die Geschwindigkeit (17) und die Positionsverschiebung (18) des Smartphones (1) berücksichtigt: Im Bedarfsfall, wenn beispielsweise ein Kontakt-Beginn als Touchscreen-Ereignis (20) gemeldet wird, veranlasst die Steuerungs- und Analyseeinheit (12), dass die im Puffer (11) zwischengespeicherten Beschleunigungs-Daten aufgearbeitet werden, indem per Integrator (13) aus der Beschleunigung (16) der Geschwindigkeitsverlauf (17) berechnet wird. Nach einer Kalibrierung des Geschwindigkeitsverlaufs (17) wird je nach Bedarf per Integrator (14) der Verlauf der Positionsverschiebung (18) berechnet. Sowohl der Geschwindigkeitsverlauf (17) als auch der Verlauf der Positionsverschiebung (18) verfügen über X, Y und Z-Komponenten. Ziel ist es zu erkennen, welche neue Geste vorliegt oder ob es sich um eine konventionelle Geste handelt. Diese Aufgabe wird von der Steuerungs- und Analyseeinheit (12) übernommen. Der Steuerungs- und Analyseeinheit (12) steht ein Zeitgeber (15) zur Verfügung, welcher je nach Ausführungsform beispielsweise die Dauer zwischen dem Beginn und dem Ende einer Berührung misst und insbesondere für ein Timing-Signal benötigt wird. Bei konventionellen Gesten, wie zum Beispiel das Tippen auf ein Steuerelement oder das Wischen zum Verschieben einer Seite, kann neben geringfügigen Winkelrotationen (19) auch von geringfügigen Geschwindigkeiten (17) und geringfügigen Positionsverschiebungen (18) ausgegangen werden, die lediglich das übliche Maß abbilden, welches sich beim Tippen auf den Touchscreen (2) ergibt: Es treten keine länger andauernden Beschleunigungen in die selbe Richtung auf. Diese Annahme lässt sich dadurch begründen, dass der Benutzer im Augenblick der Eingabe das Smartphone (1) relativ ruhig hält und keine größeren Positionsverschiebungen vornimmt, insbesondere keine Verschiebungen im Bereich von mehreren Zentimetern. Anderenfalls wäre es dem Benutzer nur schwer möglich, die gewünschte Position auf dem Touchscreen (2) hinreichend exakt zu treffen, beispielsweise ein Icon oder eine Taste auf der Bildschirmtastatur. Das Erfordernis eines näherungsweise unbewegten Smartphones (1) während der Eingabe von konventionellen Gesten kann auch als Bedienungsvorschrift für den Benutzer festgelegt werden. Wird bei der Auswertung des Kurvenverlaufs der Geschwindigkeit (17) sowie des Rotationswinkels (19) durch die Steuerungs- und Analyseeinheit (12) ein näherungsweise unbewegtes Smartphone (1) erkannt, so liegt eine konventionelle Touch-Geste vor und die ursprünglichen Touchscreen-Ereignisse (20) werden als Benutzereingabe-Ereignis (21) durchgereicht. Anderenfalls, wenn im Zeitraum vor, nach und/oder bei der Touchscreen-Eingabe signifikante Änderungen im Kurvenverlauf der Geschwindigkeit (17) vorliegen oder wenn sich der Rotationswinkel (19) während einer andauernden Touchscreen-Berührung signifikant ändert, wird geprüft, ob eine der neuen Gesten vorliegt. Um zu unterscheiden, ob der Benutzer das Smartphone (1) bewegt oder relativ ruhig hält, werden nachfolgend Schwellwerte verwendet, im einzelnen ein Schwellwert für vernachlässigbare Geschwindigkeiten (22), ein Schwellwert für Mindestgeschwindigkeiten (23), ein Schwellwert für Mindestbeschleunigungen (24) und ein Schwellwert für Mindestrotationen (25). Geeignet bemessene Schwellwerte lassen sich empirisch unter Berücksichtigung einer angemessenen oder individuell einstellbaren Schwankungsbreite aus der konventionellen Nutzung des Smartphones (1) und bei der Anwendung der neuen Gesten ermitteln. Alle Schwellwerte sind als positive Größen definiert.
-
Es lassen sich unter anderem die folgenden neuen Gesten definieren:
-
4 zeigt die neue Geste „Wegbewegen”, welche bereits in 2 als Beispiel eingeführt wurde. Im oberen Bereich von 4 ist der Ablauf der Geste am Beispiel eines Smartphones (1) dargestellt, welches hier in der linken Hand (100) gehalten wird und dessen Touchscreen (2) mit dem Zeigefinger (101) der rechten Hand bedient wird. Der zeitliche Ablauf der Geste ist dabei von links nach rechts zu interpretieren, entsprechend der Zeitachse „t”. Zeitlich korrespondierend ist unterhalb der jeweiligen Abbildung des Smartphones (1) der Kurvenverlauf dargestellt, der auf idealisierte Weise die prinzipiellen Messwerte des Beschleunigungssensors (3) verdeutlicht, im einzelnen die gemessene Beschleunigung „az” (16) und die daraus per Integration ermittelte Geschwindigkeit „vz” (17) und die Positionsänderung „sz” (18). Die senkrecht auf dem Touchscreen (2) stehende Richtung, die in den Abbildungen des Smartphones (1) in 4 näherungsweise nach oben zeigt, wird als positive Richtung für die Beschleunigung (16), Geschwindigkeit (17) und Positionsverschiebung (18) definiert. Basierend auf dem in 1 definierten Koordinatensystem (6) und unter Verwendung eines 3-Achsen-Beschleunigungssensors (3) handelt es sich bei dem dargestellten exemplarischen Kurvenverlauf von „az”, „vz” und „sz” um die Z-Komponente des Koordinatensystems (6). Der Verlauf der Kurven der X- und Y Komponenten wird in dem betrachteten Beispiel als näherungsweise null angenommen und ist nicht dargestellt. Des weiteren sind die auftretenden Ereignisse dargestellt, die durch die Steuerungs- und Analyseeinheit (12) verarbeitet und ausgelost werden: Die Touchscreen-Ereignisse (20) mit dem Input-Signal „Kontakt-Beginn” (27) zum Zeitpunkt t2 und dem Input-Signal „Kontakt-Ende” (28) zum Zeitpunkt t3 und als Output die Benutzereingabe-Ereignisse (21) mit einem durchgereichten Kontakt-Beginn (27) zum Zeitpunkt t2 und dem Ereignis „Geste Wegbewegen” (29) zum Zeitpunkt t4, sobald die Geste erkannt worden ist, und als letztes Ereignis der Abstand (7) der Geste „Wegbewegen” (30), sobald die Geste zum Zeitpunkt t5 abgeschlossen ist.
-
Aus der Sicht des Benutzers wird die neue Geste „Wegbewegen” wie folgt durchgeführt: Während der Benutzer beispielsweise mit der linken Hand (100) das Smartphone (1) relativ ruhig hält, beginnt er mit einem Finger (101) der rechten Hand die gewünschte Stelle des Touchscreens (2) zu berühren, beispielsweise ein Icon oder ein anderes Steuerelement (26). Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 4 dargestellt. Ab dem Zeitpunkt t2 berührt der Benutzer den Touchscreen (2). Dies ist in der mittleren Abbildung in 4 dargestellt. Um nun keine konventionelle Tipp-Geste auszulösen, sondern die neue Geste „Wegbewegen”, bewegt der Benutzer das Smartphone (1) mit der linken Hand (100) nach unten bzw. weg vom Finger (101) der rechten Hand. Der Finger (101) der rechten Hand verharrt für kurze Zeit in der Position bzw. in der Höhe, in der er den Touchscreen (2) zuvor berührt hat und zwar mindestens für die Zeitdauer, bis sich der Finger (101) vollständig zum Zeitpunkt t3 vom Touchscreen (2) gelöst hat. Nachdem der Benutzer das Smartphone (1) einige Zentimeter, beispielsweise 5 cm, wegbewegt hat, stoppt er intuitiv die Bewegung der linken Hand (100), mit der er das Smartphone (1) hält. Ab diesem Zeitpunkt t5 verharrt das Smartphone (1) wieder relativ ruhig, und die Geste ist abgeschlossen.
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Wegbewegen” folgendermaßen erkannt: Wie aus 4 ersichtlich, meldet der Touchscreen (2) zum Zeitpunkt t2 als Touchscreen-Ereignis (20) den „Kontakt-Beginn” (27), der ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Wenn die Position der gemeldeten Berührung auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position ein Icon oder ein Steuerelement (26) befindet, welches die Geste „Wegbewegen” als Eingabe akzeptiert, so wird nun mit Hilfe des Integrators (13) der zeitlich zurückliegende Verlauf der Geschwindigkeit (17) aus den Beschleunigungsdaten (16) berechnet, die im Puffer (11) zwischengespeichert sind, beispielsweise die letzten zwei Sekunden. Als nächstes wird der berechnete Geschwindigkeitsverlauf (17) 50 kalibriert, dass die Geschwindigkeitskomponenten X, Y und Z zum Zeitpunkt t2 den Wert null haben, um einen möglichen Drift des Integrators (13) zu kompensieren. Nun wird die Geschwindigkeit zum Zeitpunkt t1 aus dem zeitlich zurückliegenden Geschwindigkeitsverlauf (17) abgefragt. Der Zeitpunkt t1 ergibt sich aus dem aktuellen Zeitpunkt t2 abzüglich eines zeitlichen Versatzes „Delta t” (31). „Delta t” (31) ist für das jeweilige Smartphone-Produkt für alle neuen Gesten empirisch festzulegen und sollte größer sein als die Dauer des Kontaktaufbaus des Fingers (101) auf dem Touchscreen (2) und sollte deutlich kleiner sein als die Dauer der gesamten Geste. Ein erstes Kriterium für die Einstufung der Benutzereingabe als Geste „Wegbewegen” ist, dass der Betrag der Geschwindigkeit (17) zum Zeitpunkt t1 kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Sobald das Kontakt-Ende (28) vom Touchscreen (2) zum Zeitpunkt t3 gemeldet wird, wird kontinuierlich und in Echtzeit der weitere zeitliche Verlauf der Geschwindigkeit (17) mittels des Integrators (13) aus der Beschleunigung (16) berechnet, wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t3 den Wert null hat. Der Zeitgeber (15) meldet den Zeitpunkt t4, welcher sich aus dem Zeitpunkt t3 ergibt, verzögert um den zeitlichen Versatz „Delta t” (31). Als zweites Kriterium wird nun die Geschwindigkeit zum Zeitpunkt t4 aus dem kontinuierlich berechneten Geschwindigkeitsverlauf (17) geprüft: Die Z-Komponente „vz” der Geschwindigkeit muss negativ sein und der Betrag der Z-Komponente „vz” muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Der Geschwindigkeitsbetrag aus den X- und Y Komponenten muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Trifft nun das erste und das zweite Kriterium zu, so wird die Geste „Wegbewegen” erkannt, und zum Zeitpunkt t4 wird das Ereignis „Geste Wegbewegen” (29) als zugehöriges Benutzereingabe-Ereignis (21) ausgelöst. Trifft hingegen mindestens eines der Kriterien nicht zu, so liegt die Geste „Wegbewegen” nicht vor. Falls das zuständige Steuerelement (26) weitere neue Gesten unterstützt, so werden nun die Kriterien dieser Gesten geprüft. Falls auch diese Kriterien nicht erfüllt sind oder falls keine weiteren neuen Gesten unterstützt werden, so liegt eine konventionelle Touchscreen-Eingabe vor, und das zunächst zurückgehaltene Touchscreen-Ereignis „Kontakt-Ende” (28) vom Zeitpunkt t3 wird nun zum Zeitpunkt t4 als Benutzereingabe-Ereignis (21) durchgereicht. Je nach Bedarf und Ausführungsform kann der Abstand (7) der neuen Geste „Wegbewegen” als zurückgelegte Strecke zwischen den Zeitpunkten t3 und t5 ermittelt werden. Dazu wird ausgehend vom Zeitpunkt t4 auf den Zeitpunkt t5 gewartet, welcher eintritt, sobald der Benutzer die Bewegung des Smartphones (1) am Ende der Geste stoppt. Der finale Zeitpunkt t5 ist erreicht, sobald der Betrag des kontinuierlich berechneten Geschwindigkeitswertes (17) wieder kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Sobald t5 bekannt ist, wird mit Hilfe des Integrators (14) der Verlauf der Positionsverschiebung (18) aus dem Geschwindigkeitsverlauf (17) berechnet und zwar vom Zeitpunkt t3 bis zum Zeitpunkt t5. Der Abstand (7) ergibt sich aus den Werten der Positionskurve (18) und zwar aus der Differenz des Wertes zum Zeitpunkt t3 und des Wertes zum Zeitpunkt t5. Der Abstand (7) kann als Eingabeparameter an eine zuständige Anwendung übergeben werden. Zwecks Übergabe wird dazu zum Zeitpunkt t5 das Ereignis: „Eingabeparameter der Geste Wegbewegen” (30) als Benutzereingabe-Ereignis (21) ausgelöst.
-
Alternativ zu der einfach zu bedienenden Vorgehensweise gemäß 4 mit zwei Händen und Zeigefinger (101) zeigt 5 eine Bedienung der Geste „Wegbewegen” mit nur einer Hand (100) und dem Daumen (102) dieser Hand (100). Insbesondere für routinierte Anwender kann dies nützlich sein, wenn die andere Hand gerade nicht frei ist. Die oberen Abbildungen in 5 zeigen das Smartphone (1) von oben mit dem Touchscreen (2) und den sich darauf befindlichen Steuerelementen (26). Darunter ist die jeweils zugehörige Darstellung des Smartphones (1) von der Seite abgebildet. Außerdem dargestellt sind die auftretenden Ereignisse (20, 21) entlang der Zeitachse „t”. Die auftretenden Beschleunigungen (16), Geschwindigkeiten (17) und Positionsverschiebungen (18) sind nicht dargestellt. Sie entsprechen dem Kurvenverlauf aus 4.
-
Aus der Sicht des Benutzers wird die neue Geste „Wegbewegen” wie folgt mit nur einer Hand (100) durchgeführt: Während der Benutzer das Smartphone (1) mit der einen Hand (100) relativ ruhig hält, beginnt er, mit dem Daumen (102) dieser Hand (100) an die gewünschte Stelle auf den Touchscreen (2) zu tippen, beispielsweise auf ein Icon oder ein anderes Steuerelement (26). Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 5 dargestellt. Ab dem Zeitpunkt t2 berührt der Daumen (102) den Touchscreen (2). Dies ist in der mittleren Abbildung in 5 dargestellt. Um nun die neue Geste „Wegbewegen” auszulösen, beschleunigt der Benutzer das Smartphone (1) mit der Hand (100) in Richtung der Rückseite des Touchscreens (2); falls das Smartphone (1) wie in 5 näherungsweise horizontal liegt, bewegt er es also nach unten. Genau in dem Augenblick, in dem der Benutzer mit der Beschleunigung anfängt, lässt er den Daumen (102) zum Zeitpunkt t3 vom Touchscreen (2) los, so als ob der Daumen (102) aufgrund der Trägheit in seiner vorherigen Position verharren möchte. Nach einigen zurückgelegten Zentimetern, beispielsweise nach 5 cm, stoppt der Benutzer die Bewegung der Hand (100) mit dem Smartphone (1). Ab diesem Zeitpunkt t5 verharrt das Smartphone (1) wieder relativ ruhig und die Geste ist abgeschlossen. Aus der Sicht der Steuerungs- und Analyseeinheit (12) gibt es keinen prinzipiellen Unterschied, wie die Geste „Wegbewegen” erkannt wird, unabhängig davon, ob sie mit einer Hand (100) und Daumen (102) gemäß 5 oder mit zwei Händen gemäß 4 eingegeben wird.
-
Das von der Geste „Wegbewegen” ausgelöste Benutzereingabe-Ereignis (21) veranlasst das Betriebssystem und/oder ein Anwendungsprogramm („App”), eine passende Funktion oder Aktion auszuführen. Beispielsweise kann die Geste „Wegbewegen” als „Undo”-Funktion eingesetzt werden: Eine fehlerhafte Eingabe wie z. B. ein falscher Buchstabe oder eine falsche Ziffer wird durch Ausführen der Geste „Wegbewegen” rückgängig gemacht.
-
Die Geste „Wegbewegen” kann auch als anwendungsübergreifende Geste zum Löschen eines Elements oder mehrerer Elemente verwendet werden, beispielsweise einer Datei, eines Dokuments, eines Bildes oder eines Kalendereintrags. Während konventionelle Gesten, wie z. B. „Tippen”, passende Aktionen mit dem markierten oder selektierten Element ausführen, führt die Geste „Wegbewegen” zum Löschen dieses Elements, ohne dass hierfür ein eigener Menüpunkt, Button oder Icon auf dem Touchscreen (2) vorgesehen werden muss.
-
Da die Geste „Wegbewegen” kompatibel mit den klassischen Gesten ist, kann sie für globale Funktionen des Betriebssystems eingesetzt werden, die nicht an die aktuelle Darstellung auf dem Bildschirm gebunden sind. Dies bedeutet, dass in dieser Ausführungsform die Geste „Wegbewegen” an jeder Stelle auf dem Touchscreen (2) erkannt wird, auch wenn sich an dieser Stelle ein Icon oder Steuerelement (26) befindet, welches für konventionelle Gesten vorgesehen ist. Solch eine global gültige Geste kann beispielsweise eine der folgenden Aufgaben übernehmen:
- – Mit der globalen Geste „Wegbewegen” wird ein laufender Vorgang abgebrochen, beispielsweise ein Datentransfer oder eine Berechnung.
- – Mit der globalen Geste „Wegbewegen” wird das laufende Anwendungsprogramm („App”) beendet, in den Hintergrund verschoben, oder es wird zu einem anderen Anwendungsprogramm („App”) gewechselt.
- – Mit der globalen Geste „Wegbewegen” wird zum Menü, Hauptmenü und/oder zum Startbildschirm des Betriebssystems zurückgekehrt.
- – Mit der globalen Geste „Wegbewegen” wird eine Such-Funktion mit einer Suchmaske aufgerufen.
- – Mit der globalen Geste „Wegbewegen” wird ein Telefongespräch angenommen oder beendet.
- – Mit der globalen Geste „Wegbewegen” wird ein Sperrbildschirm aktiviert oder deaktiviert.
-
6 zeigt eine Variante der Geste „Wegbewegen” als eigenständige Ausführungsform: In Kombination mit dem konventionellen Tippen auf einer Bildschirmtastatur (32) ermöglicht diese Variante der Geste „Wegbewegen” die Eingabe von Großbuchstaben ohne den Umweg über eine (virtuelle) Shift-Taste bzw. eine Feststelltaste (Caps Lock). Bei einer Bildschirmtastatur (32) wird üblicherweise zunächst der ausgewählte Buchstabe visualisiert, sobald der Benutzer eine Taste auf der Bildschirmtastatur (32) drückt und erst sobald er die Taste wieder loslässt, wird der ausgewählte Buchstabe in das editierbare Feld, beispielsweise eine Eingabemaske oder ein Texteditor, übernommen. Im „Schritt 1” auf der linken Seite von 6 ist zu sehen, wie der Benutzer die virtuelle Taste „d” der Bildschirmtastatur (32) drückt, um diesen Buchstaben an der Schreibmarke bzw. am Cursor (33) einzugeben. Dabei ist es in dieser Ausführungsform gleichgültig, wie der Kontakt des Fingers (101) mit dem Touchscreen (2) zustande kommt. Es spielt insbesondere keine Rolle, ob zum Drücken der Taste der Finger (101) zum Touchscreen (2) bewegt wird oder stattdessen der Touchscreen (2) zum Finger (101) bewegt wird oder beides gleichzeitig. Mithin ist es nicht notwendig, dass das Smartphone (1) bei Kontakt-Beginn (27) ruhig gehalten wird. Eine entsprechende Prüfung der Bewegung des Smartphones (1) zum Zeitpunkt t1 findet nicht statt. Dies unterscheidet diese Ausführungsform für Bildschirmtastaturen von der Ausführungsform gemäß 4. Im „Schritt 2a” entfernt der Benutzer den Zeigefinger (101) auf konventionelle Weise vom Touchscreen (2) entsprechend der Seitenansicht im unteren Bereich von 6. Das Smartphone (1) hält er währenddessen weitestgehend ruhig, was vom Beschleunigungssensor (3) erkannt wird. Am Cursor (33) wird nun ein Kleinbuchstabe ausgegeben: In diesem Beispiel ein kleines „d” (34). Wenn der Benutzer hingegen einen Großbuchstaben eingeben möchte, so verfährt er stattdessen wie in „Schritt 2b” exemplarisch dargestellt: Ausgehend von der gedrückten Taste „d” aus „Schritt 1” bewegt der Benutzer das Smartphone (1) mit der linken Hand (100) nach unten, während der Zeigefinger (101) der rechten Hand nicht oder nur geringfügig bewegt wird: Nun wird am Cursor (33) ein großes „D” (35) ausgegeben, ohne dass eine Shift-Taste benötigt wird. Nur wenn das Smartphone (1) korrekt in die negative Z-Richtung, also in die Richtung der Rückseite des Touchscreens (2) bewegt wird, wird ein Großbuchstabe ausgegeben. In jedem anderen Fall, beispielsweise auch bei einer Beschleunigung in die positive Z-Richtung, wird die Ausgabe eines Kleinbuchstabens veranlasst.
-
Wenn die berührungsempfindliche Fläche (2) als reale Tastatur (32) mit mechanischen Tasten realisiert ist, erfolgt in der Regel die Ausgabe des Buchstabens sobald die mechanische Taste heruntergedrückt ist. Dementsprechend erfolgt in dieser Ausführungsform zunächst die Darstellung eines Kleinbuchstabens (34), und falls der Benutzter beim Kontakt-Ende (27) bzw. beim Loslassen der Taste, durch eine Bewegung des Smartphones (1) in die negative Z-Richtung signalisiert, dass er einen Großbuchstaben (35) eingeben möchte, so wird der bereits dargestellte Kleinbuchstabe (34) durch einen Großbuchstaben (35) ersetzt. Der Ablauf sieht dann wie folgt aus:
Es wird die Eingabe eines Kleinbuchstabens (34) in das editierbare Feld veranlasst, sobald die zum Buchstaben zugehörige Taste der Tastatur (32) mit dem Finger (101) gedrückt wird. Auch in der Ausführungsform mit einer mechanischen Tastatur findet keine Prüfung der Bewegung des Smartphones (1) zum Zeitpunkt t1 statt. Es ist als nicht nötig das Smartphone (1) zu diesem Zeitpunkt ruhig zu halten, sondern das Smartphone (1) darf auch auf den Finger (101) zubewegt werden. Ausgehend von der gedrückten Taste wird der im editierbaren Feld eingegebene Kleinbuchstabe (34) beibehalten, falls das Smartphone (1) beim Entfernen des Fingers von der gedrückten Taste weitestgehend ruhig gehaltenen wird. Anderenfalls, ausgehend von der gedrückten Taste, wird der eingegebene Kleinbuchstabe (34) im editierbaren Feld durch einen Großbuchstaben (35) ersetzt, falls das Smartphone (1) unter dem Finger (101) in Richtung der Rückseite des Touchscreens (2) wegbewegt wird, so dass die Taste das Kontakt-Ende (28) erkennt. Ein weiteres Einsatzgebiet der neuen Geste „Wegbewegen” ist eine Bildschirmtastatur mit Autovervollständigung, die jeweils ein vorgeschlagenes Wort anzeigt: Ein neuer Textvorschlag wird bereits angezeigt, während der Benutzer die virtuelle Taste des aktuell eingegebenen Buchstabens noch „gedrückt” hält, also mit dem Finger (101) den Touchscreen (2) noch berührt. Um den aktuellen Vorschlag der Autovervollständigung anzunehmen, bewegt der Benutzer, ausgehend von der „gedrückten” Taste, das Smartphone (1) nach unten, führt also die Geste „Wegbewegen” aus. Um stattdessen den aktuellen Vorschlag zu ignorieren, hebt der Benutzer den Finger (101) auf konventionelle Weise vom Touchscreen (2) und tippt den nächsten Buchstaben. Durch dieses System ist es nicht nötig, den Textvorschlag separat anzutippen, wodurch ein zusätzlicher Handgriff eingespart wird.
-
7 zeigt die neue Geste „Hinbewegen”. Mit Ausnahme des konkreten Ablaufs der Geste gilt die allgemeine Beschreibung gemäß 4. Aus der Sicht des Benutzers wird die neue Geste „Hinbewegen” wie folgt durchgeführt: Der Benutzer hält das Smartphone (1) beispielsweise mit der linken Hand (100) und mit der rechten Hand positioniert er den Zeigefinger (101) zum Tippen im Abstand (8) von einigen Zentimetern näherungsweise senkrecht über der relevanten Stelle auf dem Touchscreen (2), die er im weiteren Verlauf der Geste mit dem Finger (101) berühren möchte. Der Abstand (8) könnte zum Beispiel 5 cm betragen und die relevante Stelle auf dem Touchscreen (2) könnte eine Schaltfläche, ein Icon oder ein anderes Steuerelement (26) sein. Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 7 dargestellt. Während der Benutzer den Zeigefinger (101) der rechten Hand ruhig an Ort und Stelle hält, bewegt er nun ab dem Zeitpunkt t0 das Smartphone (1) auf den Zeigefinger (101) zu, bis der Zeigefinger (101) den Touchscreen (2) an der gewünschten bzw. relevanten Stelle zum Zeitpunkt t2 berührt. Wenn das Smartphone (1) wie in 7 näherungsweise waagrecht gehalten wird, so hebt der Benutzer das Smartphone (1) von unten nach oben, bis er von unten kommend gegen den unbewegten Zeigefinger (101) der rechten Hand stößt, und durch diesen Anschlag am Zeigefinger (101) das Smartphone (1) wieder relativ abrupt zum Stillstand kommt. Der Zeigefinger (101) berührt nun ab dem Zeitpunkt t2 den Touchscreen (2). Dies ist in der mittleren Abbildung in 7 dargestellt. Ab dem Zeitpunkt t3 entfernt der Benutzer den Zeigefinger (101) der rechten Hand vom Touchscreen (2), wobei er währenddessen das Smartphone (1) mit der linken Hand (100) relativ ruhig an Ort und Stelle hält. Verharrt das Smartphone (1) auch zum Zeitpunkt t4 noch relativ ruhig, so wird die Geste „Hinbewegen” erkannt.
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Hinbewegen” wie folgt erkannt: Zum Zeitpunkt t2 meldet der Touchscreen (2) als Touchscreen-Ereignis (20) den „Kontakt-Beginn” (27), der ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Wenn die Position der gemeldeten Berührung auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position ein Steuerelement (26) befindet, welches die Geste „Hinbewegen” als Eingabe akzeptiert, so wird nun mit Hilfe des Integrators (13) der zeitlich zurückliegende Verlauf der Geschwindigkeit (17) aus den Beschleunigungsdaten (16) berechnet, die im Puffer (11) zwischengespeichert sind. Als nächstes wird der berechnete Geschwindigkeitsverlauf (17) so kalibriert, dass die Geschwindigkeitskomponenten X, Y und Z zum Zeitpunkt t2 den Wert null haben, um einen möglichen Drift des Integrators (13) zu kompensieren. Der Zeitpunkt t1 ergibt sich aus dem aktuellen Zeitpunkt t2 abzüglich des zeitlichen Versatzes „Delta t” (31). Als erstes Kriterium wird die Geschwindigkeit zum Zeitpunkt t1 aus dem zeitlich zurückliegenden Geschwindigkeitsverlauf (17) geprüft: Die Z-Komponente „vz” der Geschwindigkeit muss positiv sein und größer als der Schwellwert für Mindestgeschwindigkeiten (23). Der Geschwindigkeitsbetrag aus den X- und Y Komponenten muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Sobald das Kontakt-Ende (28) vom Touchscreen (2) zum Zeitpunkt t3 gemeldet wird, wird kontinuierlich und in Echtzeit der weitere zeitliche Verlauf der Geschwindigkeit (17) mittels des Integrators (13) aus der Beschleunigung (16) berechnet, wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t3 den Wert null hat. Der Zeitgeber (15) meldet den Zeitpunkt t4, welcher sich aus dem Zeitpunkt t3 ergibt, verzögert um den zeitlichen Versatz „Delta t” (31). Als zweites Kriterium wird nun die Geschwindigkeit zum Zeitpunkt t4 aus dem kontinuierlich berechneten Geschwindigkeitsverlauf (17) geprüft: Der Betrag der Geschwindigkeit muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22).
-
Trifft nun das erste und das zweite Kriterium zu, so wird die Geste „Hinbewegen” erkannt, und zum Zeitpunkt t4 wird das Ereignis „Geste Hinbewegen” (36) als zugehöriges Benutzereingabe-Ereignis (21) ausgelöst. Trifft hingegen mindestens eines der Kriterien nicht zu, so liegt die Geste „Hinbewegen” nicht vor, und bei Bedarf können die Kriterien von weiteren neuen Gesten geprüft werden. Falls auch diese Kriterien nicht erfüllt sind, so liegt eine konventionelle Touchscreen-Eingabe vor, und das zunächst zurückgehaltene Touchscreen-Ereignis „Kontakt-Ende” (28) vom Zeitpunkt t3 wird nun zum Zeitpunkt t4 als Benutzereingabe-Ereignis (21) durchgereicht. Je nach Bedarf und Ausführungsform kann der Abstand (8) der neuen Geste „Hinbewegen” als zurückgelegte Strecke zwischen den Zeitpunkten t0 und t2 ermittelt werden. Dazu wird zunächst der Zeitpunkt t0 bestimmt, indem ausgehend vom Zeitpunkt t1 der zeitlich zurückliegende Geschwindigkeitsverlauf (17) rückwärts durchsucht wird, bis der Betrag der Geschwindigkeit kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Sobald t0 bekannt ist, wird mit Hilfe des Integrators (14) der Verlauf der Positionsverschiebung (18) aus dem Geschwindigkeitsverlauf (17) berechnet und zwar vom Zeitpunkt t0 bis zum Zeitpunkt t2. Der Abstand (8) ergibt sich aus den Werten der Positionskurve (18) und zwar aus der Differenz des Wertes zum Zeitpunkt t0 und des Wertes zum Zeitpunkt t2. Der Abstand (8) kann zum Zeitpunkt t4 als Eingabeparameter gemeinsam mit dem Ereignis „Geste Hinbewegen” (36) an eine zuständige Anwendung übergeben werden.
-
Alternativ zur Vorgehensweise gemäß 7 mit zwei Händen und Zeigefinger (101) zeigt 8 eine Bedienung der Geste „Hinbewegen” mit nur einer Hand (100) und Daumen (102). Mit Ausnahme des konkreten Ablaufs der Geste gilt die allgemeine Beschreibung gemäß 5. Aus der Sicht des Benutzers wird die neue Geste „Hinbewegen” wie folgt mit nur einer Hand (100) durchgeführt: Zunächst hält der Benutzer das Smartphone (1) mit der einen Hand (100) relativ ruhig, wobei der Daumen (102) über der relevanten Stelle (26) schwebt. Zum Zeitpunkt t0 beginnt er das Smartphone (1) in Richtung der Seite mit dem Touchscreen (2) zu beschleunigen, typischerweise nach oben. Gleichzeitig beginnt er damit, den Daumen (102) auf die relevante Stelle des Touchscreens (2) zuzubewegen. Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 8 dargestellt. Ab dem Zeitpunkt t2 berührt der Daumen (102) den Touchscreen (2), und der Benutzer stoppt in diesem Augenblick die Bewegung des Smartphones (1) in der Hand (100). Dies ist in der mittleren Abbildung in 8 dargestellt. Ab dem Zeitpunkt t3 löst der Benutzer den Daumen (102) vom Touchscreen (2), wobei er währenddessen das Smartphone (1) mit der Hand (100) relativ ruhig an Ort und Stelle hält. Verharrt das Smartphone (1) auch zum Zeitpunkt t4 noch relativ ruhig, so wird die Geste „Hinbewegen” erkannt. Aus der Sicht der Steuerungs- und Analyseeinheit (12) gibt es keinen prinzipiellen Unterschied, wie die Geste „Hinbewegen” erkannt wird, unabhängig davon, ob sie mit einer Hand (100) und Daumen (102) gemäß 8 oder mit zwei Händen gemäß 7 eingegeben wird.
-
Da die Geste „Hinbewegen” kompatibel mit den klassischen Gesten ist, kann sie für globale Funktionen des Betriebssystems eingesetzt werden, die nicht an die aktuelle Darstellung auf dem Bildschirm gebunden sind. Dies bedeutet, dass in dieser Ausführungsform die Geste „Hinbewegen” an jeder Stelle auf dem Touchscreen (2) erkannt wird. Zum Beispiel:
- – Mit der globalen Geste „Hinbewegen” wird ein laufender Vorgang abgebrochen, beispielsweise ein Datentransfer oder eine Berechnung.
- – Mit der globalen Geste „Hinbewegen” wird das laufende Anwendungsprogramm („App”) beendet, in den Hintergrund verschoben, oder es wird zu einem anderen Anwendungsprogramm („App”) gewechselt.
- – Mit der globalen Geste „Hinbewegen” wird eine Such-Funktion mit einer Suchmaske aufgerufen.
- – Mit der globalen Geste „Hinbewegen” wird ein Telefongespräch angenommen oder beendet.
- – Mit der globalen Geste „Hinbewegen” wird ein Sperrbildschirm aktiviert oder deaktiviert.
-
Ab 11 wird eine weitere Geste mit der Bezeichnung „Inverses Tippen” beschrieben, welche eine Kombination aus den beiden Gesten „Hinbewegen” und „Wegbewegen” darstellt. Unter der Voraussetzung, dass das vom Finger (101) berührte Steuerelement (26) auf dem Touchscreen (2) die Geste „Inverses Tippen” nicht benötigt bzw. nicht als Eingabe akzeptiert, kann der Zeitpunkt der Erkennung der Geste „Hinbewegen” vorverlegt werden und zwar vom Zeitpunkt t4 zum Zeitpunkt t2. Entsprechend kann auch das zugehörige Benutzereingabe-Ereignis (21) bereits zum Zeitpunkt t2 ausgelöst werden. Dieser Sachverhalt ist in 9 am Beispiel einer zoombaren Landkarte dargestellt. Die Landkarte (37, 38) ist in diesem Beispiel ein Steuerelement (26), welches den ganzen Touchscreen (2) füllt und die Gesten „Hinbewegen” und „Wegbewegen” an jeder Stelle auf dem Touchscreen (2) akzeptiert. Die Geste „Hinbewegen” wird zum Hineinzoomen verwendet, und gemäß 10 wird die Geste „Wegbewegen” zum Herauszoomen verwendet. Der zeitliche Ablauf ist dabei von links nach rechts zu interpretieren, entsprechend der Zeitachse „t”. Zeitlich korrespondierend ist in 9 und 10 das Smartphone (1) von oben und von der Seite dargestellt und darunter die Zeitachsen mit den Touchscreen-Ereignissen (20) und den Benutzereingabe-Ereignissen (21) als Ausgabe. Um in eine Landkarte (37, 38) hineinzuzoomen, wird gemäß 9 die Geste „Hinbewegen” ausgeführt, indem der Benutzer ab dem Zeitpunkt t0 das Smartphone (1) auf den Finger (101) zubewegt. Sobald zum Zeitpunkt t2 der Kontakt-Beginn (27) vorliegt, wird mit Hilfe des Puffers (11) die Geschwindigkeit (17) des Smartphones (1) ermittelt und ausgewertet: Wenn zum Zeitpunkt t1 die Geschwindigkeit (17) größer ist als der Schwellwert für Mindestgeschwindigkeiten (23), wird in dieser Ausführungsform bereits zum Zeitpunkt t2 der Abstand (8) der Geste berechnet, und das Ereignis „Geste Hinbewegen” (36) wird ausgelöst. Eine weitere Prüfung zum Zeitpunkt t4 findet nicht statt, und das zweite Prüfkriterium findet keine Anwendung. Das konventionelle Ereignis „Kontakt-Ende” (28) vom Touchscreen (2) wird unterdrückt und nicht als Benutzereingabe-Ereignis (21) ausgegeben, da die Benutzereingabe bereits als Geste „Hinbewegen” erkannt wurde. Sobald zum Zeitpunkt t2 das Benutzereingabe-Ereignis „Geste Hinbewegen” (36) ausgelöst wird, wird dies zusammen mit dem ermittelten Abstand (8) dem zuständigen Anwendungsprogramm („App”) mitgeteilt, welches entsprechend dem Beispiel umgehend in die Landkarte (37, 38) hineinzoomt. Auf diese Weise bekommt der Benutzer eine unmittelbare Reaktion auf die Geste „Hinbewegen”, noch bevor er den Finger (101) wieder vom Touchscreen (2) entfernt.
-
Der Zoomfaktor beim Hineinzoomen wird in Abhängigkeit vom ermittelten Abstand (8) der Geste gewählt. Dies kann z. B. ein linearer Zusammenhang sein: Beispielsweise wird um den Faktor 2 in die Landkarte (37, 38) gezoomt, wenn der Benutzer die Geste mit einem Abstand (8) von 3 cm zwischen Finger (101) und Touchscreen (2) beginnt, und es wird um den Faktor 4 hineingezoomt, wenn der Abstand (8) am Anfang der Geste 6 cm beträgt. Es können auch andere z. B. exponentielle Zusammenhänge zwischen Abstand (8) und Zoomfaktor realisiert werden.
-
10 zeigt das Herauszoomen aus der Landkarte (37, 38) mit Hilfe der Geste Wegbewegen”. Die Geste „Wegbewegen” wird von der Landkarte (37, 38) in ihrer Funktion eines Steuerelements (26) an jeder Stelle auf dem Touchscreen (2) akzeptiert. Zum Zeitpunkt t5 wird ein Benutzereingabe-Ereignis (21) ausgelöst, welches den Abstand (7) als Eingabeparameter der Geste „Wegbewegen” (30) übergibt, worauf hin vom zuständigen Anwendungsprogramm („App”) aus der Landkarte (37, 38) herausgezoomt wird. Der Abstand (7) der Geste „Wegbewegen” steuert auch hier den Zoomfaktor. Alternativ kann in einer weiteren Ausführungsform bereits zum Zeitpunkt t4 damit begonnen werden, kontinuierlich aus der Landkarte (37, 38) herauszuzoomen, noch während die Geste ”Wegbewegen” ausgeführt wird. Dazu wird die vom Integrator (14) kontinuierlich berechnete Positionsverschiebung (18) genutzt, welche angibt, wie weit der Benutzer das Smartphone (1) momentan bewegt hat. Die Darstellung der Landkarte (37, 38) wird ab dem Zeitpunkt t4 verkleinert und zwar jeweils in Relation zu der momentanen Positionsverschiebung (18). Auf diese Weise bekommt der Benutzer ein unmittelbares Feedback, während er die Geste „Wegbewegen” ausführt und er kann die Bewegung des Smartphones (1) abstoppen, sobald der momentan dargestellte Zoomfaktor der Landkarte (37, 38) seinen Vorstellungen entspricht.
-
Im Vergleich zur konventionellen Zoom-Geste mit zwei Fingern ist es mit der Kombination aus den Gesten „Hinbewegen” und „Wegbewegen” möglich, das Zoomen mit nur einer Hand (100) und dem Daumen (102) dieser Hand (100) zu bedienen. Die andere Hand bleibt somit frei. Alternativ zu einer Zoom-Funktionalität lässt sich die Kombination aus den Gesten „Hinbewegen” und „Wegbewegen” auch für andere verstellbare Werte verwenden, beispielsweise für eine Lautstärke-Regelung oder für die Regelung der Helligkeit des Displays.
-
11 zeigt die neue Geste „Inverses Tippen”. Mit Ausnahme des konkreten Ablaufs der Geste, gilt die allgemeine Beschreibung gemäß 4. Aus der Sicht des Benutzers wird die neue Geste „Inverses Tippen” wie folgt durchgeführt: Der Benutzer hält das Smartphone (1) beispielsweise mit der linken Hand (100) und mit der rechten Hand positioniert er den Zeigefinger (101) zum Tippen im Abstand (8) von einigen Zentimetern näherungsweise senkrecht über der relevanten Stelle auf dem Touchscreen (2), die er im weiteren Verlauf der Geste mit dem Finger (101) berühren möchte. Der Abstand (8) könnte zum Beispiel 5 cm betragen und die relevante Stelle auf dem Touchscreen (2) könnte eine Schaltfläche, ein Icon oder ein anderes Steuerelement (26) sein. Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 11 dargestellt. Während der Benutzer den Zeigefinger (101) der rechten Hand ruhig an Ort und Stelle hält, bewegt er nun ab dem Zeitpunkt t0 das Smartphone (1) auf den Zeigefinger (101) zu, bis der Zeigefinger (101) den Touchscreen (2) an der gewünschten bzw. relevanten Stelle zum Zeitpunkt t2 berührt. Wenn das Smartphone (1) wie in 11 näherungsweise waagrecht gehalten wird, so hebt der Benutzer das Smartphone (1) von unten nach oben, bis er von unten kommend gegen den unbewegten Zeigefinger (101) der rechten Hand stößt, und durch diesen Anschlag am Zeigefinger (101) das Smartphone (1) wieder relativ abrupt zum Stillstand kommt. Der Zeigefinger (101) berührt nun ab dem Zeitpunkt t2 den Touchscreen (2). Dies ist in der mittleren Abbildung in 11 dargestellt. Ab dem Zeitpunkt t3 bewegt der Benutzer das Smartphone (1) mit der linken Hand zurück nach unten bzw. weg vom Finger (101) der rechten Hand. Der Finger (101) der rechten Hand verharrt weiterhin für kurze Zeit in genau der Position oder in der Höhe, in der er den Touchscreen (2) zuvor berührt hat bzw. in der Position oder Höhe, in der sich der Finger (101) seit Anfang der Geste befindet. Nach einigen Zentimetern, beispielsweise nach 5 cm, stoppt der Benutzer die Bewegung der linken Hand (100), in der er das Smartphone (1) hält. Ab diesem Zeitpunkt t5 verharrt das Smartphone (1) wieder relativ ruhig und die Geste ist abgeschlossen.
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Inverses Tippen” wie folgt erkannt: Zum Zeitpunkt t2 meldet der Touchscreen (2) als Touchscreen-Ereignis (20) den „Kontakt-Beginn” (27), der ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Wenn die Position der gemeldeten Berührung auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position ein Steuerelement (26) befindet, welches die Geste „Inverses Tippen” als Eingabe akzeptiert, so wird nun mit Hilfe des Integrators (13) der zeitlich zurückliegende Verlauf der Geschwindigkeit (17) aus den Beschleunigungsdaten (16) berechnet, die im Puffer (11) zwischengespeichert sind. Als nächstes wird der berechnete Geschwindigkeitsverlauf (17) so kalibriert, dass die Geschwindigkeitskomponenten X, Y und Z zum Zeitpunkt t2 den Wert null haben, um einen möglichen Drift des Integrators (13) zu kompensieren. Der Zeitpunkt t1 ergibt sich aus dem aktuellen Zeitpunkt t2 abzüglich des zeitlichen Versatzes „Delta t” (31). Als erstes Kriterium wird die Geschwindigkeit zum Zeitpunkt t1 aus dem zeitlich zurückliegenden Geschwindigkeitsverlauf (17) geprüft: Die Z-Komponente „vz” der Geschwindigkeit muss positiv sein und größer als der Schwellwert für Mindestgeschwindigkeiten (23). Der Geschwindigkeitsbetrag aus den X- und Y Komponenten muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Sobald das Kontakt-Ende (28) vom Touchscreen (2) zum Zeitpunkt t3 gemeldet wird, wird kontinuierlich und in Echtzeit der weitere zeitliche Verlauf der Geschwindigkeit (17) mittels des Integrators (13) aus der Beschleunigung (16) berechnet, wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t3 den Wert null hat. Der Zeitgeber (15) meldet den Zeitpunkt t4, welcher sich aus dem Zeitpunkt t3 ergibt, verzögert um den zeitlichen Versatz „Delta t” (31). Als zweites Kriterium wird nun die Geschwindigkeit zum Zeitpunkt t4 aus dem kontinuierlich berechneten Geschwindigkeitsverlauf (17) geprüft: Die Z-Komponente „vz” der Geschwindigkeit muss negativ sein, und der Betrag der Z-Komponente „vz” muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Der Geschwindigkeitsbetrag aus den X- und Y Komponenten muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Trifft nun das erste und das zweite Kriterium zu, so wird die Geste Inverses Tippen” erkannt, und zum Zeitpunkt t4 wird das Ereignis Geste Inverses Tippen” (39) als zugehöriges Benutzereingabe-Ereignis (21) ausgelöst.
-
Im Unterschied zu den beiden Gesten „Wegbewegen” und „Hinbewegen” verfügt die Geste „Inverses Tippen” über zwei messbare Abstände. Der erste Abstand (8) ergibt sich aus den Werten der Positionskurve (18) und zwar aus der Differenz des Wertes zum Zeitpunkt t0 und des Wertes zum Zeitpunkt t2. Der zweite Abstand (7) ergibt sich aus der Differenz des Wertes zum Zeitpunkt t3 und des Wertes zum Zeitpunkt t5. Bei einer symmetrischen Durchführung der Geste durch den Benutzer, wie in 11 dargestellt, hat der Abstand (8) am Anfang der Geste in etwa den gleichen Wert wie der Abstand (7) am Ende der Geste. Eine näherungsweise symmetrische Durchführung kann als Bedienvorschrift für den Benutzer festgelegt werden und entspricht auch der intuitiven Vorgehensweise. In diesem Fall kann die Qualität des ermittelten Abstands hinsichtlich der Messgenauigkeit und/oder hinsichtlich einer ungenauen Durchführung seitens des Benutzers verbessert werden, indem der Mittelwert aus dem Abstand (8) beim Anfang der Geste und dem Abstand (7) beim Ende der Geste gebildet wird. Dieser Mittelwert kann dann als Eingabeparameter an eine Anwendung übergeben werden.
-
Alternativ kann die Bedienvorschrift für den Benutzer gezielt eine asymmetrische Durchführung der Geste „Inverses Tippen” festlegen. In diesem Fall kann beispielsweise eine vorzeichenbehaftete Differenz aus dem ersten (8) und dem zweiten (7) Abstand als Eingabeparameter an die Anwendung übergeben werden. Ein negativer Eingabeparameter-Wert ergibt sich beispielsweise, wenn der Touchscreen (2) am Anfang der Geste relativ dicht über dem Finger (101) positioniert wird, so dass sich hier ein kleiner Abstand (8) ergibt, und im weiteren Verlauf der Benutzer am Ende der Geste erst stoppt, sobald der Touchscreen (2) relativ weit vom Finger (101) entfernt ist, so dass sich hier ein großer Abstand (7) ergibt. Ein positiver Eingabeparameter-Wert ergibt sich bei einem umgekehrten Größenverhältnis der Abstände (7, 8). Das Vorzeichen des Eingabeparameters kann auch invers definiert werden. Der vorzeichenbehaftete Eingabeparameter kann für Anwendungen verwendet werden, bei denen eine Eigenschaft in zwei Richtungen verändert werden soll, beispielsweise eine Lautstärke-Regelung oder eine Zoom-Funktion. Es es auch möglich, sowohl eine symmetrische als auch eine asymmetrische Durchführung der Geste „Inverses Tippen” zu unterstützen. In diesem Fall kann beispielsweise der erste Abstand (8) als erster Eingabeparameter und der zweite Abstand (7) als ein zweiter Eingabeparameter an die Anwendung übergeben werden.
-
Zur Ermittlung des ersten Abstands (8) zu Anfang der Geste wird zunächst der Zeitpunkt t0 bestimmt, indem ausgehend vom Zeitpunkt t1 der zeitlich zurückliegende Geschwindigkeitsverlauf (17) rückwärts durchsucht wird, bis der Betrag der Geschwindigkeit kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Nun wird mit Hilfe des Integrators (14) der Verlauf der Positionsverschiebung (18) aus dem Geschwindigkeitsverlauf (17) berechnet und zwar vom Zeitpunkt t0 bis zum Zeitpunkt t2. Der Abstand (8) ergibt sich aus den Werten der Positionskurve (18) und zwar aus der Differenz des Wertes zum Zeitpunkt t0 und des Wertes zum Zeitpunkt t2. Zur Ermittlung des zweiten Abstands (7) wird ausgehend vom Zeitpunkt t4 auf den Zeitpunkt t5 gewartet, welcher eintritt, sobald der Betrag des kontinuierlich berechneten Geschwindigkeitswertes (17) wieder kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Nun wird mit dem Integrator (14) der Verlauf der Positionsverschiebung (18) aus dem Geschwindigkeitsverlauf (17) berechnet und zwar vom Zeitpunkt t3 bis zum Zeitpunkt t5. Der Abstand (7) ergibt sich aus den Werten der Positionskurve (18) und zwar aus der Differenz des Wertes zum Zeitpunkt t3 und des Wertes zum Zeitpunkt t5. Zwecks Übergabe der beiden Abstände (7, 8) an das Anwendungsprogramm („App”) wird zum Zeitpunkt t5 ein Benutzereingabe-Ereignis (21) ausgelöst, welches die Abstände als Eingabeparameter der Geste „Inverses Tippen” (40) übergibt. Der erste Abstand (8) zu Anfang der Geste kann auch zu einem früheren Zeitpunkt übergeben werden, beispielsweise zum Zeitpunkt t4.
-
Alternativ zur Vorgehensweise gemäß 11 mit zwei Händen und Zeigefinger (101) zeigt 12 eine Bedienung der Geste „Inverses Tippen” mit nur einer Hand (100) und Daumen (102). Mit Ausnahme des konkreten Ablaufs der Geste gilt die allgemeine Beschreibung gemäß 5. Aus der Sicht des Benutzers wird die neue Geste „Inverses Tippen” wie folgt mit nur einer Hand (100) durchgeführt:
Zunächst hält der Benutzer das Smartphone (1) mit der einen Hand (100) relativ ruhig, wobei der Daumen (102) über der relevanten Stelle (26) schwebt. Zum Zeitpunkt t0 beginnt er das Smartphone (1) in Richtung der Seite mit dem Touchscreen (2) zu beschleunigen, typischerweise nach oben. Gleichzeitig beginnt er damit, den Daumen (102) auf die relevante Stelle des Touchscreens (2) zuzubewegen. Dieser Teil des Gesten-Ablaufs ist auf der linken Seite in 12 dargestellt. Ab dem Zeitpunkt t2 berührt der Daumen (102) den Touchscreen (2), und der Benutzer stoppt in diesem Augenblick die Bewegung des Smartphones (1) in der Hand (100), um als nächstes eine Bewegung in die entgegengesetzte Richtung einzuleiten. Dies ist in der mittleren Abbildung in 12 dargestellt. Ab dem Zeitpunkt t3 beschleunigt der Benutzer das Smartphone (1) in Richtung der Rückseite des Touchscreens (2), typischerweise nach unten. Gleichzeitig lässt er den Daumen (102) vom Touchscreen (2) los. Nach einigen zurückgelegten Zentimetern stoppt der Benutzer die Bewegung der Hand (100) mit dem Smartphone (1), und die Geste ist zum Zeitpunkt t5 abgeschlossen. Aus der Sicht der Steuerungs- und Analyseeinheit (12) gibt es keinen prinzipiellen Unterschied, wie die Geste „Inverses Tippen” erkannt wird, unabhängig davon, ob sie mit einer Hand (100) und Daumen (102) gemäß 12 oder mit zwei Händen gemäß 11 eingegeben wird. Da die Geste „Inverses Tippen” kompatibel mit den klassischen Gesten ist, kann sie für globale Funktionen des Betriebssystems eingesetzt werden, die nicht an die aktuelle Darstellung auf dem Bildschirm gebunden sind. Dies bedeutet, dass in dieser Ausführungsform die Geste „Inverses Tippen” an jeder Stelle auf dem Touchscreen (2) erkannt wird. Zum Beispiel:
- – Mit der globalen Geste „Inverses Tippen” wird das laufende Anwendungsprogramm („App”) beendet, in den Hintergrund verschoben, oder es wird zu einem anderen Anwendungsprogramm („App”) gewechselt.
- – Mit der globalen Geste „Inverses Tippen” wird zum Menü, Hauptmenü und/oder zum Startbildschirm des Betriebssystems zurückgekehrt.
- – Mit der globalen Geste „Inverses Tippen” wird eine Such-Funktion mit einer Suchmaske aufgerufen.
-
Grundsätzlich kann bei der Durchführung der vorgestellten neuen Gesten „Wegbewegen”, „Hinbewegen” und „Inverses Tippen” und bei weiteren neuen Gesten die Zeitspanne zwischen t2 und t3, in der der Finger (101) bzw. Daumen (102) Kontakt mit dem Touchscreen (2) hat, entweder kurz oder lang gewählt werden. Durch die Unterscheidung der Zeitspanne während der Berührung können beispielsweise aus den drei vorgestellten neuen Gesten insgesamt sechs unterscheidbare neue Gesten implementiert werden: Jeweils eine Variante mit kurzer Berührung und eine Variante mit langer Berührung.
-
13 zeigt die neue Geste „Entlangziehen” mit dem besonderen Merkmal, dass nicht der Finger (101) über den Touchscreen (2) gezogen wird, sondern das Smartphone (1) unter dem Finger (101) verschoben wird. Auf der linken Seite von 13 ist der Ablauf der Geste am Beispiel eines Smartphones (1) dargestellt, welches hier in der linken Hand (100) gehalten wird und dessen Touchscreen (2) mit dem Zeigefinger (101) der rechten Hand bedient wird. Der zeitliche Ablauf der Geste ist dabei von oben nach unten zu interpretieren, entsprechend der Zeitachse „t”. Zeitlich korrespondierend sind rechts daneben die auftretenden Touchscreen-Ereignisse (20) auf einer Zeitachse dargestellt, die durch die Steuerungs- und Analyseeinheit (12) verarbeitet werden, sowie die Benutzereingabe-Ereignisse (21), die von der Steuerungs- und Analyseeinheit (12) ausgelöst werden. Des weiteren ist der Kurvenverlauf dargestellt, der auf idealisierte Weise die prinzipiellen Messwerte des Beschleunigungssensors (3) verdeutlicht, im einzelnen die gemessene Beschleunigung „ay” (16) und die daraus per Integration ermittelte Geschwindigkeit „vy” (17). Basierend auf dem in 1 definierten Koordinatensystem (6) und unter Verwendung eines 3-Achsen-Beschleunigungssensors (3) handelt es sich bei dem dargestellten Beispiel um die Y-Komponente von „a” (16) und „v” (17). Da es sich bei dem betrachteten Beispiel um eine Bewegung ausschließlich in Y-Richtung handelt, sind die Beschleunigungs- und Geschwindigkeits-Werte für die X- und Z-Komponente nahezu null und in 13 nicht dargestellt.
-
Aus der Sicht des Benutzers wird die neue Geste „Entlangziehen” wie folgt durchgeführt: Der Benutzer hält beispielsweise den Zeigefinger (101) der rechten Hand an Ort und Stelle und macht sich bereit, mit diesem Finger (101) den Touchscreen (2) zu berühren. Ab dem Zeitpunkt t0 fängt der Benutzer an, das Smartphone (1) mit der linken Hand (100) unter dem Zeigefinger (101) zu verschieben, wobei diese Verschiebung in der Ebene des Touchscreens (2) erfolgt. Gleichzeitig bewegt er den Zeigefinger (101) der rechten Hand senkrecht auf den Touchscreen (2) zu, so dass der Finger (101) zum richtigen Zeitpunkt t1 den Touchscreen (2) am geplanten Startpunkt berührt. Im Beispiel gemäß 13 ist dies der obere Bereich des Touchscreens (2). Während der Zeigefinger (101) den Touchscreen (2) berührt, fährt der Benutzer kontinuierlich damit fort, das Smartphone (1) mit der linken Hand (100) unter dem Zeigefinger (101) zu verschieben, ohne den Kontakt mit dem Touchscreen (2) zu verlieren, und wobei der Zeigefinger (101) der rechten Hand an Ort und Stelle bleibt und nicht bewegt wird. Im Beispiel gemäß 13 wird das Smartphone (1) entlang einer Geraden nach vorne gezogen. Sobald zum Zeitpunkt t3 das gewünschte Ende der durch die Verschiebung zurückzulegenden Strecke auf dem Touchscreen (2) erreicht ist, entfernt der Benutzer den Zeigefinger (101) der rechten Hand vom Touchscreen (2), während sich die linke Hand (100) mit dem Smartphone (1) noch in voller Bewegung befindet. Alternativ kann der Benutzer das Smartphone (1) unter dem Zeigefinger (101) auch über den Rand des Touchscreens (2) hinaus verschieben und damit den Zeitpunkt t3 ebenfalls erreichen. Erst ab dem Zeitpunkt t4 stoppt der Benutzer die Bewegung des Smartphones (1) mit der linke Hand (100).
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Entlangziehen” wie folgt erkannt: Zum Zeitpunkt t1 meldet der Touchscreen (2) als Touchscreen-Ereignis (20) den „Kontakt-Beginn” (27), der ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Durch das Verschieben des Smartphones (1) unter dem Finger (101) meldet der Touchscreen (2) kurz darauf zum Zeitpunkt t2 ein Ereignis „Drag” (Ziehen) (41). Wenn die Position auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position auf dem Touchscreen (2) ein Steuerelement (26) befindet, welches die Geste „Entlangziehen” als Eingabe akzeptiert, so wird nun der Kurvenverlauf der Beschleunigung (16) ausgewertet, der sich im Puffer (11) befindet, beispielsweise die letzten zwei Sekunden vor Kontakt-Beginn (27). Dazu wird als erstes die Beschleunigungskurve (16) geglättet, um ein mögliches Rauschen zu reduzieren. Anschließend wird der zurückliegende Zeitpunkt t0 gesucht, ab dem die Beschleunigung eingesetzt hat. Beispielsweise kann ausgehend vom Zeitpunkt t1 zeitlich rückwärts der maximale Wert des Beschleunigungsbetrags gesucht werden, wobei dieses Maximum größer sein muss als der Schwellwert für Mindestbeschleunigungen (24). Sobald der Zeitpunkt t0 bekannt ist, wird mit Hilfe des Integrators (13) der Geschwindigkeits-Verlauf (17) zwischen t0 und t2 berechnet, wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t0 den Wert null hat. Durch das fortgesetzte Verschieben des Smartphones (1) unter dem Finger (101) meldet der Touchscreen (2) nach dem Ereignis „Drag” (41) ein oder mehrere „Drag Delta”-Ereignisse (Delta-Verschiebung) (42). Sobald, je nach Ausführungsform, durch das „Drag”- und/oder „Drag Delta”-Ereignis ein zweidimensionaler Delta-Vektor (49) verfügbar ist, der angibt, in welcher Richtung der Finger (101) näherungsweise über den Touchscreen (2) zieht, wird anhand der folgenden Kriterien geprüft, ob die neue Geste „Entlangziehen” vorliegt:
Kriterium 1: Der Betrag des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Kriterium 2: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss näherungsweise in der Ebene des Touchscreens (2) liegen. Entsprechend dem definieren Koordinaten-System (6) ist dies die X-Y Ebene. Beispielsweise kann geprüft werden, ob die Z-Komponente des Geschwindigkeitsvektors zum Zeitpunkt t2 kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Kriterium 3: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss näherungsweise in die entgegengesetzte Richtung zeigen wie der vom „Drag”- und/oder „Drag Delta”-Ereignis (41, 42) gemeldete Delta-Vektor (49) des Touchscreens (2). Beispielsweise können die X und Y Komponenten des dreidimensionalen Geschwindigkeitsvektors mit dem inversen zweidimensionalen Delta-Vektor (49) (X und Y) verglichen werden, wobei eine empirisch ermittelte Toleranz zugelassen wird. Falls eines der drei Kriterien nicht erfüllt ist, wird die Benutzereingabe als konventionelle ”Drag”-Geste interpretiert, und die „Drag”- und/oder „Drag Delta”-Ereignisse (41, 42) werden umgehend als Benutzereingabe-Ereignis (21) weitergeleitet. Anderenfalls, wenn die Kriterien 1, 2 und 3 erfüllt sind, werden die vom Touchscreen (2) erzeugten „Drag”- und/oder „Drag Delta”-Ereignisse (41, 42) unterdrückt und nicht an das Anwendungsprogramm („App”) oder die Benutzeroberfläche weitergeleitet, damit keine konventionelle „Drag”-Geste ausgelöst wird, die beispielsweise den Bildschirminhalt verschieben würde. Ab dem Zeitpunkt t2 wird nun kontinuierlich und in Echtzeit der weitere zeitliche Verlauf der Geschwindigkeit (17) mittels des Integrators (13) aus der Beschleunigung (16) berechnet. Zum Zeitpunkt t3 meldet der Touchscreen (2) ein „Flick”-Ereignis (Ziehen und Entfernen) (43), da der Finger (101) den Touchscreen (2) relativ gesehen in Bewegung verlässt. Die Kriterien 1, 2 und 3 werden nun zum Zeitpunkt t3 erneut geprüft:
Kriterium 1: Der Betrag des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t3 muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Kriterium 2: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t3 muss näherungsweise in der Ebene des Touchscreens (2) liegen. Kriterium 3: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t3 muss näherungsweise in die entgegengesetzte Richtung zeigen wie der von den „Drag Delta”-Ereignissen (42) gemeldete Delta-Vektor (49) und/oder in die entgegengesetzte Richtung der vom „Flick”-Ereignis (43) gemeldeten „Flick”-Richtung (52) des Touchscreens (2). Treffen die Kriterien 1, 2 und 3 abermals zu, so wird zum Zeitpunkt t3 das zugehörige Benutzereingabe-Ereignis „Geste Entlangziehen” (44) ausgelöst. Die vom Touchscreen (2) gelieferten Informationen, wie beispielsweise die Richtung (52) und die Geschwindigkeit des „Flick”-Ereignisses (43) können als Eingabeparameter an das Anwendungsprogramm („App”) übergeben werden. Falls mindestens eines der drei Kriterien bei der zweiten Prüfung zum Zeitpunkt t3 nicht erfüllt ist, so wird die Eingabe des Benutzers als fehlerhafte Eingabe ignoriert und es wird kein Benutzereingabe-Ereignis (21) ausgelöst.
-
14 zeigt die neue Geste „Abstoppen”. Mit Ausnahme des konkreten Ablaufs der Geste gilt die allgemeine Beschreibung gemäß 13. Aus der Sicht des Benutzers wird die neue Geste „Abstoppen” wie folgt durchgeführt: Der Benutzer hält beispielsweise den Zeigefinger (101) der rechten Hand an Ort und Stelle. Ab dem Zeitpunkt t0 fängt er an, das Smartphone (1) mit der linken Hand (100) unter dem Zeigefinger (101) zu verschieben, wobei diese Verschiebung in der Ebene des Touchscreens (2) erfolgt. Gleichzeitig bewegt er den Zeigefinger (101) der rechten Hand senkrecht auf den Touchscreen (2) zu, so dass der Finger (101) zum Zeitpunkt t1 den Touchscreen (2) am geplanten Startpunkt berührt. Im Beispiel gemäß 14 ist dies der obere Bereich des Touchscreens (2). Der Benutzer fährt kontinuierlich damit fort, das Smartphone (1) mit der linken Hand (100) unter dem Zeigefinger (101) zu verschieben, ohne den Kontakt mit dem Touchscreen (2) zu verlieren, und wobei der Zeigefinger (101) der rechten Hand an Ort und Stelle bleibt und nicht bewegt wird. Im Beispiel gemäß 14 wird das Smartphone (1) entlang einer Geraden nach vorne gezogen. Ab dem Zeitpunkt t2 verlangsamt der Benutzer die Bewegung der linken Hand (100) mit dem Smartphone (1), bis das Smartphone (1) zum Zeitpunkt t3 abgestoppt ist, und der Zeigefinger (101) der rechten Hand auf dem Touchscreen (2) ruht. Zum Zeitpunkt t4 entfernt der Benutzer den Zeigefinger (101) vom Touchscreen (2) des unbewegten Smartphones (1), und die Geste ist abgeschlossen.
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Abstoppen” wie folgt erkannt: Zum Zeitpunkt t1 meldet der Touchscreen (2) als Touchscreen-Ereignis (20) den „Kontakt-Beginn” (27), der ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Durch das Verschieben des Smartphones (1) unter dem Finger (101) meldet der Touchscreen (2) kurz darauf zum Zeitpunkt t2 ein Ereignis „Drag” (Ziehen) (41). Wenn die Position auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position auf dem Touchscreen (2) ein Steuerelement (26) befindet, welches die Geste „Abstoppen” als Eingabe akzeptiert, so wird nun die Beschleunigungskurve (16) geglättet, die sich im Puffer (11) befindet, und es wird der zurückliegende Zeitpunkt t0 gesucht, ab dem die Beschleunigung eingesetzt hat. Beispielsweise kann der maximale Wert des Beschleunigungsbetrags gesucht werden, wobei dieses Maximum größer sein muss als der Schwellwert für Mindestbeschleunigungen (24). Nun wird mittels des Integrators (13) der Geschwindigkeits-Verlauf (17) zwischen t0 und t2 berechnet, wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t0 den Wert null hat. Durch das fortgesetzte Verschieben des Smartphones (1) unter dem Finger (101) meldet der Touchscreen (2) nach dem Ereignis „Drag” (41) ein oder mehrere „Drag Delta”-Ereignisse (Delta-Verschiebung) (42). Sobald, je nach Ausführungsform, durch das „Drag”- und/oder „Drag Delta”-Ereignis ein zweidimensionaler Delta-Vektor (49) verfügbar ist, der angibt, in welcher Richtung der Finger (101) näherungsweise über den Touchscreen (2) zieht, wird anhand der folgenden Kriterien geprüft, ob die neue Geste „Abstoppen” vorliegt:
Kriterium 1: Der Betrag des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Kriterium 2: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss näherungsweise in der Ebene des Touchscreens (2) liegen. Entsprechend dem definieren Koordinaten-System (6) ist dies die X-Y Ebene. Beispielsweise kann geprüft werden, ob die Z-Komponente des Geschwindigkeitsvektors zum Zeitpunkt t2 kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Kriterium 3: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t2 muss näherungsweise in die entgegengesetzte Richtung zeigen wie der vom „Drag”- und/oder „Drag Delta”-Ereignis (41, 42) gemeldete Delta-Vektor (49) des Touchscreens (2). Beispielsweise können die X und Y Komponenten des dreidimensionalen Geschwindigkeitsvektors mit dem inversen zweidimensionalen Delta-Vektor (49) verglichen werden, wobei eine empirisch ermittelte Toleranz zugelassen wird. Falls eines der drei Kriterien nicht erfüllt ist, wird die Benutzereingabe als konventionelle „Drag”-Geste interpretiert und die „Drag”- und/oder „Drag Delta”-Ereignisse (41, 42) werden umgehend als Benutzereingabe-Ereignis (21) weitergeleitet. Anderenfalls, wenn die Kriterien 1, 2 und 3 erfüllt sind, werden die vom Touchscreen (2) erzeugten „Drag”- und/oder „Drag Delta”-Ereignisse (41, 42) unterdrückt und nicht an das Anwendungsprogramm („App”) oder die Benutzeroberfläche weitergeleitet.
-
Ab dem Zeitpunkt t2 wird nun kontinuierlich und in Echtzeit der weitere zeitliche Verlauf der Geschwindigkeit (17) mittels des Integrators (13) aus der Beschleunigung (16) berechnet. Zum Zeitpunkt t4 meldet der Touchscreen (2) das Ereignis „Drag Abgeschlossen” (45), da der Finger (101) den Touchscreen (2) ohne „Wisch”-Bewegung verlässt, und es wird nun die Bewegungslosigkeit des Smartphones (1) als Stop-Kriterium geprüft: Der Betrag des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t4 muss kleiner sein als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Trifft dieses Stop-Kriterium zu, so wird zum Zeitpunkt t4 das zugehörige Benutzereingabe-Ereignis „Geste Abstoppen” (46) ausgelöst. Die vom Touchscreen (2) gelieferten Informationen, wie beispielsweise die Richtung der Drag-Bewegung (49), können als Eingabeparameter an das Anwendungsprogramm („App”) übergeben werden. Anderenfalls, wenn das Stop-Kriterium zum Zeitpunkt t4 nicht erfüllt ist, wird die Eingabe des Benutzers als fehlerhafte Eingabe ignoriert, und es wird kein Benutzereingabe-Ereignis (21) ausgelöst.
-
15 zeigt die neue Geste „Wegziehen”. Mit Ausnahme des konkreten Ablaufs der Geste gilt die allgemeine Beschreibung gemäß 13. Die neue Geste „Wegziehen” erweitert die konventionelle „Drag”-Geste (Ziehen) um einen alternativen Abschluss der Geste – zusätzlich zu den bekannten zwei Varianten, bei denen der Finger (101) entweder im bewegten Zustand („Flick” – Ziehen und Entfernen) oder im abgestoppten Zustand (einfaches „Drag”-Ende) vom Touchscreen (2) entfernt wird. Aus der Sicht des Benutzers wird die neue Geste „Wegziehen” wie folgt durchgeführt: Der Benutzer führt eine konventionelle „Drag”-Geste durch, indem er beispielsweise das Smartphone (1) mit der linken Hand (100) relativ ruhig hält und ab dem Zeitpunkt t2 mit dem Zeigefinger (101) der rechten Hand auf dem Touchscreen (2) „wischt”. Im Beispiel gemäß 15 zieht er den Zeigefinger (101) vom oberen Bereich des Touchscreens (2) bis zur Mitte, beispielsweise um den Inhalt einer Seite zu verschieben. Solange er den Kontakt zum Touchscreen (2) aufrecht erhält, kann er auch die Richtung der „Drag”-Bewegung ändern. Zum Abschluss der konventionellen „Drag”-Geste zum Zeitpunkt t3 hat der Nutzer nun drei Möglichkeiten:
- 1) Ein konventionelles Ende, bei dem er den Finger (101) abstoppt und dann vom Touchscreen (2) entfernt.
- 2) Ein konventionelles Ende per „Flick”-Geste, bei dem er den Finger (101) in voller Bewegung vom Touchscreen (2) entfernt, während dieser noch über den Touchscreen (2) „wischt”.
- 3) Ein neues Ende mittels der neuen Geste „Wegziehen” gemäß 15: Der Benutzer hält den Zeigefinger (101) der rechten Hand an Ort und Stelle und zieht mit der linken Hand (100) das Smartphone (1) unter dem Finger (101) hinweg, ohne den Kontakt mit dem Touchscreen (2) zu verlieren. Zum Zeitpunkt t4, während sich das Smartphone (1) noch in voller Bewegung befindet, entfernt der Benutzer den Finger (101) der rechten Hand vom Touchscreen (2). Alternativ kann der Benutzer das Smartphone (1) unter dem Zeigefinger (101) auch über den Rand des Touchscreens (2) hinaus verschieben. Erst ab dem Zeitpunkt t5 stoppt der Benutzer die Bewegung des Smartphones (1) mit der linken Hand (100).
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Wegziehen” wie folgt erkannt: Zum Zeitpunkt t1 meldet der Touchscreen (2) als Ereignis den Kontakt-Beginn (27), welcher ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird, gefolgt von einem „Drag”-Ereignis (41) zum Zeitpunkt t2 und ggf. mehreren „Drag Delta”-Ereignissen (42). Falls keine neue Geste „Entlangziehen” oder „Abstoppen” vorliegt oder falls das zuständige Steuerelement (26) diese neuen Gesten nicht als Eingabe akzeptiert, so werden auch die „Drag”-Ereignisse (41) und „Drag Delta”-Ereignisse (42) unmittelbar und ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht, so dass eine konventionelle „Drag”-Geste ausgeführt wird, welche beispielsweise den Bildschirminhalt verschiebt.
-
Sobald zum Abschluss der konventionellen „Drag”-Geste die neue Geste „Wegziehen” ausgeführt wird, meldet der Touchscreen (2) zum Zeitpunkt t4 ein „Flick”-Ereignis (Ziehen und Entfernen) (43), da der Finger (101) den Touchscreen (2) relativ gesehen in Bewegung verlässt. Wenn das zuständige Steuerelement (26) die neue Geste „Wegziehen” als Eingabe akzeptiert, so wird mittels des Integrators (13) der Geschwindigkeits-Verlauf (17) aus der Beschleunigungskurve (16) im Puffer (11) berechnet und zwar im Zeitraum zwischen t2 und t4, und wobei der Startwert der Geschwindigkeit (17) zum Zeitpunkt t2 den Wert null hat. Nun wird anhand der folgenden Kriterien geprüft, ob die neue Geste „Wegziehen” vorliegt:
Kriterium 1: Der Betrag des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t4 muss größer sein als der Schwellwert für Mindestgeschwindigkeiten (23). Kriterium 2: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t4 muss näherungsweise in der Ebene des Touchscreens (2) liegen. Beispielsweise kann geprüft werden, ob die Z-Komponente des Geschwindigkeitsvektors zum Zeitpunkt t4 kleiner ist als der Schwellwert für vernachlässigbare Geschwindigkeiten (22). Kriterium 3: Die Richtung des Geschwindigkeitsvektors aus dem Kurvenverlauf der Geschwindigkeit (17) zum Zeitpunkt t4 muss näherungsweise in die entgegengesetzte Richtung zeigen wie die vom „Flick”-Ereignis (43) gemeldete „Flick”-Richtung (52). Sind die Kriterien 1, 2 und 3 erfüllt, so wird das vom Touchscreen (2) erzeugte „Flick”-Ereignis (43) unterdrückt und nicht an das Anwendungsprogramm („App”) oder die Benutzeroberfläche weitergeleitet. Stattdessen wird jetzt zum Zeitpunkt t4 das zugehörige Benutzereingabe-Ereignis „Geste Wegziehen” (47) ausgelöst. Die vom Touchscreen (2) gelieferten Informationen, wie beispielsweise die Richtung (52) und die Geschwindigkeit des „Flick”-Ereignisses (43) kann als Eingabeparameter an die Anwendung übergeben werden. Falls hingegen mindestens eines der drei Kriterien nicht erfüllt ist, so liegt nicht die Geste „Wegziehen” vor, und das „Flick”-Ereignis (43) wird zum Zeitpunkt t4 umgehend als Benutzereingabe-Ereignis (21) durchgereicht, um eine konventionelle „Flick”-Geste auszulösen.
-
Es sei angemerkt, dass das konventionelle Ziehen des Fingers über den unbewegten Touchscreen (2), gemäß 15, zwischen den Zeitpunkten t2 und t3 entfallen kann, wenn beispielsweise kein Bildschirminhalt verschoben werden soll. Das „Drag”-Ereignis (41), verursacht durch die relative Verschiebung des Smartphones (1) unter dem Finger (101), findet in diesem Fall zum Zeitpunkt t3 statt. Der weitere Ablauf bei der Ausführung und Erkennung der neuen Geste „Wegziehen” ändert sich nicht.
-
Je nach Ausführungsform des Touchscreens (2) und in Abhängigkeit der „Wisch”-Geschwindigkeit, mit der das „Flick”-Ereignis (43) auf dem Touchscreen (2) ausgelöst wird, kann auch ein isoliertes „Flick”-Ereignis (43) ohne vorherige „Drag”- bzw. „Drag Delta”-Ereignisse (41, 42) auftreten. Auch in diesem Fall kann die Geste „Wegziehen” in der beschriebenen Ausführungsform erkannt werden, da die Analyse, inwiefern die Geste „Wegziehen” vorliegt, durch das „Flick”-Ereignis (43) angestoßen wird und nicht durch die „Drag”- bzw. „Drag Delta”-Ereignisse (41, 42). Lediglich das Weiterreichen der Ereignisse „Kontakt-Beginn” (27), „Drag” (41) und „Drag Delta” (42) erübrigt sich in diesem Fall, da diese Ereignisse vom Touchscreen (2) nicht gemeldet worden sind. Die neue Geste „Wegziehen” kann beispielsweise bei einer E-Book Reader-App eingesetzt werden: Wird eine „Drag”-Geste mit einem „Flick” (Ziehen und Entfernen) abgeschlossen, so scrollen die Seiten des E-Books auf träge Weise weiter, bis sie wieder zum Stillstand kommen (Kinetischer Bildlauf, engl. Kinetic Scrolling). Wird eine „Drag”-Geste hingegen mit der neuen Geste „Wegziehen” abgeschlossen, so springen die Seiten des E-Books sofort zum nächsten bzw. zum vorherigen Kapitel des E-Books, je nach Richtung der Geste. In einer anderen Ausführungsform springen die Seiten des E-Books sofort zum nächsten bzw. zum vorherigen Absatz, zur nächsten bzw. zur vorherigen Seite, oder zum Anfang bzw. zum Ende des Buches. Eine entsprechende Funktion lässt sich beispielsweise auch in einen Texteditor oder Webbrowser einbauen. Des weiteren kann die neue Geste „Wegziehen” auch bei einem Media-Player eingesetzt werden: Beispielsweise kann bei der Wiedergabe von Videoaufnahmen oder Audioaufnahmen je nach Richtung der Geste in der Aufnahme vorgesprungen bzw. zurückgesprungen werden, und bei der Wiedergabe von Videoaufnahmen oder Audioaufnahmen aus einer Wiedergabeliste kann zur nächsten bzw. vorherigen Aufnahme in der Wiedergabeliste gewechselt werden.
-
16 und 17 zeigen, dass die drei neuen Gesten „Entlangziehen”, „Abstoppen” und „Wegziehen”, sowie weitere Varianten in einer beliebigen Richtung in der X-Y Ebene ausgeführt werden können. In 16 zeigt die strichlierte Linie (48) eine „Wischbewegung” längs des Touchscreens (2) für die Geste „Entlangziehen” oder „Abstoppen”. Die runden Punkte markieren den Anfang und das Ende der per „Wischen” zurückgelegten Strecke. Die Richtung der „Wischbewegung” zeigt der initiale Delta-Vektor (49), wobei das Smartphone (1) in der einen Hand (100) unter dem Zeigefinger (101) der anderen Hand in die entgegengesetzte Richtung (109) gezogen wird. Dieses Beispiel entspricht dem in 13 und 14 dargestellten Bewegungsablauf. Andere Beispiele für mögliche Richtungen, in die die neuen Gesten „Entlangziehen”, „Abstoppen” und „Wegziehen” ausgeführt werden können, zeigen die zusätzlich eingezeichneten strichlierten Linien (50), jeweils mit zugehörigem initialen Delta-Vektor (49). Insbesondere ist eine Wischbewegung in die genau entgegengesetzte Richtung möglich, sowie in diagonale Richtungen.
-
In 17 markiert die strichlierte Linie (51) beispielsweise eine „Wischbewegung” quer zum Touchscreen (2), wobei der initiale Delta-Vektor (49) der Bewegung (109) des Smartphones (1) entgegenläuft und wobei in diesem Fall das Ende der „Wischbewegung” am Rand des Touchscreens (2) liegt und folglich ein „Flick”-Ereignis (43) auslöst. Dieses Beispiel gilt für die Gesten „Entlangziehen” und „Wegziehen”, welche mit einem „Flick”-Ereignis abschließen. Das „Flick”-Ereignis (43) meldet die als Pfeil dargestellte „Flick”-Richtung (52). Weitere Beipiele für mögliche Richtungen zeigen die zusätzlich eingezeichneten strichlierten Linien (50), jeweils mit zugehörigem initialen Delta-Vektor (49).
-
Neben den in 16 und 17 gezeigten geradlinigen Verschiebungen des Smartphones (1) unter dem Finger (101) lassen sich auch beliebige andere Bewegungskurven durchführen und von der Steuerungs- und Analyseeinheit (12) erkennen, beispielsweise ein mit dem Smartphone (1) in der X-Y Ebene ausgeführter Kreis, Halbkreis oder eine Zickzack-Linie.
-
18 zeigt die neue Geste „Drehstellen” die beispielsweise zum Drehen von Objekten, zum Verstellen von Werten und zum Ändern von Eigenschaften verwendet werden kann. Ein besonderes Merkmal der neuen Geste „Drehstellen” ist, dass nicht auf konventionelle Weise zwei Finger (101) auf dem Touchscreen (2) in einem Kreis bewegt werden, sondern dass das Smartphone (1) unter einem Finger (101) gedreht wird, wobei es insbesondere ausreichend ist, den Touchscreen (2) mit nur einem einzigen Finger (101) zu berühren. Der überraschende Effekt, dass sich die neue Geste „Drehstellen” mit nur einem einzigen Finger (101) bedienen lässt, unterscheidet sie von bekannten Touch-Gesten zum Drehen von Objekten auf dem Touchscreen (2), bei denen immer mindestens zwei Finger eingesetzt werden müssen, damit die nötigen Referenzpunkte vorhanden sind, aus denen ein Drehwinkel ermittelt werden kann. Die optionale Verwendung von nur einem Finger (101) hat unter anderem den Vorteil, dass sich viele, sehr kleine Steuerelemente (26) auf dem Touchscreen (2) drehen oder modifizieren lassen, die insbesondere zu klein sind, um sie mit zwei Fingern zu berühren, ohne dabei gleichzeitig Nachbar-Elemente zu berühren. Auf der linken Seite von 18 ist der Ablauf der Geste am Beispiel eines Smartphones (1) dargestellt, welches hier in der linken Hand (100) gehalten wird und dessen Touchscreen (2) mit dem Zeigefinger (101) der rechten Hand bedient wird. Der zeitliche Ablauf der Geste ist dabei von oben nach unten zu interpretieren, entsprechend der Zeitachse „t”. Zur besseren Verdeutlichung des Gestenablaufs ist das Smartphone (1) in der obersten und untersten Abbildung von der Seite gezeigt und in den mittleren Abbildungen von oben. Ungeachtet der unterschiedlichen Perspektiven, handelt es sich um den Ablauf einer einzigen Geste. Zeitlich korrespondierend sind rechts neben den Abbildungen des Smartphones (1) die auftretenden Touchscreen-Ereignisse (20) auf einer Zeitachse dargestellt, die von der Steuerungs- und Analyseeinheit (12) verarbeitet werden, sowie die Benutzereingabe-Ereignisse (21), die von der Steuerungs- und Analyseeinheit (12) ausgelöst werden. Des weiteren ist der Kurvenverlauf dargestellt, der auf idealisierte Weise die prinzipiellen Messwerte einer Lagesensor-Einheit verdeutlicht. Bei der Lagesensor-Einheit handelt es sich in der Ausführungsform gemäß 3 um ein 3-achsiges Gyroskop (4) und ein 3-achsiges Magnetometer (5), welche über die kombinierte Bewegungsanalyse (10) miteinander kombiniert werden, um die Nachteile der einzelnen Sensoren auszugleichen. Die kombinierte Bewegungsanalyse (10) berechnet die Raumlage des Smartphones (1) als Winkel (roll, pitch, yaw). Dies ist Stand der Technik. Der Kurvenverlauf „yaw” (19) in 18 stellt den Drehwinkel um die Z-Achse des definierten Koordinaten-Systems (6) dar. Da es sich bei dem betrachteten Beispiel um eine Drehung ausschließlich um die Z-Achse handelt, sind die Drehwinkel um die X- und Y-Achse (roll, pitch) irrelevant und in 18 nicht dargestellt. Aus der Sicht des Benutzers wird die neue Geste „Drehstellen” wie folgt durchgeführt: Der Benutzer hält das Smartphone (1) beispielsweise mit der linken Hand (100), und mit dem Zeigefinger (101) der rechten Hand berührt er zum Zeitpunkt t1 ein Steuerelement (26), welches die Geste „Drehstellen” unterstützt. Ab dem Zeitpunkt t2 fängt der Benutzer an, das Smartphone (1) mit der linken Hand (100) unter dem Zeigefinger (101) der rechten Hand zu drehen, während er den Kontakt des Zeigefingers (101) auf dem Touchscreen (2) durchgehend aufrecht erhält. Im Beispiel gemäß 18 erfolgt eine Drehung im Uhrzeigersinn (110). Der Kontaktpunkt des Zeigefingers (101) entspricht dem Drehpunkt (53) und die Drehung erfolgt um die Z-Achse des Koordinaten-Systems (6). Diese Drehachse (57) ist in der oberen und unteren Abbildung als strichlierte Linie eingezeichnet. Je nach Verwendungszweck ändert sich beim Drehen des Smartphones (1) eine grafische Darstellung und/oder ein einstellbarer Wert (54). Beispielsweise ändert sich gemäß 18 ein einstellbarer Zahlenwert (54) in einem Beschriftungsbereich, im vorliegenden Fall in einer Lasche (55). Außerdem ändert sich die Größe eines animierten Kreises (56), der den Drehpunkt (53) bzw. den Kontaktpunkt des Fingers (101) umgibt. Solange der Benutzer den Kontakt zum Touchscreen (2) aufrecht erhält, hat er auch die Möglichkeit, den einstellbaren Zahlenwert bzw. die grafische Darstellung wieder in die entgegengesetzte Richtung zu verändern, indem er das Smartphone (1) entsprechend zurückdreht. Das Beispiel gemäß 18 zeigt, wie zum Zeitpunkt t4 ein versehentlich zu großer Zahlenwert (54) mit dem Wert „5,2” durch Drehen im Gegenuhrzeigersinn nach unten auf den Zielwert „4,8” korrigiert wird.
-
Um gegen Schluss des Einstellungsvorgangs die gewünschte grafische Darstellung oder den gewünschten Endwert besonders exakt einstellen zu können, kann der Benutzer nun optional den Touchscreen (2) mit weiteren Fingern berühren, beispielsweise zusätzlich zum Zeigefinger (101) mit dem Mittelfinger (103). Dies ist in 19 dargestellt. Jeder zusätzliche Finger bzw. jeder zusätzliche Kontaktpunkt auf den Touchscreen (2) ändert das Übersetzungsverhältnis zwischen der Rotation und dem einstellbaren Wert im Sinne einer Untersetzung. Je mehr Finger den Touchscreen (2) berühren, um so weniger stark wirkt sich die Rotationen des Smartphones (1) auf den einstellbaren Wert (54) aus, so dass eine exakte Feineinstellung möglich ist. Im Beispiel gemäß 19 dreht der Benutzer das Smartphone (1) im Gegenuhrzeigersinn (110), um den versehentlich zu groß eingestellten Zahlenwert „5,2” (54) nach unten zu korrigieren, wobei er den Touchscreen (2) mit zwei Fingern berührt, um diese Korrektur im „Feineinstellungs-Modus” vorzunehmen. In einer möglichen Ausführungsform verbleibt auch im „Feineinstellungs-Modus” der Drehpunkt (53) unter dem Zeigefinger (101) bzw. dem ersten Finger (101), mit dem der Touchscreen (2) berührt wurde. Sobald gemäß 18 zum Zeitpunkt t5 der vom Benutzer gewünschte Wert erreicht ist, stoppt der Benutzer die Rotation des Smartphones (1) um die Z-Achse, und zum Zeitpunkt t6 entfernt der Benutzer den Zeigefinger (101) und ggf. die weiteren Finger vom Touchscreen (2). Die Geste „Drehstellen” ist jetzt zum Zeitpunkt t6 abgeschlossen. Die menschliche Anatomie limitiert den Drehbereich der Hand (100). Vergleichbar mit dem Hineindrehen oder Herausdrehen einer Schraube mit einem Schraubendreher kann der Gesten-Ablauf mehrmals in die selbe Richtung wiederholt werden, um einen Wert über einen großen Bereich zu verändern: Touchscreen (2) berühren, Smartphone (1) drehen, Finger (101) entfernen, Touchscreen (2) erneut berühren, Smartphone (1) erneut drehen, Finger (101) wieder entfernen usw. Die Feineinstellung des gewünschten Endwertes erfolgt dann bei der letzten Wiederholung der Geste.
-
Aus der Sicht der Steuerungs- und Analyseeinheit (12) wird in der Ausführungsform gemäß 3 die neue Geste „Drehstellen” wie folgt umgesetzt: Zum Zeitpunkt t1 meldet der Touchscreen (2) als Ereignis den Kontakt-Beginn (27), welcher ungefiltert als Benutzereingabe-Ereignis (21) weitergereicht wird. Wenn die Position auf dem Touchscreen (2) relevant ist, das heißt, wenn sich an dieser Position auf dem Touchscreen (2) ein Steuerelement (26) befindet, welches die Geste „Drehstellen” als Eingabe akzeptiert, so wird nun zum Zeitpunkt t1 der aktuelle Wert des Drehwinkels „yaw” (19) um die Z-Achse abgefragt, der mittels der kombinierten Bewegungsanalyse (10) kontinuierlich aus den Messwerten des Gyroskops (4) und/oder des Magnetometers (5) berechnet wird. Der Wert dieses Drehwinkels (19) zum Zeitpunkt t1 wird nun als Vergleichswert zwischengespeichert. Im weiteren Verlauf wird der aktuelle Wert des Drehwinkels „yaw” (19) um die Z-Achse kontinuierlich durch erneutes Abfragen überprüft: Sobald zum Zeitpunkt t3 der Betrag der Differenz zwischen dem Vergleichswert und dem aktuellen Wert des Drehwinkels „yaw” (19) größer ist als der Schwellwert für Mindestrotationen (25), wird der Beginn der Geste „Drehstellen” erkannt, es wird ein passendes Benutzereingabe-Ereignis „Beginn Drehstellen” (58) ausgelöst, und es erfolgt eine grafische Darstellung des Rotationsvorgangs auf dem Touchscreen (2). Der Schwellwert für Mindestrotationen (25) wird als positiver Wert definiert und kann empirisch ermittelt wenden. Je nach Anwendungszweck ist er so zu wählen, dass er größer ist als die geringfügigen Rotationen, die ein Benutzer bei konventionellen Gesten wie z. B. beim Tippen unabsichtlich ausführt. Sobald die Geste „Drehstellen” durch Überschreiten des Schwellwerts für Mindestrotationen (25) aktiviert ist und das Benutzereingabe-Ereignis „Beginn Drehstellen” (58) ausgelöst worden ist, wird nun ebenfalls zum Zeitpunkt t3 der aktuelle Wert des Drehwinkels „yaw” (19) als Startwert zwischengespeichert. Dies geschieht zur Kompensation des Schwellwerts für Mindestrotationen (25), damit auch Eingaben mit kleinen Wertänderungen möglich sind. Ab dem Zeitpunkt t3 wird außerdem kontinuierlich das Benutzereingabe-Ereignis „Drehstellen Delta” (59) ausgelöst, mit dem das Betriebssystem das Anwendungsprogramm immer dann informiert, wenn eine Änderung des Drehwinkel-Wertes „yaw” (19) um die Z-Achse vorliegt. Die Differenz aus dem Startwert und dem aktuellen Wert des Drehwinkels „yaw” (19) wird als Parameter übergeben. Falls die Geste „Drehstellen” die einzige Geste ist, die das betreffende Steuerelement (26) unterstützt bzw. als Eingabe akzeptiert oder falls es keine Konflikte mit anderen unterstützten Gesten gibt, kann die Geste „Drehstellen” und die zugehörige grafische Darstellung bereits zum Zeitpunkt t1 beim Kontakt-Beginn (27) aktiviert werden. In diesem Fall wird das Benutzereingabe-Ereignisse „Beginn Drehstellen” (58) bereits zum Zeitpunkt t1 ausgelöst und die Benutzereingabe-Ereignisse „Drehstellen Delta” (59) werden kontinuierlich ab dem Zeitpunkt t2 ausgelöst. Der Schwellwert für Mindestrotationen (25) und die zugehörigen Berechnungsschritte können entfallen. Die grafische Darstellung des Rotationsvorgangs auf dem Touchscreen (2) kann je nach Ausführungsform durch das Betriebssystem oder durch das Anwendungsprogramm („App”) vorgenommen werden. Im ersten Fall kümmert sich das Betriebssystem um die grafische Darstellung und übergibt den eingestellten Wert an die Anwendung („App”). Im zweiten Fall muss sich die Anwendung („App”) selbst um die grafische Darstellung kümmern. Zu diesem Zweck wird sie mit den Ereignissen „Beginn Drehstellen” (58), „Drehstellen Delta” (59) und „Ende Drehstellen” (60) über die Benutzeraktionen informiert.
-
Die grafische Darstellung des Rotationsvorgangs auf dem Touchscreen (2) erfolgt im Beispiel gemäß 18 durch die Anzeige eines animierten Kreises (56), der den Kontaktpunkt des Fingers (101) umgibt und dessen Größe bzw. Durchmesser den vom Benutzer momentan eingestellten Wert veranschaulicht. Eine am animierten Kreis (56) angrenzende Lasche (55) enthält einen Zahlenwert (54), der den vom Benutzer momentan eingestellten Wert repräsentiert. Der Zahlenwert (54) und der Durchmesser des animierten Kreises (56) werden dabei in Abhängigkeit der Größe der Differenz zwischen dem Startwert und dem aktuellen Wert des Drehwinkels „yaw” (19) um die Z-Achse bemessen. Dies kann beispielsweise ein linearer Zusammenhang sein oder ein logarithmischer Zusammenhang. Für einen linearen Zusammenhang kann die Berechnung wie folgt erfolgen: Es wird eine vorzeichenbehaftete Drehwinkel-Differenz aus dem Startwert und dem aktuellen Wert (19) berechnet. Zur grafischen Darstellung des Zahlenwertes (54) wird nun die Drehwinkel-Differenz in den Wertebereich umgerechnet, der auf der Lasche (55) als einstellbarer Wert dazustellen ist. Ebenso wird die Drehwinkel-Differenz in einen Durchmesser umgerechnet, dessen Wertebereich so zu bemessen ist, dass der minimale Durchmesser einen kleinen Kreis (56) ergibt, der den Finger (101) umschließt, und der maximale Durchmesser des Kreises (56) an die Größe des Touchscreens (2) angepasst ist. Die Umrechnung kann beispielsweise erfolgen, indem die Drehwinkel-Differenz mit einem passenden Faktor skaliert wird und dann zu einer Konstanten addiert wird. Sobald bzw. falls der Touchscreen (2) als Touchscreen-Ereignis (20) zusätzliche Kontaktpunkte von weiteren Fingern (101, 103) meldet, wechselt die Steuerungs- und Analyseeinheit (12) in den Feineinstellungs-Modus. Um den Zahlenwert (54) auf der Lasche (55) feiner einstellen zu können, wird in einen kleineren Wertebereich gewechselt, beispielsweise durch eine neue, angepasste Skalierung und Konstante. Je mehr Kontaktpunkte vom Touchscreen (2) gemeldet werden, um so stärker wird der einstellbare Wertebereich eingeengt und auf diese Weise eine zunehmende Untersetzung erreicht.
-
Um sicherzustellen, dass die Größenänderung des animierten Kreises (56) während der Rotation des Smartphones (1) durch den Benutzer gut sichtbar ist, kann bei einer größeren Rotation in die gleiche Richtung die Größenänderung des animierten Kreises (56) in einem Zyklus erfolgen: Sobald der Kreis (56) seinen maximalen Durchmesser erreicht hat, wird er weich ausgeblendet und konzentrisch als neu dargestellter Kreis (56) mit minimalem Durchmesser wieder eingeblendet. Bei fortgesetzter Rotation in die gleiche Richtung wächst der animierte Kreis (56) dann wieder bis zu seiner Maximalgröße an. Eine animierte Vergrößerung des Kreisdurchmessers erfolgt, wenn die Rotationsrichtung des Smartphones (1) eine Zunahme des einstellbaren Wertes (54) zur Folge hat. Im Beispiel gemäß 18 erhöht sich durch die Rotation im Uhrzeigersinn (110) bis zum Zeitpunkt t4 der eingestellte Wert (54) von „0,0” über „1,7” und „4,8” bis auf „5,2”. Entsprechend nimmt der Durchmesser des animierten Kreises (56) zu. Anderenfalls, bei einer Rotation im Gegenuhrzeigersinn (110) gemäß 19, verkleinert sich der eingestellte Wert (54) und der Durchmesser des animierten Kreises (56) nimmt ab, bis er seinen minimalen Durchmesser erreicht hat, woraufhin er wieder als neu dargestellter Kreis (56) mit maximaler Größe eingeblendet wird und dann wieder abnimmt.
-
Während der Rotation des Smartphones (1) durch den Benutzer wird die am animierten Kreis (56) angrenzende Lasche (55) ebenfalls rotiert und zwar so, dass der Benutzer den in der Lasche (55) dargestellten Zahlenwert (54) durchgängig horizontal lesen kann. Beispielsweise ist in 18 die Lasche (55) und die dargestellten Zahlen „1,7” bzw. „5,2” zu jedem Zeitpunkt horizontal ausgerichtet, obwohl das Smartphone (1) zwischenzeitlich vom Benutzer um mehr als 40 Grad weitergedreht (110) worden ist. Die Rotion der Lasche (55) erfolgt um den Drehpunkt (53) bzw. um das Zentrum des animierten Kreises (56). Um zu erreichen, dass die Lasche (55) stets horizontal ausgerichtet ist bzw. entsprechend der Ausgangslage bei Kontakt-Beginn (27) ausgerichtet ist, wird die Lasche (55) stets um den entgegengesetzten Winkel rotiert, um den der Benutzer das Smartphone (1) dreht, wodurch sich die beiden Drehwinkel kompensieren. Sobald der Touchscreen (2) zum Zeitpunkt t6 das Kontakt-Ende (28) des Zeigefingers (101) und ggf. von weiteren Fingern (101, 103) meldet, wird der animierte Kreis (56) und die Lasche (55) mit dem Zahlenwert (54) ausgeblendet, und es wird ein passendes Benutzereingabe-Ereignis „Ende Drehstellen” (60) ausgelöst. Der Zahlenwert (54) und/oder die Differenz aus dem Startwert und dem finalen Wert des Drehwinkels „yaw” (19) zum Zeitpunkt t6 kann als Parameter übergeben werden. Die Geste ist abgeschlossen, und es werden keine weiteren „Drehstellen Delta”-Ereignisse (59) ausgelöst.
-
20 zeigt zwei verschiedene Darstellungsformen und Anwendungszwecke der Geste „Drehstellen” als Beispiel. Insgesamt befinden sich auf dem Touchscreen (2) vier unabhängige Steuerelemente, die die Geste „Drehstellen” unterstützen, davon zwei Farbauswahl-Kreise (61) und zwei Drehregler (64). Der erste Farbauswahl-Kreis (61) auf der rechten Seite, beschriftet mit „Color 1”, zeigt eine eingestellte Farbe (62) an. Der Benutzer kann die Farbe (62) oder den Farbton verändern bzw. einstellen, indem er mit dem Finger (101) den Farbauswahl-Kreis (61) berührt und dann das Smartphone (1) entsprechend der Geste „Drehstellen” dreht. Dieser Vorgang wird in 20 bei dem zweiten Farbauswahl-Kreis „Color 2” (61) auf der linken Seite, demonstriert: Durch das Rotieren (110) des Smartphones (1) ändert sich die Größe des animierten Kreises (56), sowie die Farbe (63) bzw. der Farbton des Kreises (56). Sobald der Benutzer mit der aktuellen Farbe (63) bzw. dem aktuellen Farbton zufrieden ist, entfernt er den oder die Finger (101) vom Touchscreen (2), und die neue Farbe (63) bzw. der neue Farbton wird in das Innere des Farbauswahl-Kreises „Color 2” (61) übernommen. Des weiteren zeigt 20 zwei Drehregler (64) mit der Beschriftung „Mix 1” und „Mix 2”, deren Zeiger in unterschiedliche Richtungen eingestellt sind. Mit einem Drehregler (64) kann der Benutzer quasi-analoge Werte einstellen, indem er den Drehregler (64) mit dem Finger (101) berührt und die Geste „Drehstellen” ausführt. Die vielfältigen Anwendungsmöglichkeiten reichen von der Lautstärke-Regelung über die Einstellung der Bildschirmhelligkeit bis hin zum Einstellen vom Mischverhältnissen.
-
In einer möglichen Ausführungsform verfügt die neue Geste „Drehstellen” über einen „Überdrehschutz”. Dies ist in 21 dargestellt: Zum Zeitpunkt t1 wird hier als einstellbarer Wert (54) eine Prozentzahl verstellt. Diese Zahl ist auf der Lasche (55) dargestellt. In diesem Beispiel lässt sich der einstellbare Prozent-Wert im Wertebereich von „0%” bis „100%” ändern. Durch die Rotation (110) des Smartphones (1) im Uhrzeigersinn ist zum Zeitpunkt t2 mit „100%” der größtmögliche Wert erreicht, und es erfolgt der „Anschlag”. Zur Visualisierung des „Anschlags” dreht sich ab diesem Zeitpunkt t2 der gesamte dargestellte Bildschirminhalt (65) in der Art und Weise im Touchscreen-Display (2), dass die Ausrichtung (66), in 21 dargestellt durch eine strichlierte Linie, vom Zeitpunkt t2 beibehalten bleibt, während der Benutzer das Smartphone (1) weiterhin im Uhrzeigersinn dreht. Auch der animierte Kreis (56) um den Kontaktpunkt auf dem Touchscreen (2) wird ab dem Zeitpunkt t2 nicht größer, während das Smartphone (1) weiterhin im Uhrzeigersinn gedreht wird. Beispielsweise zeigt 21 zum Zeitpunkt t3, wie sich der Bildschirminhalt (65) im Display gedreht hat, damit die Ausrichtung (66) trotz fortgesetztem Drehens (110) um die Z-Achse beibehalten wird. Die Rotation des Bildschirminhalts (65) erfolgt um den Drehpunkt (53) bzw. um das Zentrum des animierten Kreises (56). Um zu erreichen, dass der Bildschirminhalt (65) die Ausrichtung (66) beibehält, wird der Bildschirminhalt (65) stets um den entgegengesetzten Winkel rotiert um den der Benutzer das Smartphone (1) dreht, wodurch sich die beiden Drehwinkel kompensieren. Durch die Rotation des gesamten Bildschirminhalts (65) verschwinden die Ecken des Bildschirminhalts (65) an den Rändern des Touchscreens (2). Diese Rotation verdeutlicht dem Benutzer auf auffällige und intuitive Art und Weise, dass er das Ende des einstellbaren Bereichs erreicht hat, da der Bildschirminhalt (65) anfängt mitzudrehen. Der Zeitpunkt t4 zeigt, wie die Ausrichtung (66) des Bildschirminhalts (65) beibehalten wird, wenn der Benutzer das Smartphone (1) ungeachtet des „Anschlags” weiterhin im Uhrzeigersinn dreht. Sobald der Benutzer zum Zeitpunkt t3 oder t4 den Finger (101) bzw. die Finger vom Touchscreen (2) entfernt, rotiert der gesamte Bildschirminhalt (65) wieder zurück in die Ausgangsposition, also in die normale Darstellung entsprechend dem Zeitpunkt t1 oder t2. Die animierte Rotation des Bildschirminhalts (65) zurück in die Ausgangsposition erfolgt weich und geschmeidig, so dass beim Benutzer die Assoziation eines gedämpften Drehfeder-Systems entsteht. Dementsprechend kann die Physik eines gedämpften Drehfeder-Systems als mathematische Grundlage für die Berechnung der Animation dienen. Die Geste „Drehstellen” ist nun abgeschlossen, und als eingestellter Wert ist eine der beiden Bereichsgrenzen des Einstellungsbereichs eingegeben worden, je nachdem, ob der obere oder der untere „Anschlag” überschritten worden ist. Im Beispiel gemäß 21 ist der obere „Anschlag” überschritten worden, und dementsprechend ist nach dem Entfernen des Fingers (101) bzw. der Finger der final eingestellte Wert „100%”. Alternativ zum Loslassen des Fingers (101) vom Touchscreens (2) zum Zeitpunkt t3 oder t4 kann der Benutzer das Smartphone (1) auch wieder zurückdrehen, bis er den „Anschlag” unterschreitet und sich wieder im Einstellungsbereich befindet. Im Beispiel gemäß 21 ist dies eine Rotation im Gegenuhrzeigersinn. Der Bildschirminhalt (65) dreht sich während der Rotation im Gegenuhrzeigersinn wieder zurück in seine Ausgangsposition. Nach dem Unterschreiten des „Anschlags” ist es wieder möglich, einen Wert innerhalb des Einstellbereichs einzustellen, beispielsweise „98%”. Wenn der Finger (101) jetzt vom Touchscreen (2) gelöst wird, erfolgt keine animierte Rotation des Bildschirminhalts (65), da sich der Bildschirminhalt (65) bereits in der Ausgangsposition befindet.
-
Bei den bisher beschriebenen Ausführungsformen zur Geste „Drehstellen” gibt es einen direkten Zusammenhang zwischen dem einstellbaren Wert (54) und der Drehwinkel-Differenz, also dem Winkel um den das Smartphone (1) vom Benutzer gedreht wird. Der Zusammenhang kann beispielsweise proportional oder exponentiell ausgeführt sein.
-
In einer anderen Ausführungsform steuert der Benutzer mit der Geste „Drehstellen” die Geschwindigkeit, mit der sich ein einstellbarer Wert (54) ändert: Bei Kontakt-Beginn (27) des Fingers (101) auf dem zuständigen Steuerelement (26), welches diese Ausführungsform der Geste „Drehstellen” unterstützt, ändert sich der einstellbare Wert (54) zunächst nicht, da sich die Drehsteuerung in der Neutralposition befindet. Sobald das Smartphone (1) nun in die erste Richtung gedreht wird, fängt der einstellbare Wert (54) an, sich fortlaufend zu erhöhen, und zwar um so schneller, je mehr der Benutzer das Smartphone (1) in die erste Richtung dreht. Wird das Smartphone (1) nun wieder in die Neutralposition bzw. Ausgangsposition zurückgedreht, also in die Winkelposition, die das Smartphone (1) bei Kontakt-Beginn (27) inne hatte, so ändert sich der einstellbare Wert (54) nicht mehr. Wird das Smartphone (1) nun in die entgegengesetzte Richtung gedreht, so verringert sich der einstellbare Wert (54) fortlaufend, und zwar um so schneller, je mehr das Smartphone (1) in die entgegengesetzte Richtung gedreht wird. Sobald das Kontakt-Ende (28) des Fingers (101) auf dem Touchscreen (2) erkannt wird, ändert sich der einstellbare Wert (54) nicht mehr, und zwar gleichgültig, ob zu diesem Zeitpunkt das Smartphone (1) nach rechts oder nach links gedreht ist oder sich in der Neutralposition befindet.
-
Die neuen Gesten „Wegbewegen”, „Hinbewegen”, „Inverses Tippen”, „Entlangziehen”, „Abstoppen”, „Wegziehen” und „Drehstellen” sowie weitere Varianten lassen sich nicht nur auf die beschriebene Art und Weise bedienen und von der Steuerungs- und Analyseeinheit (12) erkennen. Abweichend von den dargestellten Beispielen, lässt sich beispielsweise auch ein anderer Finger, der oder die Daumen oder die jeweils andere Hand für die Eingabe verwenden. Ebenso kann ein Stift, beispielsweise ein kapazitiver Eingabestift (111) oder ein anderes Eingabeobjekt, zur Eingabe der neuen Gesten verwendet werden. Die neuen Gesten lassen sich auch mit angezogenen Handschuhen durchführen, wenn die Handschuhe vom verwendeten Touchscreen (2) unterstützt werden. Selbiges gilt auch für Touchscreens (2), die einen nahe über dem Display schwebenden Finger (101) erkennen können und somit eine berührungslose Touchscreen-Eingabe ermöglichen. Die neuen Gesten und mögliche Varianten sowie klassische Gesten lassen sich auch zu weiteren neuen Gesten kombinieren, indem die Abläufe von zwei oder mehreren neuen Gesten hintereinander oder gleichzeitig ausgeführt werden. Beispielsweise kann analog zu einem klassischen Doppelklick eine neue Geste „Inverses Doppeltippen” eingeführt werden, indem die Geste Inverses Tippen” zweimal kurz hintereinander ausgeführt wird. In den Abbildungen und in der Beschreibung zu den neuen Gesten wird in der Regel der übliche Fall betrachtet, bei dem das Smartphone (1) bzw. der Touchscreen (2) horizontal oder leicht schräg gehalten wird, wobei der Benutzer von oben auf den Touchscreen (2) schaut. Alle neuen Gesten, sowie weitere Varianten, lassen sich aber auch in beliebigen anderen Körperlagen mit einer entsprechend anderen räumlichen Ausrichtung durchführen und erkennen, beispielsweise wenn ein Benutzer auf dem Rücken liegt, wodurch der Touchscreen (2) nach unten zeigt oder wenn ein Benutzer auf der Seite liegt oder sich womöglich in der Schwerelosigkeit befindet. Die Beschreibung zu den einzelnen Gesten-Abläufen aus der Sicht des Benutzers ist in solchen Fällen sinngemäß an die abweichende Raumlage anzupassen. Aus der Sicht der Steuerungs- und Analyseeinheit (12) gibt es keinen prinzipiellen Unterschied bei der Erkennung der neuen Gesten, da der Schwerkraftanteil herausgefiltert wird.
-
Bei den neuen Gesten wird nach dem Touchscreen-Ereignis „Kontakt-Beginn” (27) durch die Steuerungs- und Analyseeinheit (12) geprüft, ob der Kontaktpunkt auf einem Steuerelement (26) liegt, das die jeweilige neue Geste unterstützt bzw. akzeptiert und eine Auswertung bzw. Erkennung der neuen Geste somit relevant ist. Es ist auch möglich, dass die gesamte Fläche des Touchscreens (2) eine oder mehrere der neuen Gesten unterstützt. Dies bedeutet, dass der gesamte Touchscreen (2) für die Erkennung neuer Gesten relevant ist und/oder dass sich das betrachtete Steuerelement (26) über den gesamten Touchscreen (2) erstreckt. Diese Vorgehensweise ist unter anderem geeignet, um mit den neuen Gesten System-Funktionen zu bedienen, die nicht an die aktuelle Darstellung auf dem Bildschirm gebunden sind, beispielsweise eine globale Lautstärke-Regelung, eine globale Zurück-Funktion, eine Such-Funktion oder eine Funktion zur Rückkehr zum Startbildschirm. Da die neuen Gesten gleichzeitig mit konventionellen Gesten eingesetzt werden können, und die Steuerungs- und Analyseeinheit (12) diese voneinander unterscheiden kann, ist es möglich, dass auf separate Tasten bzw. Taster verzichtet werden kann, beispielsweise auf mechanische Taster für „Zurück”, „Suche” und „Home” (Startbildschirm). Durch den Verzicht auf separate Tasten kann das Smartphone (1) kleiner werden oder der Touchscreen (2) größer.
-
Die neuen Gesten können auch mit mehreren Fingern gleichzeitig ausgeführt werden und zwar in der Art, dass bei Kontakt-Beginn (27), Kontakt-Ende (28) und/oder während des „Wischens” („Drag”-Geste) über den Touchscreen (2) vom Touchscreen (2) mehrere Kontaktpunkte erkannt werden. Je nach Anzahl der erkannten Kontaktpunkte können dann unterschiedliche Benutzereingabe-Ereignisse ausgelöst werden bzw. unterschiedliche Funktionen oder Aufgaben vom Anwendungsprogramm („App”) ausgeführt wenden. Beispielsweise kann die Geste „Inverses Tippen”, ausgeführt mit einem Finger (101), in einer noch nicht geöffneten Dropdown-Liste den ersten Eintrag auswählen, ausgeführt mit zwei Fingern den zweiten Eintrag und mit drei Fingern entsprechend den dritten Eintrag auswählen, usw. Ein anderes Beispiel ist ein Webbrowser, der die Geste „Wegbewegen” an einer beliebigen Stelle auf der Webseite erkennt: Analog zu der bekannten „Zurück”-Schaltfläche gelangt man durch die Geste „Wegbewegen”, ausgeführt mit einem Finger (101), zur letzten aufgerufenen Webseite zurück; die Geste „Wegbewegen”, ausgeführt mit zwei Fingern, führt zur vorletzten Webseite aus dem Browserverlauf zurück, usw.
-
22 zeigt eine weitere Ausführungsform als Programmablaufplan (Flussdiagramm). Der Programmablaufplan veranschaulicht die Funktionsweise eines Steuerelements (26), welches die neuen Gesten „Wegbewegen”, „Hinbewegen”, „Inverses Tippen” „Entlangziehen”, „Abstoppen”, „Wegziehen” und „Drehstellen” gleichzeitig als Eingabe akzeptiert bzw. diese neuen Gesten an der selben Stelle auf dem Touchscreen (2) unterstützt. Die Bedeutung der Konstanten, Variablen und Funktionen im Programmablaufplan ist wie folgt definiert:
- – „Beschleunigung(t)” ermöglicht den Zugriff auf einen Speicherbereich, beispielsweise ein Array, welcher die Schwerkraft-bereinigten Beschleunigungswerte (16) enthält.
- – „Geschwindigkeit(t)” ermöglicht den Zugriff auf einen Speicherbereich, beispielsweise ein Array, welcher die Geschwindigkeitswerte (17) enthält.
- – „Position(t)” ermöglicht den Zugriff auf einen Speicherbereich, beispielsweise ein Array, welcher die Positionsverschiebung (18) enthält.
- – „GetTime()” repräsentiert eine Betriebssystem-Funktion, welche die Systemzeit eines Zeitgebers (15) in ausreichend hoher Auflösung zur Verfügung stellt.
- – „GetTouchscreenContactPointCount()” repräsentiert eine Betriebssystem-Funktion, welche die Anzahl der momentan vorhandenen bzw. erkannten Kontaktpunkte auf dem Touchscreen (2) mitteilt.
- – „GetYaw()” repräsentiert eine System-Funktion, welche den absoluten Drehwinkel um die Z-Achse (19), ermittelt von der kombinierten Bewegungsanalyse (10), zur Verfügung stellt.
- – Die Konstante „DeltaT” ist der zeitliche Versatz (31).
- – Die mit „Schwellwert” beginnenden Konstanten sind die jeweiligen Schwellwerte für Beschleunigung, Geschwindigkeit und Rotation (22, 23, 24, 25).
- – Die Funktion „Betrag()” berechnet den Betrag eines Vektors.
- – Die Funktion „Abs()” den Absolutwert eines Skalars.
- – Die Funktion „Antiparallel()” prüft, ob zwei Vektoren näherungsweise in die entgegengesetzte Richtung zeigen und antwortet mit „True”, wenn dies der Fall ist, sonst mit „False”.
- – „DeltaVektor” ist der vom Touchscreen-Ereignis „Drag” oder „Drag Delta” (41, 42) gemeldete Delta-Vektor (49).
- – „FlickRichtungsvektor” ist die vom Touchscreen-Ereignis „Flick” (43) gemeldete „Flick”-Richtung (52).
- – „Integrator” sind die Integratoren (13, 14) für Geschwindigkeit und Positionsverschiebung.
- – Die Variable „Stellwert” ist der einstellbare Zahlenwert (54) der Geste „Drehstellen”.
- – Die Funktion „Bereichsumrechnung()” ist zuständig für die Umrechnung des Drehwinkels in den Stellwert, wobei „Faktor” das Umrechnungsverhältnis beeinflusst.
-
Im Programmablaufplan gemäß 22 läuft die Erkennung und Unterscheidung der genannten neuen Gesten sowie der konventionellen Touchscreen-Gesten „Kontakt-Beginn”, „Kontakt-Ende”, „Drag” und „Flick” wie folgt ab: Nach einem relevanten „Kontakt-Beginn” (201, 203) wird der Beschleunigungsverlauf im Puffer verarbeitet (206, 207). Je nachdem ob als nächstes ein Touchscreen-Ereignis „Kontakt-Ende” (208), ein Touchscreen-Ereignis „Drag” (209) oder eine Rotation um die Z-Achse (210) vorliegt, verzweigt das Programm nun in die Bereiche, die für die Erkennung des jeweiligen Gesten-Typs zuständig sind. Bei der durch das „Kontakt-Ende” ausgelösten Verzweigung (208) wird anhand der Kriterien (214, 220, 224) geprüft, ob die Geste „Wegbewegen”, „Hinbewegen” oder „Inverses Tippen” vorliegt, und ein entsprechendes Benutzereingabe-Ereignis ausgegeben (219, 223, 227). Treffen die Kriterien nicht zu, so wird das konventionelle „Kontakt-Ende” (28) als Benutzereingabe-Ereignis ausgegeben bzw. durchgereicht (232). Bei der durch das „Drag”-Ereignis ausgelösten Verzweigung (209) wird anhand der Kriterien (237, 239, 241, 244, 246) geprüft, ob die Geste „Entlangziehen”, „Abstoppen” oder „Wegziehen” vorliegt, und ein entsprechendes Benutzereingabe-Ereignis ausgegeben (242, 247, 256). Nach der durch eine Rotation um die Z-Achse ausgelösten Verzweigung (210) wird das Benutzereingabe-Ereignis „Beginn Drehstellen” ausgegeben (258), und die Geste wird in einer Schleife verarbeitet: Es wird nun regelmäßig das Ereignis „Drehstellen Delta” ausgegeben (260), des weiteren wird ein animierter Kreis (56) auf dem Touchscreen (2) dargestellt (262) und die Lasche (55) wird rotiert und zusammen mit dem Stellwert ebenfalls auf dem Touchscreen (2) dargestellt (263, 266). Der Kehrwert der Kontaktpunktanzahl von „GetTouchscreenContactPointCount()” wird als Faktor verwendet (264), um bei der Bereichsumrechnung (265) eine Feineinstellung zu erreichen, sobald mehrere Finger den Touchscreen (2) berühren. Sobald der Stellwert seinen maximal oder minimal zulässigen Wert erreicht, wird der zu diesem Zeitpunkt vorhandene Drehwinkel per „GetYaw()” als „Winkelanschlag” gespeichert (267, 268) und bei einem weiteren Überschreiten dieses „Anschlags” wird der Bildschirminhalt (65) um das Winkelmaß gedreht, welches den „Winkelanschlag” überschreitet (269, 270, 271). Nach dem Touchscreen-Ereignis „Kontakt-Ende” wird die Schleife verlassen (272), das Ereignis „Ende Drehstellen” ausgegeben (273) und im Bedarfsfall der Bildschirminhalt zurückgedreht (275, 276).
-
Weitere Optimierungen sind möglich: Um Energie und Rechenzeit zu sparen, ist das kontinuierliche Zwischenspeichern der Beschleunigungswerte (16) im Puffer (11) nicht notwendig, wenn die aktuelle Darstellung auf den Touchscreen (2) nur konventionelle Steuerelemente (26) enthält. In diesem Fall kann das Puffern sofort deaktiviert werden. Sobald nach einem Seitenwechsel bzw. nach einer Änderung der Darstellung auf dem Touchscreen (2) mindestens ein Steuerelement (26) vorhanden ist, welches die Geste „Hinbewegen”, „Inverses Tippen” „Entlangziehen” und/oder „Abstoppen” als Eingabe akzeptiert, so wird in diesem Augenblick das Puffern wieder aktiviert. Solange hingegen lediglich Steuerelemente (26) auf dem Touchscreen (2) dargestellt werden, die neben konventionellen Gesten die neuen Gesten „Wegbewegen”, „Wegziehen” und/oder „Drehstellen” als Eingabe akzeptieren, so kann das Puffern der Beschleunigungswerte (16) deaktiviert bleiben bzw. deaktiviert wenden, da diese Gesten keine Informationen über den Beschleunigungsverlauf (16) benötigen, der sich vor dem Kontakt-Beginn (27) ereignet hat. 23 zeigt ein Beispiel für eine Darstellung auf dem Touchscreen (2), welche die folgenden Steuerelemente (26) enthält:
- – Eine Bildschirmtastatur (32), welche mit der Hilfe der neuen Geste „Wegbewegen” die Eingabe von Großbuchstaben erlaubt.
- – Ein Farbauswahl-Kreis (67, 62), welcher mit der Hilfe der neuen Geste „Drehstellen” die Einstellung der Schriftfarbe ermöglicht.
- – Zwei Drehregler (68, 69) zum Einstellen der Schriftgröße und des Schrifttyps, ebenfalls per Geste „Drehstellen”.
- – Eine Text-Box (70), deren Textinhalt sich per „Drag”-Geste scrollen lässt und die außerdem die neue Geste „Wegziehen” als Eingabe akzeptiert: Wird die Geste „Wegziehen” von der Text-Box (70) als Eingabe erkannt, so springt der Textinhalt zum nächsten Kapitel „Chapter 2” und/oder zum nächsten Absatz und/oder an das Ende oder an den Anfang des Textes.
-
Im Beispiel gemäß 23 ist das Zwischenspeichern der Beschleunigungswerte (16) in einem Puffer (11) nicht notwendig, da alle dargestellten Steuerelemente (26) keine Informationen über den zurückliegenden Beschleunigungsverlauf (16) benötigen. Der Verlauf der Beschleunigung (16) bzw. der Rotation (19) wird erst ab dem Zeitpunkt des Kontakt-Beginns (27) ausgewertet. Im Fall der Bildschirmtastatur (32) welche die Geste „Wegbewegen” als Eingabe akzeptiert, entfällt die Prüfung der Kriterien zum Zeitpunkt t1 gemäß 4, da es keinen Unterscheidungsbedarf bzw. keine Verwechslungsgefahr mit den Gesten „Hinbewegen” und „inverses Tippen” gibt, welche gemäß dem Beispiel aus 23 nicht auf dem Touchscreen (2) vorhanden sind. Die Prüfung der Kriterien zum Zeitpunkt t4 gemäß 4 ist ausreichend. Analog zum Puffer (11) kann auch die kombinierte Bewegungsanalyse (10) nur im Bedarfsfall aktiv sein.
-
Weitere Ausführungsformen sind möglich. Wenn beispielsweise nur eine Erkennung der neuen Gesten „Wegbewegen”, „Hinbewegen” und „Inverses Tippen” benötigt wird, so kann auf das Gyroskop (4), auf den Magnetometer (5) sowie auf den Puffer (11) und die zwei Integratoren (13, 14) verzichtet werden. Die genannten drei Gesten werden dann ausschließlich anhand der geglätteten Beschleunigungskurve (16) erkannt. Das Blockdiagramm in 24 zeigt diese Ausführungsform: Mit Hilfe eines Tiefpass-Filters (71) wird der Schwerkraftanteil kontinuierlich aus den Messdaten des Beschleunigungssensors (3) extrahiert. Per Vektorsubtraktion (72) dieses Schwerkraftanteils von den aktuellen Messdaten des Beschleunigungssensors (3) erhält man näherungsweise die reinen Beschleunigungswerte, die durch das Bewegen des Smartphones (1) durch den Benutzer entstehen. Ein nachgeschalteter Hochpass-Filter (73) verbessert das Ergebnis. Die Aufgabe der zentralen Steuerungs- und Analyseeinheit (12) ist es, bei einer Benutzereingabe zu erkennen, ob eine der drei Gesten „Wegbewegen”, „Hinbewegen” oder „Inverses Tippen” vorliegt oder ob es sich um eine konventionelle Geste handelt. Dazu wertet die Steuerungs- und Analyseeinheit (12) den aktuellen Beschleunigungswert aus, der im Augenblick der beiden Touchscreen-Ereignisse „Kontakt-Beginn” (27) und „Kontakt-Ende” (28) vorliegt. Wenn im Zeitraum des Kontakt-Beginns (27) und/oder des Kontakt-Endes (28) eine signifikante positive bzw. negative Beschleunigung in Richtung der Z-Achse gemessen wird, so liegt eine der drei genannten neuen Gesten vor, und es wird das zugehörige Benutzereingabe-Ereignis (21) ausgelöst. Anderenfalls wird das konventionelle Touchscreen-Ereignis (20) als Benutzereingabe-Ereignis (21) durchgereicht. Am Beispiel der Geste „inverses Tippen” gemäß 11 erfolgt die Erkennung wie folgt: Es wird ein „Kontakt-Beginn” (27) auf dem Touchscreen (2) zum Zeitpunkt t2 registriert und als Benutzereingabe-Ereignis (21) weitergeleitet. Wenn die Position auf dem Touchscreen (2) relevant ist, so wird nun die geglättete Beschleunigung (16) ausgewertet: Das erste Kriterium für die Einstufung der Benutzereingabe als Geste „Inverses Tippen” ist, dass eine relativ starke Bremsbeschleunigung (16) im Zeitraum um t2 bei „Kontakt-Beginn” (27) vorliegt. Diese Bremsbeschleunigung (16) muss in die negative Z-Richtung gerichtet sein. Bei „Kontakt-Ende” (28) wird die vorliegende Beschleunigung (16) erneut ausgewertet. Das zweite Kriterium ist, dass kurz nach dem Zeitpunkt t3 abermals eine signifikante Beschleunigung des Smartphones (1) in die negative Z-Richtung auftritt. Wenn das erste und das zweite Kriterium erfüllt sind, wird kurz nach dem Zeitpunkt t3 das Benutzereingabe-Ereignis „Geste Inverses Tippen” (39) ausgelöst. Anderenfalls liegt nicht die Geste „Inverses Tippen” vor. Da in der Ausführungsform gemäß 24 auf die Integratoren (13, 14) verzichtet wird und somit keine Positionsinformationen verfügbar sind, kann kein Abstand (7, 8) zwischen Anfang bzw. Ende der Geste und Kontakt-Beginn bzw. Kontakt-Ende ermittelt werden. Diese Ausführungsform gemäß 24 zeigt exemplarisch, dass die Steuerungs- und Analyseeinheit (12) oder ein vergleichbares System die neuen Gesten an unterschiedlichen Merkmalen erkennen kann: Insbesondere nicht nur am Verlauf der Geschwindigkeit (17), sondern beispielsweise auch an der Beschleunigung (16) und/oder an der Positionsverschiebung (18).
-
Wenn die Erkennung der neuen Gesten direkt über den Verlauf der Beschleunigung (16) erfolgt, so können Ressourcen geschont werden, da die Berechnung der Geschwindigkeitskurve (17) per Integration eingespart werden kann. Die direkte Auswertung der Schwerkraft-bereinigten Beschleunigungskurve (16) kann beispielsweise erfolgen, indem geprüft wird, inwiefern eine charakteristische Messwertkurve vorliegt, welche sich dadurch auszeichnet, dass zunächst eine positive Beschleunigung signifikanter Größe in die erforderliche Richtung erfolgt und nach einer signifikanten Zeitspanne, eine entgegengesetzte, negative Beschleunigung signifikanter Größe erfolgt. Für die signifikanten Beschleunigungswerte und die signifikante Zeitspanne werden geeignete Schranken in Relation zu dem weitestgehend ruhig gehaltenen Gerät (1) festgelegt. Deren Einhaltung wird dann als Entscheidungskriterium herangezogen. Des weiteren können die genannten Kurvenverläufe (16, 17, 18) auch mit anderen Analysemethoden untersucht werden, insbesondere ohne die Prüfung von Schwellwerten zu festgelegten Zeitpunkten, beispielsweise per Mittelwertbildung oder mit Hilfe von statistischen Methoden. Werden Schwellwerte als Kriterium und/oder als Bestandteil der Analysemethode verwendet, so können diese pro Fall und Geste individuell festgelegt werden, insbesondere auch mit unterschiedlicher Größe je nach Vorzeichen der Beschleunigung (16), Geschwindigkeit (17) und/oder Positionsverschiebung (18). Werden bestimmte Eigenschaften von Messwerten zu festgelegten Zeitpunkten geprüft, so können diese Zeitpunkte pro Fall und Geste individuell festgelegt werden. Beispielsweise kann der zeitliche Versatz „Delta t” (31) gemäß 4, 7 und 11 unterschiedlich groß gewählt werden, je nachdem ob „Delta t” (31) verwendet wird, um den zeitlich zurückliegenden Zeitpunkt t1 zu ermitteln oder den Zeitpunkt t4. Die Schwellwerte, Zeitpunkte und/oder weitere Eigenschaften können auch adaptiv auf die Eingabecharakteristik des Benutzers angepasst wenden. Die Steuerungs- und Analyseeinheit (12) kann beispielsweise lernfähig sein und sich an die Bewegungsmuster und die Geschwindigkeit der Eingabe eines individuellen Benutzers anpassen. Das System kann aus fehlerhaften Eingaben bzw. aus falschen Schlussfolgerungen lernen und sich an beeinträchtigte Beschleunigungswerte anpassen, wie sie z. B. im Bus oder im Zug auftreten können. Diese Anpassungen können auch adaptiv je nach Tageszeit oder Wochentag erfolgen. In den Ausführungsformen gemäß 3, 22 und 24 wird ein 3-Achsen-Beschleunigungssensor (3) verwendet und je nach Ausführungsform zusätzlich ein 3-Achsen-Gyroskop (4) und ein 3-Achsen-Magnetometer (5). Es ist aber auch möglich, Beschleunigungssensoren, Gyroskope und Magnetometer zu verwenden, die weniger Achsen unterstützen. Beispielsweise reicht es für die neuen Gesten „Wegbewegen”, „Hinbewegen” und „Inverses Tippen” aus, einen einachsigen Beschleunigungssensor zu verbauen, der nur die Beschleunigungen entlang der Z-Achse des Koordinatensystems erfasst. Für die neuen Gesten „Entlangziehen”, „Abstoppen” und „Wegziehen” ist ein zweiachsiger Beschleunigungssensor ausreichend, der nur die Beschleunigungen in der X-Y Ebene erfasst. Für die neue Geste „Drehstellen” ist beispielsweise ein einachsiges Gyroskop ausreichend, welches die Rotation um die Z-Achse des Koordinatensystems erfasst. In den Ausführungsformen gemäß 3, 22 und 24 werden die neuen Gesten in ein Betriebssystem integriert, indem die Anwendungsprogramme („Apps”) per Benutzereingabe-Ereignis (21) benachrichtigt wenden, sobald eine neue Geste vom zuständigen Sub-System des Betriebssystems erkannt wird. Es ist aber auch in gleichwertiger Weise möglich, die Unterstützung der neuen Gesten in ein beliebiges Programm zu implementieren, unabhängig vom Betriebssystem. Die neuen Gesten stehen dem Anwender dann zur Verfügung, sobald er dieses Programm auf dem konventionellen Betriebssystem gestartet hat. Die Vorgehensweise bei der Implementierung der neuen Gesten in ein beliebiges Anwendungsprogramm oder in eine App entspricht den Ausführungsformen gemäß 3, 22 und 24 mit dem Unterschied, dass die Steuerungs- und Analyseeinheit (12) sowie die gesamte Software-Implementierung (9) nunmehr Bestandteil des Anwendungsprogramms sind, und dass das von der Steuerungs- und Analyseeinheit (12) ausgegebene Benutzereingabe-Ereignis (21) ein internes Signal in diesem Anwendungsprogramm darstellt, welches weitere interne Funktionen des Anwendungsprogramms auslöst oder startet, und wobei dieses interne Benutzereingabe-Ereignis (21) nicht notwendigerweise an andere Anwendungsprogramme weitergereicht wird. Je nach Funktionsweise des betrachteten Betriebssystems ist es aber auch möglich, ein konventionelles Betriebssystem mit Hilfe von geeigneten Modulen oder Treibern so zu erweitern bzw. nachzurüsten, dass die Erkennung der neuen Gesten allen auf dem System laufenden Anwendungsprogrammen zur Verfügung steht. In den vorliegenden Abbildungen 1 bis 24 und in den Beschreibungen zu den verschiedenen Ausführungsformen werden die neuen Gesten anhand eines Smartphones (1) beschrieben. In weiteren Ausführungsformen kann aber auch ein anderes tragbares, bewegliches, elektronisches Gerät verwendet werden, beispielsweise ein mobiles Telefon, ein Tablett-Computer, ein Gamepad, eine bewegliche Tastatur mit integrierten Sensoren, eine Armbanduhr mit Touchscreen oder ein in die Kleidung integriertes Gerät mit Touchscreen.
-
Bezugszeichenliste
-
- 1
- Smartphone (Gerät mit Touchscreen)
- 2
- Touchscreen (Display mit integriertem Touch-Sensor)
- 3
- Beschleunigungssensor (3-achsig)
- 4
- Gyroskop (3-achsig)
- 5
- Magnetometer (3-achsig)
- 6
- Definition des Koordinaten-Systems
- 7
- Durch die Geste bewirkter Abstand als zurückgelegte Strecke zwischen Zeitpunkt t3 und t5
- 8
- Durch die Geste bewirkter Abstand als zurückgelegte Strecke zwischen Zeitpunkt t0 und t2
- 9
- Hardwareschaltung oder Software-Implementierung
- 10
- Kombinierte Bewegungsanalyse (Combined Motion, Augmented Sensor data)
- 11
- Puffer für Beschleunigungswerte
- 12
- Steuerungs- und Analyseeinheit
- 13
- Integrator: Berechnung der Geschwindigkeit
- 14
- Integrator: Berechnung der Positionsverschiebung
- 15
- Zeitgeber
- 16
- Beschleunigungswerte ohne Schwerkraftanteil (mit X, Y und Z-Komponenten)
- 17
- Berechnete Geschwindigkeitswerte (mit X, Y und Z-Komponenten)
- 18
- Berechnete Positionsverschiebung (mit X, Y und Z-Komponenten)
- 19
- Absoluter Drehwinkel um die Z-Achse (yaw)
- 20
- Touchscreen-Ereignis (Input)
- 21
- Benutzereingabe-Ereignis (Output)
- 22
- Schwellwert für vernachlässigbare Geschwindigkeiten
- 23
- Schwellwert für Mindestgeschwindigkeiten
- 24
- Schwellwert für Mindestbeschleunigungen
- 25
- Schwellwert für Mindestrotationen
- 26
- Steuerelement auf Touchscreen
- 27
- Ereignis: „Kontakt-Beginn” vom Touchscreen
- 28
- Ereignis: „Kontakt-Ende” vom Touchscreen
- 29
- Ereignis: „Geste Wegbewegen” erkannt
- 30
- Ereignis: Abstand als „Eingabeparameter der Geste Wegbewegen”
- 31
- Zeitlicher Versatz: „Delta t”
- 32
- Bildschirmtastatur mit Unterstützung der Geste ”Wegbewegen”
- 33
- Schreibmarke (Cursor)
- 34
- Kleinbuchstabe „d” wurde eingegeben
- 35
- Großbuchstabe „D” wurde eingegeben
- 36
- Ereignis: „Geste Hinbewegen” erkannt; Abstand als Eingabeparameter
- 37
- Landkarte im herausgezoomten Zustand
- 38
- Landkarte im hereingezoomten Zustand
- 39
- Ereignis: „Geste Inverses Tippen” erkannt
- 40
- Ereignis: Abstände als Eingabeparameter der Geste „Inverses Tippen”
- 41
- Ereignis: „Drag” vom Touchscreen (Ziehen auf dem Touchscreen)
- 42
- Ereignis: „Drag Delta” vom Touchscreen (Delta-Verschiebung)
- 43
- Ereignis: „Flick” vom Touchscreen (Ziehen und Entfernen)
- 44
- Ereignis: „Geste Entlangziehen” erkannt
- 45
- Ereignis: „Drag Abgeschlossen” vom Touchscreen (Ziehen abgeschlossen)
- 46
- Ereignis: „Geste Abstoppen” erkannt
- 47
- Ereignis: „Geste Wegziehen” erkannt
- 48
- „Wischbewegung” längs des Touchscreens mit Anfangs- und Endpunkt
- 49
- Delta-Vektor vom Ereignis „Drag” bzw. „Drag Delta”
- 50
- Beispiele für mögliche Richtungen der neuen Gesten
- 51
- „Wischbewegung” mit „Flick”-Ereignis am Rand des Touchscreens
- 52
- Vom „Flick”-Ereignis gemeldete ”Flick”-Richtung
- 53
- Drehpunkt der Geste ”Drehstellen”
- 54
- Einstellbarer Zahlenwert der Geste ”Drehstellen”
- 55
- Lasche mit einstellbarem Zahlenwert
- 56
- In der Gröle animierter Kreis um den Drehpunkt
- 57
- Drehachse der Geste ”Drehstellen”
- 58
- Ereignis: „Beginn Drehstellen”
- 59
- Ereignis: „Drehstellen Delta”
- 60
- Ereignis: „Ende Drehstellen”
- 61
- Steuerelement: Farbauswahl-Kreis
- 62
- Eingestellter Farb-Wert im Farbauswahl-Kreis
- 63
- Aktueller Farb-Wert am animierten Kreis dargestellt
- 64
- Steuerelement: Drehregler
- 65
- Bildschirminhalt des gesamten Touchscreens
- 66
- Ausrichtung des Bildschirminhalts
- 67
- Farbauswahl-Kreis zum Einstellen der Schriftfarbe
- 68
- Drehregler zum Einstellen der Schriftgröße
- 69
- Drehregler zum Einstellen des Schrifttyps
- 70
- Scrollbare Text-Box
- 71
- Tiefpass-Filter
- 72
- Subtraktion zur Elimination des Schwerkraft-Anteils
- 73
- Hochpass-Filter
- 100
- Hand die das Smartphone hält
- 101
- Zeigefinger oder anderer Finger
- 102
- Daumen
- 103
- Mittelfinger
- 104
- Bewegung des Fingers entlang der Z-Achse
- 105
- Bewegung des Smartphones in die positive Z-Richtung
- 106
- Bewegung des Smartphones in die negative Z-Richtung
- 107
- Bewegung des Daumens
- 108
- Bewegung des Fingers in der X-Y Ebene
- 109
- Bewegung des Smartphones in der X-Y Ebene
- 110
- Rotation des Smartphones um die Z-Achse
- 111
- Eingabestift
- 200
- Beschleunigungswerte als Beschleunigung(t) puffern
- 201
- Touchscreen-Ereignis „Kontakt-Beginn”?
- 202
- Ereignis „Kontakt-Beginn” ausgeben
- 203
- Position auf dem Touchscreen relevant?
- 204
- t2 = GetTime(); t1 = t2 – DeltaT;
- 205
- Vergleichswert = GetYaw();
- 206
- Integrator: Geschwindigkeit(t) aus gepufferter Beschleunigung(t) berechnen
- 207
- Kalibrieren: Geschwindigkeit(t2).xyz = (0, 0, 0);
- 208
- Touchscreen-Ereignis „Kontakt-Ende”?
- 209
- Touchscreen-Ereignis „Drag”?
- 210
- Abs(GetYaw() – Vergleichswert) > SchwellwertFürMindestrotationen?
- 211
- t3 = GetTime(); t4 = t3 + DeltaT;
- 212
- Integrator: Geschwindigkeit(t) aus Beschleunigung(t) berechnen
- 213
- GetTime() >= t4?
- 214
- (Betrag(Geschwindigkeit(t1).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (–Geschwindigkeit(t4).z > SchwellwertFürMindestgeschwindigkeiten) und (Betrag(Geschwindigkeit(t4).xy) < SchwellwertFürVernachlässigbareGeschwindigkeiten)?
- 215
- Ereignis „Geste Wegbewegen” ausgeben
- 216
- Integrator: Geschwindigkeit(t) aus Beschleunigung(t) berechnen
- 217
- Betrag(Geschwindigkeit(t).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten?
- 218
- t5 = GetTime(); Integrator: Position(t) von t3 bis t5 aus Geschwindigkeit(t) berechnen
- 219
- Ereignis mit Abstand = Position(t3) – Position(t5) ausgeben
- 220
- (Geschwindigkeit(t1).z > SchwellwertFürMindestgeschwindigkeiten) und (Betrag(Geschwindigkeit(t1).xy) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (Betrag(Geschwindigkeit(t4).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten)?
- 221
- Geschwindigkeit(t) rückwärts nach Zeitpunkt t0 durchsuchen mit der Bedingung: Betrag(Geschwindigkeit(t).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten
- 222
- Integrator: Position(t) von t0 bis t2 aus Geschwindigkeit(t) berechnen
- 223
- Ereignis „Geste Hinbewegen” mit Abstand = Position(t2) – Position(t0) ausgeben
- 224
- (Geschwindigkeit(t1).z > SchwellwertFürMindestgeschwindigkeiten) und (Betrag(Geschwindigkeit(t1).xy) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (–Geschwindigkeit(t4).z > SchwellwertFürMindestgeschwindigkeiten) und (Betrag(Geschwindigkeit(t4).xy) < SchwellwertFürVernachlässigbareGeschwindigkeiten)?
- 225
- Geschwindigkeit(t) rückwärts nach Zeitpunkt t0 durchsuchen mit der Bedingung: Betrag(Geschwindigkeit(t).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten
- 226
- Integrator: Position(t) von t0 bis t2 aus Geschwindigkeit(t) berechnen
- 227
- Ereignis „Geste Inverses Tippen” mit erstem Abstand = Position(t2) – Position(t0) ausgeben
- 228
- Integrator: Geschwindigkeit(t) aus Beschleunigung(t) berechnen
- 229
- Betrag(Geschwindigkeit(t).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten?
- 230
- t5 = GetTime(); Integrator: Position(t) von t3 bis t5 aus Geschwindigkeit(t) berechnen
- 231
- Ereignis mit zweitem Abstand = Position(t3) – Position(t5) ausgeben
- 232
- Ereignis „Kontakt-Ende” ausgeben
- 233
- t2 = GetTime();
- 234
- Gepufferte Beschleunigung(t) geglättet, Rauschen reduzieren
- 235
- Zeitpunkt t0 bestimmen: Beschleunigung(t) rückwärts nach Maximum durchsuchen mit Betrag(Beschleunigung(t).xyz) > SchwellwertFürMindestbeschleunigungen
- 236
- Integrator: Geschwindigkeit(t) von t0 bis t2 aus Beschleunigung(t) berechnen
- 237
- (Betrag(Geschwindigkeit(t2).xyz) > SchwellwertFürMindestgeschwindigkeiten) und (Abs(Geschwindigkeit(t2).z) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (Antiparallel(Geschwindigkeit(t2).xy, DeltaVektor.xy)?
- 238
- Integrator: Geschwindigkeit(t) aus Beschleunigung(t) berechnen
- 239
- Touchscreen-Ereignis „Flick”?
- 240
- t3 = GetTime();
- 241
- (Betrag(Geschwindigkeit(t3).xyz) > SchwellwertFürMindestgeschwindigkeiten) und (Abs(Geschwindigkeit(t3).z) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (Antiparallel(Geschwindigkeit(t3).xy, DeltaVektor.xy)?
- 242
- Ereignis „Geste Entlangziehen” ausgeben
- 243
- Ereignis „Geste ist ungültig” ausgeben
- 244
- Touchscreen-Ereignis „Drag Abgeschlossen”?
- 245
- t4 = GetTime();
- 246
- Betrag(Geschwindigkeit(t4).xyz) < SchwellwertFürVernachlässigbareGeschwindigkeiten?
- 247
- Ereignis „Geste Abstoppen” ausgeben
- 248
- Ereignis „Drag” ausgeben
- 249
- Touchscreen-Ereignis „Drag Delta”?
- 250
- Ereignis „Drag Delta” ausgeben
- 251
- Touchscreen-Ereignis „Flick”?
- 252
- Touchscreen-Ereignis „Drag Abgeschlossen”?
- 253
- Ereignis „Drag Abgeschlossen” ausgeben
- 254
- t4 = GetTime(); Integrator: Geschwindigkeit(t) von t2 bis t4 aus Beschleunigung(t) berechnen
- 255
- (Betrag(Geschwindigkeit(t4).xyz) > SchwellwertFürMindestgeschwindigkeiten) und (Abs(Geschwindigkeit(t4).z) < SchwellwertFürVernachlässigbareGeschwindigkeiten) und (Antiparallel(Geschwindigkeit(t4).xy, FlickRichtungsvektor.xy)?
- 256
- Ereignis „Wegziehen” ausgeben
- 257
- Ereignis Flick” ausgeben
- 258
- Ereignis „Beginn Drehstellen” ausgeben
- 259
- Startwert = GetYaw();
- 260
- Ereignis „Drehstellen Delta” ausgeben mit Parameter: Drehwinkeldifferenz = GetYaw() – Startwert;
- 261
- Drehwinkeldifferenz in Kreisdurchmesser umrechnen
- 262
- Animierten Kreis mit Kreisdurchmesser auf Touchscreen darstellen
- 263
- Lasche am Kreis um –DrehwinkelDifferenz rotieren
- 264
- Faktor = 1/GetTouchscreenContactPointCount();
- 265
- Stellwert = Bereichsumrechnung(Drehwinkeldifferenz, Faktor);
- 266
- Stellwert auf Lasche am Kreis darstellen
- 267
- Stellwert == Obere oder untere Wertebereichsgrenze?
- 268
- Winkelanschlag = GetYaw();
- 269
- Wertebereichsgrenze überschritten?
- 270
- Eingestellten Wert auf maximalen bzw. minimalen Wert begrenzen
- 271
- Bildschirminhalt rotieren um Winkel = Winkelanschlag – GetYaw();
- 272
- Touchscreen-Ereignis „Kontakt-Ende”?
- 273
- Ereignis „Ende Drehstellen” ausgeben mit Stellwert als Parameter
- 274
- Animierten Kreis und Lasche ausblenden
- 275
- Wertebereichsgrenze überschritten?
- 276
- Bildschirminhalt weich zurückdrehen
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 7671756 [0004]
- US 8125312 [0005]
- US 020110187652 [0006]
-
Zitierte Nicht-Patentliteratur
-
- URL: http://www.lukew.com/touch/ (Villamor, Craig/Willis, Dan/Wroblewski, Luke: Touch Gesture Reference Guide. Stand: 22.04.2013.) [0002]
- Goel, Mayank/Wobbrock, Jacob O./Patel, Shwetak N.: GripSense: Using Built-In Sensors to Detect Hand Posture and Pressure an Commodity Mobile Phones. Proceedings of the ACM Symposium an User Interface Software and Technology (UIST'12). Cambridge, Massachusetts (October 7–10, 2012). New York: ACM Press, pp. 545–554. URL: http://faculty.washington.edu/wobbrock/pubs/uist-12.pdf. Stand: 22.04.2013 [0006]