CN102135858A - 具有用于控制和修改手势识别的代表的手势识别器 - Google Patents

具有用于控制和修改手势识别的代表的手势识别器 Download PDF

Info

Publication number
CN102135858A
CN102135858A CN2011100631838A CN201110063183A CN102135858A CN 102135858 A CN102135858 A CN 102135858A CN 2011100631838 A CN2011100631838 A CN 2011100631838A CN 201110063183 A CN201110063183 A CN 201110063183A CN 102135858 A CN102135858 A CN 102135858A
Authority
CN
China
Prior art keywords
gesture identification
touch
identification device
gesture
representative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011100631838A
Other languages
English (en)
Other versions
CN102135858B (zh
Inventor
J·H·沙法尔
B·A·摩尔
J·C·比弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN201310557440.2A priority Critical patent/CN103558984B/zh
Priority to CN201310557439.XA priority patent/CN103558983B/zh
Priority to CN201410198170.5A priority patent/CN103955341B/zh
Publication of CN102135858A publication Critical patent/CN102135858A/zh
Application granted granted Critical
Publication of CN102135858B publication Critical patent/CN102135858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

软件应用包括多个视图和应用状态。本方法包括显示一个或多个视图,其中相应视图包括相应的手势识别器,其具有与该相应的手势识别器相对应的代表。本方法包括检测一个或多个事件以及使用相应的手势识别器处理该一个或多个事件中的相应事件。处理该相应事件包括根据与该相应的手势识别器对应的相应手势定义在该相应的手势识别器中处理该相应事件,执行对应的代表以确定一个或多个值,以及根据由该代表确定的一个或多个值,有条件地发送与该相应事件对应的信息到该软件应用。该方法包括根据从该相应的手势识别器接收的信息执行该软件应用。

Description

具有用于控制和修改手势识别的代表的手势识别器
技术领域
本申请主要涉及用户界面处理,包括但不限于用于识别手势(gesture)输入的装置和方法。
背景技术
电子设备通常包括用来与计算设备交互的用户接口。该用户接口可包括显示器和/或输入设备,例如用于与用户接口的各方面交互的键盘、鼠标和触摸敏感表面。在具有作为输入设备的触摸敏感表面的某些设备中,在特定的情况下(例如在第一应用的特定模式中),第一组基于触摸的手势(例如,以下的两个或更多个:点击、双击、水平挥击(swipe)、垂直挥击、收缩(pinch)、扩张(depinch)、两根手指的挥击)被识别为正确的输入,而在其它情况(例如不同的应用和/或第一应用中的不同模式或情况)下,别的不同的组的基于触摸的手势被识别为正确的输入。结果,识别和响应基于触摸的手势所需要的软件和逻辑可能变得复杂,并且每当更新应用或向计算设备增加新的应用时,就可能需要修订。在使用基于触摸的手势以外的输入源的用户接口中,上述及相似的问题也可能出现。
因此,希望拥有用于识别基于触摸的手势和事件以及来自其它输入源的手势和事件的全面架构或者机制,其能够容易地适用于计算设备上所有应用程序的几乎所有情况或模式,并且当更新应用或向计算设备增加新的应用时只需很少的修订或者无需修订。
发明内容
为解决上述缺陷,根据某些实施例,在电子设备处执行一种方法,该电子设备具有一个或多个事件传感器,并被配置为执行包括多个视图以及软件应用的应用状态的软件应用。该方法包括显示该多个视图中的一个或多个视图。该一个或多个显示的视图中的相应视图包括一个或多个手势识别器,且相应的手势识别器具有对应的代表(delegate)。该方法包括检测一个或多个事件,并使用相应的手势识别器处理该一个或多个事件中的相应事件。该相应事件的处理包括:根据与相应的手势识别器对应的相应手势定义在该相应的手势识别器中处理该相应事件,根据应用状态执行该相应的手势识别器的对应代表以确定一个或多个值,并且根据该相应的手势识别器处理该相应事件的结果以及根据由对应的代表决定的一个或多个值,有条件地发送与该相应事件对应的信息到软件应用。该方法进一步还包括根据从该相应的手势识别器接收的与该相应事件对应的信息执行软件应用。
根据某些实施例,一种电子设备包括:用于检测事件的一个或多个事件传感器、一个或多个处理器、存储器、以及存储在存储器中并被配置为由一个或多个处理器执行的一个或多个程序。该一个或多个程序包括具有多个视图和应用状态的软件应用。该软件应用包括用于显示该多个视图中的一个或多个视图的指令。该一个或多个显示的视图中的相应视图包括一个或多个手势识别器,并且相应的手势识别器具有对应的代表。该软件应用还包括用于检测一个或多个事件的指令以及用于使用相应的手势识别器处理检测到的事件中的相应事件的指令。用于处理相应事件的指令包括用于以下操作的指令:根据与相应的手势识别器对应的相应手势定义在该相应的手势识别器中处理该相应事件,根据应用状态执行对应的代表以确定一个或多个值,并且根据该相应的手势识别器处理该相应事件的结果以及根据由对应的代表确定的一个或多个值,有条件地发送与该相应事件对应的信息到软件应用。该软件应用进一步包括用于根据从该相应的手势识别器接收的与该相应事件对应的信息执行软件应用的指令。
根据某些实施例,一种计算机可读存储介质存储由电子设备的一个或多个处理器执行的一个或多个程序,该电子设备具有一个或多个用于检测事件的事件传感器。该一个或多个程序包括软件应用,该软件应用包括多个视图以及该软件应用的应用状态。该软件应用包括用于显示该多个视图中的一个或多个视图的指令。该一个或多个显示的视图中的相应视图包括一个或多个相应的手势识别器,且相应的手势识别器具有对应的代表。该软件应用还包括用于检测一个或多个事件的指令以及用于使用该相应的手势识别器处理检测到的事件中的相应事件的指令。用于处理相应事件的指令包括用于以下操作的指令:根据与相应的手势识别器对应的相应手势定义在该相应的手势识别器中处理该相应事件,根据应用状态执行对应的代表以确定一个或多个值,并且根据该相应的手势识别器处理该相应事件的结果以及根据该对应的代表确定的一个或多个值,有条件地将与该相应事件对应的信息发送到软件应用。该软件应用进一步包括用于根据从该相应的手势识别器接收的与该相应事件对应的信息执行软件应用的指令。
根据某些实施例,在具有触摸敏感表面并被配置为执行软件应用的电子设备处执行一种方法,该软件应用包括多个视图以及该软件应用的应用状态。该方法包括显示该多个视图中的一个或多个视图。该一个或多个显示的视图中的相应视图包括相应手势识别器。该相应手势识别器具有对应的代表。该方法还包括检测触摸敏感表面上的一个或多个触摸,每个触摸具有落入一个或多个显示的视图中的触摸位置。该方法进一步包括处理该一个或多个触摸中的相应触摸。该相应触摸的处理包括:根据应用状态执行与该相应手势识别器对应的代表以获得接收触摸值,并且当该接收触摸值满足预定义的标准时,在该相应手势识别器中处理该相应触摸。处理该相应触摸还包括有条件地向软件应用发送对应于该相应触摸的信息。该方法进一步包括根据从该相应手势识别器接收的与该相应触摸对应的信息执行软件应用。
根据某些实施例,一种电子设备包括触摸敏感表面、一个或多个处理器、存储器、以及存储在存储器中并被配置为由一个或多个处理器执行的一个或多个程序。该一个或多个程序包括具有多个视图和软件应用的应用状态的软件应用。该软件应用包括用于显示该多个视图中的一个或多个视图的指令。该一个或多个显示的视图中的相应视图包括一个或多个相应手势识别器。相应手势识别器具有对应的代表。该软件应用还包括用于检测触摸敏感表面上的一个或多个触摸的指令,每个触摸具有落入一个或多个显示的视图中的触摸位置。该软件应用还包括用于处理该一个或多个触摸中的相应触摸的指令。用于处理该相应触摸的指令包括用于以下操作的指令:根据应用状态执行与相应手势识别器对应的代表以获得接收触摸值,当该接收触摸值满足预定义的标准时,在该相应手势识别器中处理该相应触摸。用于处理该相应触摸的指令还包括用于有条件地向软件应用发送对应于该相应触摸的信息的指令。该软件应用进一步包括用于根据从该相应手势识别器接收的与该相应触摸对应的信息执行软件应用的指令。
根据某些实施例,一种计算机可读存储介质存储一个或多个程序,该程序由具有触摸敏感表面的电子设备的一个或多个处理器执行。该一个或多个程序包括软件应用,其包括多个视图以及该软件应用的应用状态。该软件应用包括用于显示该多个视图中的一个或多个视图的指令。该一个或多个显示的视图中的相应视图包括一个或多个相应手势识别器。相应手势识别器具有对应的代表。该软件应用还包括用于检测触摸敏感表面上的一个或多个触摸的指令,每个触摸具有落入一个或多个显示的视图中的触摸位置。该软件应用进一步包括用于处理该一个或多个触摸中的相应触摸的指令。用于处理该相应触摸的指令包括用于以下操作的指令:根据应用状态执行与相应手势识别器对应的代表以获得接收触摸值,以及当该接收触摸值满足预定义的标准时,在该相应手势识别器中处理该相应触摸。用于处理该相应触摸的指令还包括用于有条件地向软件应用发送对应于该相应触摸的信息的指令。该软件应用进一步包括用于根据从该相应手势识别器接收的与该相应触摸对应的信息执行软件应用的指令。
根据某些实施例,在具有触摸敏感表面并被配置为执行软件应用的电子设备处执行一种方法。该方法包括显示软件应用的一个或多个视图。该一个或多个显示的视图包括多个手势识别器。该多个手势识别器包括至少一个离散手势识别器以及至少一个连续手势识别器。离散手势识别器被配置为响应于相应手势发送单个动作消息,而连续手势识别器被配置为当根据相应的被识别手势的连续的被识别子事件发送动作消息。该方法还包括检测一个或多个触摸,并且使用一个或多个手势识别器处理每个触摸。对相应触摸的处理包括:根据与相应手势识别器对应的相应手势定义在该相应手势识别器中处理该相应触摸;以及根据在该相应手势识别器中处理该相应触摸的结果,有条件地发送一个或多个相应动作消息至软件应用。该方法进一步包括根据从一个或多个手势识别器接收到的与一个或多个触摸对应的一个或多个动作消息执行软件应用。
根据某些实施例,一种电子设备包括触摸敏感表面、一个或多个处理器、存储器、以及一个或多个存储在存储器中并被配置为由该一个或多个处理器执行的程序。该一个或多个程序包括软件应用,该软件应用包括用于显示该软件应用的一个或多个视图的指令。该一个或多个显示的视图包括多个手势识别器。该多个手势识别器包括至少一个离散手势识别器以及至少一个连续手势识别器。离散手势识别器被配置为响应于相应手势发送单个动作消息,而连续手势识别器被配置为根据相应的被识别手势的连续的被识别子事件发送动作消息。软件应用还包括用于检测一个或多个触摸并使用一个或多个手势识别器处理每个触摸的指令。用于处理相应触摸的指令包括用于以下操作的指令:根据与相应手势识别器对应的相应手势定义在该相应手势识别器中处理该相应触摸;以及根据在该相应手势识别器中处理该相应触摸的结果,有条件地发送一个或多个相应动作消息至软件应用。该软件应用进一步包括用于根据从一个或多个手势识别器中接收的与一个或多个触摸相对应的一个或多个动作消息执行软件应用的指令。
根据某些实施例,一种计算机可读存储介质存储一个或多个程序,该程序由具有触摸敏感表面的电子设备的一个或多个处理器执行。该一个或多个程序包括软件应用,该软件应用包括用于显示软件应用的一个或多个视图的指令。该一个或多个显示的视图包括多个手势识别器。该多个手势识别器包括至少一个离散手势识别器以及至少一个连续手势识别器。离散手势识别器被配置为响应于相应手势发送单个动作消息,而连续手势识别器被配置根据相应的被识别手势的连续的被识别子事件发送动作消息。该软件应用还包括用于以下操作的指令:检测一个或多个触摸,并且使用一个或多个手势识别器处理每个触摸。用于处理相应触摸的指令包括用于以下操作的指令:根据与相应手势识别器对应的相应手势定义在该相应手势识别器中处理相应触摸;以及根据在该相应手势识别器中处理该相应触摸的结果有条件地发送一个或多个相应动作消息至软件应用。该软件应用进一步包括用于根据从一个或多个手势识别器接收的与一个或多个触摸相对应的一个或多个动作消息执行软件应用的指令。
根据某些实施例,一种电子设备包括一个或多个被配置为感测一个或多个事件的事件感测单元,以及与该一个或多个事件感测单元耦合的处理单元。该处理单元被配置为:执行包括多个视图和软件应用的应用状态的软件应用,并启用该多个视图中的一个或多个视图的显示。该一个或多个显示的视图中的相应视图包括一个或多个相应手势识别器,并且相应手势识别器具有对应的代表。该处理单元被配置为检测由一个或多个事件感测单元感测的一个或多个事件,并通过以下操作使用相应手势识别器处理该一个或多个事件中的相应事件:根据与相应手势识别器对应的相应手势定义在该相应手势识别器中处理该相应事件;根据应用状态执行对应的代表以确定一个或多个值;根据该相应手势识别器处理该相应事件的结果,以及根据由对应的代表确定的一个或多个值,有条件地将对应于该相应事件的信息发送到软件应用。该处理单元被配置为根据从相应手势识别器接收的与该相应事件对应的信息执行软件应用。
根据某些实施例,一种电子设备包括被配置为接收一个或多个触摸的触摸敏感表面单元,以及与该触摸敏感表面单元相耦合的处理单元。该处理单元被配置为:执行软件应用,该软件应用包括多个视图以及该软件应用的应用状态,并启用该多个视图中的一个或多个视图的显示。该一个或多个显示的视图中的相应视图包括一个或多个相应手势识别器,相应手势识别器具有对应的代表。该处理单元被配置为检测在该触摸敏感表面单元上接收到的一个或多个触摸。该一个或多个触摸中的每一个具有落入一个或多个显示的视图中的触摸位置。该处理单元被配置为通过以下操作处理该一个或多个触摸中的相应触摸:根据应用状态执行与相应手势识别器相对应的代表以获得接收触摸值,当该接收触摸值满足预定义的标准时,在该相应手势识别器中处理该相应触摸,并有条件地发送与该相应触摸对应的信息到软件应用。该处理单元被配置为根据从该相应手势识别器接收的与该相应触摸对应的信息执行软件应用。
根据某些实施例,一种电子设备包括被配置为接收一个或多个触摸的触摸敏感表面单元,以及与该触摸敏感表面单元相耦合的处理单元。该处理单元被配置为:执行软件应用,并启用该软件应用中的一个或多个视图的显示。该一个或多个显示的视图包括多个手势识别器,并且该多个手势识别器包括:至少一个离散手势识别器和至少一个连续手势识别器。离散手势识别器被配置为响应于相应手势发送单个动作消息,而连续手势识别器被配置为根据相应的被识别手势的连续的被识别子事件发送动作消息。该处理单元被配置为检测在触摸敏感表面单元上接收到的一个或多个触摸,并使用一个或多个手势识别器处理各个触摸。该处理单元被配置为通过以下操作处理相应触摸:根据与相应手势识别器对应的相应手势定义在该相应手势识别器中处理该相应触摸,以及根据在该相应手势识别器中处理该相应触摸的结果,有条件地发送一个或多个相应的动作消息到软件应用。该处理单元被配置为根据从一个或多个手势识别器接收的与一个或多个触摸对应的一个或多个动作消息执行软件应用。
附图说明
图1A和1B是示出根据某些实施例的电子设备的框图。
图2为根据某些实施例的示例性电子设备的输入/输出处理栈的图。
图3A示出根据某些实施例的示例性的视图层次结构(view hierarchy)。
图3B示出根据某些实施例的用于事件处理的示例性组件的框图。
图3C示出根据某些实施例的手势识别器的示例性的类(class)和实例(instance)的框图。
图4A-4D示出根据某些实施例的示例性状态机的流程图。
图5A示出根据某些实施例的事件信息流的框图。
图5B和5C示出根据某些实施例的手势识别方法的高级流程图。
图6A-6B是示出根据某些实施例,根据从代表获得的信息处理相应事件的示例性方法的流程图。
图7A-7B是示出根据某些实施例,根据从代表获得的接收触摸值处理相应触摸的示例性方法的流程图。
图8A-8B示出根据某些实施例,在包括离散手势识别器和连续手势识别器的软件应用中处理相应触摸的示例性方法的流程图。
图9是根据某些实施例的电子设备的功能框图。
图10是根据某些实施例的电子设备的功能框图。
图11是根据某些实施例的电子设备的功能框图。
在所有附图中,类似的参考标志表示对应的部分。
具体实施方式
现在详细参考实施例,在附图中示出了这些实施例的例子。在下面的详细描述中,提出了若干特定细节,以便提供对本发明的透彻理解。然而,本领域技术人员应当明了,可以实现本发明而不使用这些特定细节。在其它情况下,公知的方法、程序、组件、电路和网络未被详细描述,以免不必要地使得这些实施例的有关方面含混不清。
还应当理解,虽然可以在此处使用术语第一、第二等描述各个元件,但是这些元件应该不受这些术语的限制。这些术语仅被用于彼此区分元件。例如,第一接触可被称为第二接触,并且类似地,第二接触可被称为第一接触,而不会脱离本发明的范围。第一接触和第二接触都是接触,但是它们不是相同的接触。
此处在本发明的描述中使用的术语仅仅是出于描述特定实施例的目的而不旨在作为对本发明的限制。如在本发明的描述和所附权利要求书中使用的,除非上下文清楚地指出例外情况,单数形式“一”、“一个”、“一种”、“该”(“a”、“an”和“the”)旨在也包括复数形式。还应理解,此处使用的术语“和/或”指并且包括一个或多个相关联地列出的项目的任何和所有可能组合。还应理解,当在本说明书中使用术语“包括”和“包含”(“include”、“including”、“comprise”和/或“comprising”)时,它们指叙述的特征、整体、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组的存在或添加。
如此处使用的,根据上下文,术语“如果”可被理解为意味着“当…时”或“一旦”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“如果确定…”或“如果检测到(被说明的条件或事件)”可被理解为意味着“一旦确定”或“响应于确定”或“一旦检测到(被说明的条件或事件)”或“响应于检测到(被说明的条件或事件)”。
此处使用的术语“事件”意指由设备的一个或多个传感器检测到的输入。特别地,术语“事件”包括在触摸敏感表面上的触摸。一个事件包含一个或多个子事件。子事件通常指对事件的改变(例如,触摸向下,触摸移动,触摸的抬起可作为子事件)。在一个或多个子事件的序列中的子事件可以包括多种形式,包括但不限于:按键按压、按键按压保持、按键按压释放、按钮按压、按钮按压保持、按钮按压释放、操作杆移动、鼠标移动、鼠标按钮按压、鼠标按钮释放、触笔触摸、触笔移动、触笔释放、语音指令、检测到的眼球运动、生物测定输入、以及检测到的用户生理变化,等等。由于事件可包括单个子事件(例如设备的短暂的横向运动),此处使用的术语“子事件”也指事件。
此处使用的术语“事件识别器”以及“手势识别器”可以互换使用,意指能够识别手势或其它事件(例如设备的运动)的识别器。
如以上提及的,在具有作为输入设备的触摸敏感表面的一些设备中,在特定情况下(例如,在第一应用的特定模式中),第一组基于触摸的手势(如以下的两个或更多个:点击、双击、水平挥击、垂直挥击)被识别为正确的输入,而在其它情况(如不同的应用和/或第一应用中的不同模式或情况)下,别的不同的组的基于触摸的手势被识别为正确的输入。而且,两个或更多个正确的输入(或手势)可能相互干扰或冲突(例如,检测到单击后,需要决定是否将该单击识别为一个完整的单击手势还是作为双击手势的一部分)。结果,识别和响应基于触摸的手势所需要的软件和逻辑可能变得复杂,并且每当更新应用或向计算设备增加新的应用时,就可能需要修订。
当使用基于触摸的手势来控制运行在具有触摸敏感表面的设备中的应用时,触摸既具有时间方面也具有空间方面。时间方面称为阶段,表示触摸何时开始,它是在移动还是静止,以及它何时结束——即,手指何时从屏幕上抬起。触摸的空间方面是其中发生触摸的视图或用户界面窗口的集合。在其中检测到触摸的视图或窗口可以对应于视图层次结构中的编程层级(programmatic level)。例如,在其中检测到触摸的最低层级视图可以被称为命中视图(hit view),并且可以至少部分地基于作为开始基于触摸的手势的初始触摸的命中视图,来确定被识别为正确输入的事件集合。
图1A和1B是示出根据某些实施例的电子设备102、104的不同实施例的框图。电子设备102或104可以是任意的电子设备,包括但不限于:台式计算机系统、膝上型计算机系统、上网本计算机系统、移动电话、智能电话、个人数字助理、或导航系统。该电子设备还可以是具有被配置为提供用户接口的触摸屏显示器(如触摸敏感显示器156,图1B)的便携式电子设备,具有被配置为提供用户接口的触摸屏显示器的计算机,或者任何其它形式的计算设备,包括但不限于:消费类电子设备、移动电话、视频游戏系统、电子音乐播放器、平板电脑、电子书阅读系统、电子书、PDA、电子管理器、电子邮件设备、膝上型电脑、上网本或者其它计算机、信息亭计算机、自动售货机、智能设施等。电子设备102或104包括用户接口113。
在某些实施方式中,电子设备104包括触摸屏显示器。这些实施例中,用户接口113可包括屏幕上显示的键盘(图中未示出),用户使用它与电子设备102和104交互。可替换地,键盘可以与电子设备104(或电子设备102)相分离和区别。例如,键盘可以是与电子设备102或104耦合的有线或无线键盘。
在某些实施例中,电子设备102包含显示器126和一个或多个输入设备128(例如键盘、鼠标、跟踪球、麦克风、物理按钮、触摸板等),它们耦合到电子设备102。这些实施例中,一个或多个输入设备128可以可选地与电子设备102相分离和区别。例如,一个或多个输入设备可包括以下一个或多个:键盘、鼠标、跟踪球和电子笔,其中任一个都可以可选地与电子设备相分离。可选地,设备102或104可以包括一个或多个传感器130,例如一个或多个加速度计、陀螺仪、GPS系统、扬声器、红外(IR)传感器、生物传感器、照相机等。需要说明的是,上述关于诸如输入设备128或传感器130的各种示例性设备的说明对此处描述的实施例的操作没有重要意义,任何在此处描述为输入设备的输入或传感器设备可以被等同描述为传感器,反之亦然。在某些实施例中,由一个或多个传感器130产生的信号被作为用于检测事件的输入源。
在某些实施例中,电子设备104包括触摸敏感显示器156(即,具有触摸敏感表面的显示器)以及一个或多个输入设备128,它们耦合到电子设备104。在某些实施例中,触摸敏感显示器156能够检测两个或更多个不同的、同时发生的(或部分同时发生的)触摸,并且在这些实施例中,显示器156在这里有时被称为多触摸显示器或多触摸敏感显示器。
这里讨论的电子设备102或104的某些实施例中,输入设备128被布置在电子设备102或104中。在其它的实施例中,一个或多个输入设备128与电子设备102或104相分离和区别;例如,一个或多个输入设备128可以通过电缆(如USB电缆)或无线连接(如蓝牙连接)耦合到电子设备102或104。
当使用输入设备128时,或者当在电子设备104的触摸敏感显示器156上执行基于触摸的手势时,用户生成由电子设备102或104的一个或多个CPU 110处理的子事件序列。在某些实施例中,电子设备102或104的一个或多个CPU110处理该子事件序列以识别事件。
电子设备102或104通常分别包括一个或多个单核或多核处理单元(“CPU”)110,以及一个或多个网络或其它通信接口112。电子设备102或104分别包括存储器111和用于互连这些组件的一个或多个通信总线115。通信总线115可以包括互连和控制系统组件之间的通信的电路(有时称为芯片组)(此处未详述)。如以上简要论述的,电子设备102或104包括用户接口113,其包括显示器(例如显示器126或触摸敏感显示器156)。进一步地,电子设备102或104通常包括输入设备128(例如键盘、鼠标、触摸敏感表面、小键盘等)。在某些实施例中,输入设备128包括屏幕输入设备(例如显示设备的触摸敏感表面)。存储器111可以包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM或其它的随机存取固态存储器设备;并可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪速存储器设备、或其它非易失性固态存储设备。存储器111可以可选地包括一个或多个远离CPU(一个或多个)110的存储设备。存储器111,或者可替换地在存储器111中的非易失性存储器设备(一个或多个),包括计算机可读存储介质。在某些实施例中,(电子设备102或104的)存储器111或存储器111的计算机可读存储介质存储以下的程序、模块和数据结构或它们的子集:
·操作系统118,包括用来处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·通信模块120,用来通过它们的一个或多个相应的通信接口112(有线或者无线的)和一个或多个通信网络,诸如因特网、其它广域网、局域网、城域网等,分别将电子设备102或104连接到其它设备;
·用户接口模块122,用于在显示器126或触摸敏感显示器156上显示包括用户界面对象的用户界面;
·控制应用124,用于控制进程(如命中视图的确定、线程管理和/或事件监控等);在某些实施例中,控制应用124包括运行时应用(run-time application);在其它实施例中,运行时应用包括控制应用124;
·事件传递系统130,其可以在操作系统118中或应用软件132中以各种可替换地实施方式来实现;但在某些实施例中,事件传递系统130的一些方面可以在操作系统118中实现,而其它方面(例如至少是事件处理器的子集)可以在应用软件132中实现;
·应用软件132,其可以包括一个或多个软件应用(例如电子邮件应用、Web浏览器应用、文本消息应用等);各软件应用通常具有(至少在执行时具有)应用状态,其指示软件应用及其组件(例如手势识别器和代表)的状态;参见以下描述的应用内部状态317(图3B);以及
·设备/全局内部状态134,包括以下一个或多个:应用状态,指示软件应用及其组件(例如手势识别器和代表)的状态;显示状态,指示何种应用、视图或其它信息占据了触摸敏感显示器156或显示器126的各个区域;传感器状态,包括从设备的各个传感器130、输入设备128和/或触摸敏感显示器156获得的信息;以及关于设备的位置和/或姿态的位置信息。
上面标出的内容中每一项可被存储于一个或多个前面提到的存储设备中,并对应于用于执行此处描述的功能的指令集。该指令集可被一个或多个处理器(例如一个或多个CPU 110)执行。上面标出的模块或程序(即,指令集)不需要被实现为单独的软件程序、过程或者模块,因而这些模块的各个子集可被组合或被重新安排在不同的实施例中。在某些实施例中,存储器111可存储上面标出的模块和数据结构的子集。此外,存储器111还可存储上面没有描述的另外的模块和数据结构。
图2为根据本发明某些实施例的示例性电子设备或装置(例如设备102或104)的输入/输出处理栈200的示意图。设备的硬件(例如电子电路)212处于该输入/输出处理栈200的底层(base level)。硬件212可包括各种硬件接口组件,例如图1A和/或1B所示的组件。硬件212还可以包括一个或多个上面提及的传感器130。输入/输出处理栈200的所有其它元件(132,204-210)为软件程序,或软件程序的一部分,它们处理从硬件212接收的输入并生成通过硬件用户接口(例如显示器、扬声器、设备振动致动器中的一个或多个)呈现的各种输出。
驱动程序或一组驱动程序210与硬件212通信。驱动程序210可以接收和处理从硬件212接收的输入数据。核心操作系统(“OS”)208可以与驱动程序(一个或多个)210通信。核心OS 208可以处理从驱动程序210接收的原始输入数据。在某些实施例中,驱动程序210可被认为是核心OS 208的一部分。
一组OS应用编程接口(“OS API”)206是与核心OS 208通信的软件程序。在某些实施例中,API 206被包括在设备的操作系统中,但位于核心OS 208之上的层。API 206被设计为由运行在此处讨论的电子设备或装置上的应用使用。用户接口(UI)API204可利用OSAPI 206。运行在设备上的应用软件(“应用”)132可以利用UIAPI 204以便与用户通信。UIAPI 204又可以与下层的元件通信,最终与各个用户接口硬件(例如多触摸显示器156)通信。
尽管输入/输出处理栈200的每一层可以利用它下面的层,但这并非总是必要的。例如,在某些实施例中,应用132可以偶尔与OSAPI206通信。一般,位于OSAPI层206或位于其上的层不可以直接访问核心OS 208、驱动程序210、或硬件212,因为这些层被认为是隐蔽的(private)。层132中的应用和UIAPI204通常直接调用OSAPI 206,OSAPI 206又访问核心OS 208、驱动程序210和硬件212这些层。
以另一方式叙述,电子设备102或104的一个或多个硬件元件212以及运行在设备上的软件(诸如,举例来说,驱动程序210(如图2所示)、核心OS(操作系统)208(如图2所示)、操作系统API软件206(如图2所示)、以及应用和用户接口API软件204(如图2所示))检测在一个或多个输入设备128和/或触摸敏感显示器156处的输入事件(其可能对应于手势中的子事件),并生成或更新各个数据结构(存储在设备102或104的存储器中),所述数据结构由一组当前活动的事件识别器使用以确定是否以及何时该输入事件对应于要传递给应用132的事件。以下将更加详细地描述事件识别方法、装置和计算机程序产品的实施例。
图3A描绘了示例性的视图层次结构300,在该示例中是在最外层(outermost)视图302中显示的搜索程序。最外层视图302一般包含用户可以直接与之交互的完整用户界面,并且包括次级(subordinate)视图,例如:
·搜索结果面板304,其将搜索结果集合在一起并可以纵向卷动;
·搜索区域306,其接收文本输入;以及
·主行(home row)310,其将应用集合在一起以便快速访问。
该示例中,每个次级视图包括下层的次级视图。在其它的示例中,层次结构300中的视图层级的数量在层次结构的不同分支中可以不相同,其中一个或多个次级视图具有下层的次级视图,而一个或多个别的次级视图不具有任何这样的下层次级视图。继续如图3A所示的例子,检索结果面板304包含用于各个搜索结果的单独的次级视图305(从属于面板304)。这里,该示例在称为地图视图305的次级视图中显示了一个搜索结果。搜索区域306包括在这里被称为清空内容图标视图307的次级视图,当用户在视图307的清空内容图标上执行特定动作(如单个触摸或点击手势)时,其清空搜索区域的内容。主行310包括次级视图310-1、310-2、310-3和310-4,其分别对应于联系人应用、电子邮件应用、web浏览器和iPod音乐界面。
触摸子事件301-1被表示在最外层视图302中。假设触摸子事件301-1的位置在搜索结果面板304和地图视图305二者上,则该触摸子事件301-1也被表示在这些视图上,分别是301-2和301-3。该触摸子事件的有效涉及视图(actively involved view)包括搜索结果面板304视图、地图视图305和最外层视图302。以下参照图3B和3C提供关于子事件传递和有效涉及视图的进一步信息。
视图(以及相应的编程层级)可以嵌套。也就是说,视图可以包括其它视图。因此,与第一视图相关联的软件元件(一个或多个)(例如事件识别器)可包括或被链接到与该第一视图内的视图相关联的一个或多个软件元件。一些视图可以与应用相关联,而其它视图可以与高层OS元件(例如图形用户界面,窗口管理器等)相关联。
图3B是示出根据某些实施例的用于事件处理的示例性组件(如事件处理组件390)的框图。在某些实施例中,存储器111(图1A和1B中)包括事件识别器全局方法311(例如在操作系统118中)和单独的应用132-1。
在某些实施例中,事件识别器全局方法311包括事件监视器312、命中视图确定模块313、活动事件识别器确定模块314和事件分派器(dispatcher)模块315。在某些实施例中,事件识别器全局方法311位于事件传递系统130中。在某些实施例中,事件识别器全局方法311被实现在操作系统118中。可替换地,事件识别器全局方法311被实现在应用132-1中。而在其它实施例中,事件识别器全局方法311被实现为独立的模块,或作为存储在存储器111中的另一模块(例如接触/运动模块(未绘出))的一部分。
事件监视器312从传感器130、触摸敏感显示器156和/或输入设备128接收事件信息。事件信息包括关于事件(例如触摸敏感显示器156上的用户触摸,作为多触摸手势的一部分,或设备102或104的运动)和/或子事件(例如划过触摸敏感显示器156的触摸的运动)的信息。例如,触摸事件的事件信息包括以下一个或多个:触摸的位置和时间戳。类似地,挥击事件的事件信息包括以下两个或更多个:位置、时间戳、方向和挥击的速度。传感器130、触摸敏感显示器156和输入设备128把事件信息和子事件信息直接地或通过外围接口发送到事件监视器312,事件监视器检索和存储事件信息。传感器130包括以下一个或多个:接近传感器(proximity sensor)、加速度计(一个或多个)、陀螺仪、麦克风和摄像头。在某些实施例中,传感器130还包括输入设备128和/或触摸敏感显示器156。
在某些实施例中,事件监视器312以预定的时间间隔向传感器130和/或外围接口发送请求。作为响应,传感器130和/或外围接口发送事件信息。在其它实施例中,只有发生重要事件(例如,接收到超过预定噪声阈值和/或长于预定持续时间的输入)时,传感器130和外围接口才发送事件信息。
事件监视器312接收事件信息并确定要向其传递事件信息的应用132-1和应用132-1的应用视图316-2。
在某些实施例中,事件识别器全局方法311还包括命中视图确定模块313和/或活动事件识别器确定模块314。
命中视图确定模块313提供用于在触摸敏感显示器156显示多于一个视图时,确定事件或子事件在一个或多个视图中发生的位置的软件程序。视图由用户在显示器上可见的控件和其它元件组成。
与应用132-1相关联的用户界面的另一方面是一组视图316,有时在这里被称为应用视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用的)应用视图可以对应于该应用的视图层次结构中的特定视图。例如,在其中检测到触摸的最低层级视图可被称为命中视图,并且可以至少部分地基于开始某个基于触摸的手势的初始触摸的命中视图,来确定被识别为正确输入的事件集合。
命中视图确定模块313接收与事件和/或子事件有关的信息。当应用具有以层次结构组织的多个视图时,命中视图确定模块313将该层次结构中应当处理该事件或子事件的最低层视图确立为命中视图。在大部分情况下,命中视图是其中发生了发起事件或子事件(即,形成手势的事件和/或子事件序列中的第一个事件或子事件)的最低层级的视图。一旦命中视图确定模块确立了命中视图,该命中视图通常接收与使其被确立为命中视图的相同触摸或输入源有关的所有事件和/或子事件。
活动事件识别器确定模块314确定视图层次结构中的哪个视图或哪些视图应当接收特定序列的事件和/或子事件。在某些应用情况下,活动事件识别器确定模块314确定只有命中视图应当接收特定序列的事件和/或子事件。在其它一些应用情况下,活动事件识别器确定模块314确定所有包括事件和/或子事件的物理位置的视图是有效涉及视图,并且因此确定所有有效涉及视图应当接收特定序列的事件和/或子事件。在其它一些应用情况下,即使触摸事件和/或子事件被完全限制到与一个特定视图相关联的区域,层次结构中更高的视图将仍然保持作为有效涉及视图。
事件分派器模块315将事件信息分派到事件识别器(这里也称为“手势识别器”)(例如,事件识别器320-1)。在包括活动事件识别器确定模块314的实施例中,事件分派器模块315将事件信息传递到由活动事件识别器确定模块314确定的事件识别器。在某些实施例中,事件分派器模块315将事件信息存储在事件队列中,由相应的事件识别器320(或相应的事件识别器320中的事件接收器331)检索该事件信息。
在某些实施例中,应用132-1包括应用内部状态317,其在应用是活动的或在执行时指示显示在触摸敏感显示器156上的当前应用视图(一个或多个)。在某些实施例中,设备/全局内部状态134由事件识别器全局方法311使用以确定哪个(哪些)应用当前是活动的,而应用内部状态317由事件识别器全局方法311使用以确定要向其传递事件信息的应用视图316。
在某些实施例中,应用内部状态317包括附加信息(例如344,图3C),诸如以下一个或多个:当应用132-1恢复执行时要使用的恢复信息、指示应用132-1正在显示的或准备显示的信息的用户界面状态信息、使用户能够回到应用132-1的前一状态或视图的状态队列、以及用户执行的先前动作的重做/撤销队列。在某些实施例中,应用内部状态317进一步包括上下文信息/文本和元数据318。
在某些实施例中,应用132-1包括一个或多个应用视图316,它们中的每一个包括用于处理发生在该应用的用户界面的相应视图内的触摸事件的指令。应用132-1的至少一个应用视图316包括一个或多个事件识别器320以及一个或多个事件处理器322。通常,一个应用视图316包括多个事件识别器320和多个事件处理器322。在其它一些实施例中,一个或多个事件识别器320是单独模块的一部分,所述单独模块诸如用户界面工具箱(未示出)或应用132-1从中继承方法和其它属性的更高层对象。在某些实施例中,事件处理器190还包括下列一个或多个:数据更新器、对象更新器、GUI更新器、和/或接收到的事件数据。
事件识别器320-1从事件分派器模块315接收事件信息,并基于事件信息确立事件。事件识别器320-1包括事件接收器331和事件比较器332。
事件信息包括关于事件(例如触摸)或子事件(例如触摸移动)的信息。取决于事件或子事件,事件信息还包括附加信息,诸如事件或子事件的位置。当事件或子事件涉及触摸的移动时,事件信息还可以包括子事件的速度和方向。在某些实施例中,事件包括设备从一个定向到另一个定向的旋转(例如,从纵向到横向,或反过来),并且事件信息包括关于设备的当前定向(也被称为设备姿态)的对应信息。
事件比较器332将事件信息与预定义的手势定义(这里也称为“事件定义”)进行比较,并且基于该比较,确定事件或子事件,或者确定或更新事件或子事件的状态。在某些实施例中,事件比较器332包括一个或多个手势定义333(如上所述的,这里也称为“事件定义”)。手势定义333包含手势(例如,预定的事件和/或子事件序列)的定义,例如,手势1(334-1)、手势2(334-2),等等。在某些实施例中,事件定义333中的子事件包括,例如,触摸开始、触摸结束、触摸移动、触摸取消和多触摸。在一个例子中,手势1(334-1)的定义是在显示对象上的双击。该双击例如包括手势的预定阶段的在显示对象上的第一触摸(触摸开始)、手势的下一预定阶段的第一抬起(触摸结束)、手势的随后的预定阶段的在显示对象上的第二触摸(触摸开始)、和手势的最终的预定阶段的第二抬起(触摸结束)。在另一个例子中,手势2(334-2)的定义是在显示对象上的拖动。该拖动例如包括在显示对象上的触摸(或接触)、该触摸在触摸敏感显示器156上的移动、和触摸的抬起(触摸结束)。
在某些实施例中,事件识别器320-1还包括用于事件传递335的信息。用于事件传递335的信息包括对相对应的事件处理器322的引用。可选地,用于事件传递335的信息包括动作-目标对(一个或多个)。在某些实施例中,响应于识别出手势(或手势的一部分),事件信息(例如动作消息(一个或多个))被发送到由动作-目标对确立的一个或多个目标。在其它实施例中,响应于识别出手势(或手势的一部分),该动作-目标对被激活。
在某些实施例中,手势定义333包括针对用户界面对象的手势的定义。在某些实施例中,事件比较器332执行命中测试,以便确定哪个用户界面对象与子事件相关联。例如,在三个用户界面对象被显示在触摸敏感显示器156上的应用视图中,当在触摸敏感显示器156上检测到触摸时,事件比较器332执行命中测试,以便确定三个用户界面对象中的哪一个(如果有的话)与该触摸(事件)相关联。如果每个显示对象与一个相应的事件处理器322相关联,则事件比较器332使用命中测试的结果来确定应当激活哪个事件处理器322。例如,事件比较器332选择与触发命中测试的事件和对象相关联的事件处理器322。
在某些实施例中,手势333的定义还包括延迟动作,延迟动作延迟事件信息的传递,直到已经确定事件和/或子事件序列是否与事件识别器的事件类型相对应。
当事件识别器320-1确定事件和/或子事件序列不与手势定义333中的任何事件匹配时,该相应的事件识别器320-1进入事件失败状态,此后该相应的事件识别器320-1忽视后续的基于触摸的手势的事件和/或子事件。在该情况下,对于命中视图保持为活动的其它事件识别器(如果有的话)继续跟踪和处理进行中的基于触摸的手势的事件和/或子事件。
在某些实施例中,事件识别器320-1包括事件识别器状态336。事件识别器状态336包括该相应的事件识别器320-1的状态。以下参照图4A-4D更详细地描述事件识别器状态的例子。
在某些实施例中,事件识别器336包括识别器元数据和属性337-1。在某些实施例中,识别器元数据和属性337-1包括以下一个或多个:A)可配置的属性、标志、和/或列表,其指示事件传递系统应当如何执行事件和/或子事件到有效涉及的(actively involved)事件识别器的传递;B)可配置的属性、标志和/或列表,其指示事件识别器如何彼此交互;C)可配置的属性、标志和/或列表,其指示事件识别器如何接收事件信息;D)可配置的属性、标志和/或列表,其指示事件识别器可以如何识别手势;E)可配置的属性、标志和/或列表,其指示事件和/或子事件是否被传递到视图层次结构中的不同层级;以及F)到对应的事件处理器322的引用。
在某些实施例中,事件识别器状态336包括事件/触摸元数据337-2。事件/触摸元数据337-2包括关于被检测到的并且与手势定义333相对应的相应事件/触摸的事件/触摸信息。该事件/触摸信息包括以下一个或多个:该相应事件/触摸的位置、时间戳、速度、方向、距离、比例(或比例变化)、以及角度(或角度变化)。
在某些实施例中,相应的应用视图包括一个或多个代表321。相应的代表321被分配给相应的事件识别器320。可替换地,相应的事件识别器320具有对应的代表321,但是该代表321并不一定在运行时被分配给相应的识别器320,反而是,事件识别器的代表可以在执行该应用之前被建立(例如,事件识别器的代表可以由应用视图的代表属性来指示,在对应的应用视图316初始化时建立)。在某些实施例中,一些事件识别器不具有分配的(或对应的)代表。缺少对应代表的事件识别器根据默认规则来执行,默认规则诸如管理事件识别独占性(exclusivity)的默认规则。在某些实施例中,有些事件识别器具有多个分配的(或对应的)代表。代表修改对应的事件识别器的行为,还可以用于协调多个事件识别器的行为。在下面描述的某些实施例中,当被分配给了相应的事件识别器时,代表修改该相应事件识别器行为的多个方面。
在某些实施例中,当手势的一个或多个特定事件和/或子事件被识别时,相应事件识别器320激活与该相应事件识别器320相关联的事件处理器322。在某些实施例中,相应的事件识别器320传递与事件相关联的事件信息到事件处理器322。
事件处理器322在被激活时,执行以下一个或多个:创建和/或更新数据、创建和更新对象、以及准备显示信息并将其发送以显示在显示器126或触摸敏感显示器156上。
在某些实施例中,应用视图316-2包括视图元数据323。视图元数据323包括关于视图的数据。可选地,视图元数据包括以下属性,其影响事件和/或子事件到事件识别器的传递:
·停止属性324-1,当为视图设置了该属性时,阻止事件和/或子事件被传递给与该视图及其在视图层次结构中的先辈(ancestor)相关联的事件识别器;
·跳过属性324-2,当为视图设置了该属性时,阻止事件和/或子事件被传递给与该视图相关联的事件识别器,但允许事件和/或子事件被传递给其在视图层次结构中的先辈;
·非命中跳过属性324-3,当为视图设置了该属性时,阻止事件和/或子事件被传递给与该视图相关联的事件识别器,除非该视图是命中视图;
如前面讨论的,命中视图确定模块313将层次结构中最低层的视图确立为命中视图,其应当处理该子事件;以及
·其它视图元数据324-4。
在某些实施例中,视图层次结构中的第一有效涉及视图可以被配置为阻止相应的子事件被传递到与该第一有效涉及视图相关联的事件识别器。这种行为可实现跳过属性324-2。当为应用视图设置了跳过属性时,仍然为与视图层次结构中其它的有效涉及视图相关联的事件识别器执行该相应子事件的传递。
可替换地,视图层次结构中的第一有效涉及视图可被配置为阻止相应的子事件被传递到与该第一有效涉及视图相关联的事件识别器,除非该第一有效涉及视图是命中视图。这种行为可实现有条件地非命中跳过属性324-3。
在某些实施例中,视图层次结构中的第二有效涉及视图被配置为阻止相应的子事件被传递到与该第二有效涉及视图相关联的事件识别器和与该第二有效涉及视图的先辈相关联的事件识别器。这种行为可实现停止属性324-1。
应当理解,前面关于触摸敏感显示器上的用户触摸的事件处理的讨论也适用于操作具有输入设备的电子设备102或104的其它形式的用户输入,其中不是所有用户输入都是在触摸屏上发起的,例如,与或不与单个或多个键盘按压或保持相配合的鼠标移动和鼠标按钮按压,触控板上的用户移动、敲击、拖动、卷动等,触笔输入,设备的移动(例如旋转),口头指令,检测到的眼睛运动,生物测定输入,和/或它们的任何组合,都可用作与定义要被识别的手势的事件和/或子事件相对应的输入。
图3C是示出了根据本发明某些实施例的手势识别器(如事件处理组件390)的示例性的类和实例的框图。
软件应用(例如应用132-1)具有一个或多个事件识别器340。在某些实施例中,某个事件识别器(例如340-2)是事件识别器类。该事件识别器(例如340-2)包括事件识别器特定代码341(例如,定义事件识别器的操作的指令集)和状态机342。
在某些实施例中,软件应用(例如应用132-1)的应用状态317包括事件识别器的实例。事件识别器的每一实例是一个具有状态(例如事件识别器状态336)的对象。通过执行对应的事件识别器特定代码(例如341)并更新或者维持事件识别器实例343的状态336,实现相应的事件识别器实例的“执行”。事件识别器实例343的状态336包括事件识别器实例的状态机342的状态338。
在某些实施例中,应用状态317包括多个事件识别器实例343,每个实例对应于一个已被绑定到(也称为“附着到”)应用视图的事件识别器。在某些实施例中,应用状态317包括某个事件识别器(例如340-2)的多个实例(例如343-1至343-L)。在某些实施例中,应用状态317包括多个事件识别器(例如340-1至340-R)的实例343。
在某些实施例中,手势识别器的一个实例343-2包括事件识别器状态336。如上面讨论的,事件识别器状态336包括识别器元数据和属性337-1以及事件/触摸元数据337-2。事件识别器状态336还包括(一个或多个)视图层次结构引用337-3,指示手势识别器的该相应的实例343-2附着到哪个视图。
在某些实施例中,识别器元数据和属性337-1包括以下项目或其子集或超集:
·独占标志339,当为事件识别器设置了该标志时,指示一旦事件识别器识别出手势,事件传递系统将停止传递事件和/或子事件到有效涉及视图的任何其它事件识别器(除了在例外清单353中列出的任何其它事件识别器);当接收事件和/或子事件导致特定的事件识别器进入该独占状态,如它的对应的独占标志339所指示的,那么随后的事件和/或子事件只被传递到该处于独占状态的事件识别器(以及在例外清单353中列出的任何其它事件识别器);
·独占例外清单353;当被包括在相应事件识别器的事件识别器状态336中时,该清单353表示这样一组事件识别器(如果有的话),其即使在所述相应事件识别器进入独占状态后,也将继续接收事件和/或子事件;例如,如果单击事件的事件识别器进入独占状态,且当前涉及的视图包括双击事件的事件识别器,则清单353会列出双击事件识别器,因而,即使在检测到单击事件之后双击事件也可以被识别。因此,该独占例外清单353允许事件识别器识别共享共同的事件和/或子事件序列的不同手势,例如单击手势的识别不排除其它事件识别器对双击或三击手势的后续识别。
·等待清单351;当被包括在相应事件识别器的事件识别器状态336中时,该清单351指示这样一组事件识别器(如果有的话),其在所述相应事件识别器可识别出相应事件之前,必须进入事件失败或事件取消状态;
实际上,列出的事件识别器比具有等待清单351的事件识别器拥有更高的识别事件的优先级。
·延迟触摸开始标志352,当为事件识别器设置了该标志时,导致该事件识别器延迟发送事件和/或子事件(包括触摸开始或手指放下子事件,和随后的事件)到事件识别器的相应命中视图,直到已确定事件和/或子事件序列与该事件识别器的手势类型不相对应之后;在该手势已被识别的情况下,该标志可被用于防止命中视图看到任何的事件和/或子事件;当该事件识别器识别手势失败时,该触摸开始子事件(和随后的触摸结束子事件)可被传递至命中视图;在一个例子中,传递这样的子事件到命中视图使得用户界面简单地突出显示对象,而不调用与该对象相关联的动作;
·延迟触摸结束标志363,当为事件识别器设置了该标志时,导致事件识别器延迟发送子事件(例如触摸结束子事件)到事件识别器的相应命中视图或层级,直到已确定子事件序列与该事件识别器的事件类型不相对应;在该手势被识别晚了的情况下,这可被用于防止命中视图根据触摸结束子事件而行动;只要该触摸结束子事件没被发送,触摸取消可以被发送至命中视图或层级;如果事件已被识别,则应用的对应动作被执行,并且该触摸结束子事件被传递到命中视图或层级;以及
·触摸取消标志364,当为事件识别器设置了该标志时,导致在已确定事件和/或子事件序列与事件识别器的手势类型不相对应时,事件识别器发送触摸或者输入取消至事件识别器的相应命中视图;发送到命中视图的触摸或输入取消表明一在先的事件和/或子事件(例如触摸开始子事件)已经被取消;触摸或者输入取消可使得事件识别器的状态进入事件取消状态418(在图4B中)。
在某些实施例中,一个或多个事件识别器可适合于延迟传递子事件序列中的一个或多个子事件,直到事件识别器识别该事件之后。这种行为反映延迟的事件。例如,考虑在能够进行多击手势的视图中的单击手势。在这种情况下,点击事件变为“点击+延迟”识别器。本质上,当事件识别器实施这种行为时,事件识别器将延迟事件识别,直到确定子事件序列实际上确实与其事件定义相对应。当接收方视图不能适当地响应取消的事件时,这种行为可能是适当的。在某些实施例中,事件识别器将延迟将其事件识别器状态更新为其相应的有效涉及视图,直到事件识别器确定子事件序列与事件定义不相对应。延迟触摸开始标志352、延迟触摸结束标志363和触摸取消标志364被提供以根据特定的需要而调整子事件传递技术以及事件识别器和视图状态信息更新。
在某些实施例中,识别器元数据和属性337-1包括以下项目或其子集或超集:
·状态机状态/阶段338,其表明相应的事件识别器实例(例如343-2)的状态机(例如342)的状态;状态机状态/阶段338可具有各种状态值,例如“事件可能”、“事件被识别”、“事件失败”和其它,如下面描述的;可替换地或者作为附加,状态机状态/阶段338可以具有各种阶段值,例如,“触摸阶段开始”,可表示触摸数据结构定义了没有被之前的触摸数据结构引用过的新触摸;“触摸阶段移动”值,可表示被定义的触摸已经从前一位置移动;“触摸阶段静止”值,可表示该触摸已停留在相同位置;“触摸阶段结束”值,可表示触摸已结束(例如,用户已经从多触摸显示器表面上抬起起他/她的手指);“触摸阶段取消”值,可表示触摸已经被设备取消;被取消的触摸可以是不一定由用户结束的触摸,而是设备已决定将其忽略的触摸;例如,设备可以确定触摸不是有意生成的(例如,作为将具有便携式多触摸功能的设备放在口袋中的结果)并且出于该原因忽略该触摸;状态机状态/阶段338的每个值可以为整数(此处称为“手势识别器状态值”);
·动作-目标对(一个或多个)345,每一对确立一个目标,响应于将事件或触摸识别作为手势或手势的一部分,相应的事件识别器实例发送所确立的动作消息给该目标;
·代表346,当代表被分配给相应的事件识别器实例时,该代表346是到对应代表的引用;当代表没有被分配给相应的事件识别器实例时,代表346包含空值;以及
·启用属性347,表示相应的事件识别器实例是否被启用(enabled);在某些实施例中,当相应的事件识别器实例没有被启用(例如,被禁用(disabled))时,该相应的事件识别器实例不处理事件或触摸。
在某些实施例中,例外清单353也可由非独占的事件识别器使用。特别地,当非独占的事件识别器识别出事件或者子事件时,随后的事件和/或子事件不被传递到与当前活动视图相关联的独占性事件识别器,除了列在所述识别出事件或子事件的事件识别器的例外清单353中的那些独占性事件识别器。
在某些实施例中,事件识别器可被配置为利用触摸取消标志364结合延迟触摸结束标志363来阻止不需要的事件和/或子事件被传递到命中视图。例如,单击手势的定义与双击手势前半部分是相同的。一旦单击事件识别器成功地识别单击,不希望的动作可能发生。如果设置了延迟触摸结束标志,则阻止单击事件识别器发送子事件到命中视图,直到单击事件被识别。此外,该单击事件识别器的等待清单可以标识出双击事件识别器,从而阻止单击事件识别器识别单击,直到双击事件识别器进入了事件不可能状态。使用等待清单避免了当进行双击手势时与单击相关联的动作被执行。代替地,响应于识别出双击事件,将只执行与双击相关联的动作。
特别地,转向在触摸敏感表面上的用户触摸的形式,如前面指出的,触摸和用户手势可以包括无需是瞬时的动作,例如,触摸可以包括在显示器上移动或保持手指一段时间的动作。然而,触摸数据结构定义在特定时间的触摸的状态(或者,更普遍的,任意输入源的状态)。因此,存储在触摸数据结构中的值可能在单个触摸过程中变化,使得单个触摸在不同时间点的状态被传送到应用。
每个触摸数据结构可包括各种条目。在某些实施例中,触摸数据结构可包括至少与事件/触摸元数据337-2中的特定于触摸的条目相对应的数据,例如如下项目或其子集或超集:
·“视图的第一触摸”条目348,指示触摸数据结构是否定义了该特定视图(自该视图实例化(instantiate)后)的第一触摸;
·“每个触摸的信息”条目349,包括“时间戳”信息,其指示与该触摸数据结构有关的特定时间(例如,触摸的时间);可选的,“每个触摸的信息”条目349包括其它信息,诸如对应触摸的位置;以及
·可选的“点击计数”条目350,指示在初始触摸的位置已连续执行了多少次点击;一次点击可定义为手指在触摸敏感面板的特定位置的快速按压和抬起;如果手指在面板的相同位置迅速连续地再次按压和释放手指,可以发生多次连续点击;事件传递系统130可以计算点击数并通过“点击计数”条目350向应用转发该信息;在相同位置的多次点击有时被认为对于记住用于能够触摸的界面的命令是有用且容易的;这样,通过计算点击数,事件传递系统130再次减轻了应用的一些数据处理。
因此,每个触摸数据结构可以定义相应触摸(或其它输入源)在特定时间发生了什么(例如,触摸是否静止、移动等等),以及其它与该触摸相关联的信息(例如位置)。于是,每个触摸数据结构可定义特定触摸在特定时刻的状态。参照同一时间的一个或多个触摸数据结构可以被添加到触摸事件数据结构中,该触摸事件数据结构可以定义特定视图在某时刻接收的所有触摸的状态(如前面提及的,一些触摸数据结构还可以引用已经结束且不再被接收的触摸)。为了向软件提供描述视图中正在发生的触摸的连续信息,随时间的推移,多个触摸事件数据结构可被发送到实施视图的软件中。
处理复杂的基于触摸的手势(可选地包括多触摸手势)的能力可能向各种软件应用增加复杂度。在某些情况下,这种增加的复杂度是实施高级的所希望的界面特征所必需的。例如,由于游戏常需要在同一时间按压多个按钮,或将加速度数据与触摸敏感表面上的触摸相结合,游戏可能需要处理在不同视图中发生的多个同时触摸的能力。然而,一些较简单的应用和/或视图不需要高级的界面特征。例如,简单的软按钮(即,显示在触摸敏感显示器上的按钮)可以用单个触摸得到令人满意的操作,而不需多触摸功能。在这些情况中,底层OS可能发送不必要或过度的触摸数据(例如,多触摸数据)到与仅打算通过单触摸(例如,在软按钮上的单个触摸或点击)来操作的视图相关联的软件组件。由于该软件组件可能需要处理该数据,其可能需要具有处理多触摸的软件应用的全部复杂度的特征,即使它与只涉及单触摸的视图相关联。这可能增加开发设备软件的成本,因为在鼠标接口环境中(即,各种按钮等)传统上容易编程的软件组件在多触摸环境中可能复杂得多。
为了减小识别复杂的基于触摸的手势的复杂度,按照某些实施例,可以使用代表来控制事件识别器的行为。如以下描述的,代表可以确定例如对应的事件识别器(或手势识别器)是否可以接收事件(例如触摸)信息;对应的事件识别器(或手势识别器)是否可以从状态机的初始状态(例如,事件可能状态)转换到另一状态;和/或对应的事件识别器(或手势识别器)是否可以将事件(例如,触摸)识别为对应的手势,而同时不阻止其它事件识别器(或手势识别器)识别该事件或者被其它事件识别器(或手势识别器)阻止识别该事件。
然而,应当理解的是,上述关于评估和处理在触摸敏感表面上的用户触摸的复杂度的讨论也适用于操作电子设备102或104的所有形式的用户输入,其中不是所有用户输入都是在触摸屏上发起的,例如,与或不与单个或多个键盘按压或保持相配合的鼠标移动和鼠标按钮按压,设备旋转或其他运动,触控板上的用户移动(诸如点击、拖动、卷动等),触笔输入,口头指令,检测到的眼睛运动,生物测定输入,检测到的用户生理变化,和/或它们的任何组合,都可用作与定义要被识别的手势的事件和/或子事件相对应的输入。
图4A-4D是根据某些实施例的用于示例性的状态机的流程图。手势识别器可以包括离散手势识别器和连续手势识别器。离散手势识别器通常在识别在预定时间周期内发生的简短手势(如点击或挥击手势)时是有用的,但更基础的是用于识别这样的手势:在识别该手势后只有一个动作消息或一组动作消息需要被传递给应用。连续手势识别器在识别包括触摸移动(因此需要跟踪触摸的位置)的手势(如平移(pan)、收缩、或旋转手势)中是有用的,但更基础的是用于识别这样的手势:在该手势的过程中一连串的动作消息需要被传递给应用。在某些实施例中,离散事件识别器状态机400和连续事件识别器状态机402具有不同的状态。
图4A描绘了根据某些实施例的包含三个状态的离散事件识别器状态机400。通过基于接收到的事件和/或子事件管理事件识别器状态机342中的状态转换,事件识别器有效地表示出事件定义。例如,点击手势可被有效地定义为两个或可选的三个子事件的序列。首先,触摸应当被检测,这是子事件1。例如,该触摸子事件可以是用户手指在包括具有事件识别器状态机342的事件识别器的视图中触摸触摸敏感表面。第二,在触摸在任何给定的方向上都基本上没有移动(例如,触摸位置的任何移动小于预定义的阈值,其可以以距离(例如,5毫米)或者显示器上的象素数目(例如,5象素)来衡量)的情况下,可选的测量的延迟将作为子事件2,其中该延迟足够短。最后,触摸的终止(例如,从触摸敏感表面上抬起用户的手指)将作为子事件3。通过将事件识别器状态机342编程为基于接收这些子事件而在状态之间转换,该事件识别器状态机342有效地表示出点击手势事件定义。离散事件识别器状态机400是上述的被配置为识别点击手势的事件状态机342的示例性的实现。
不论事件是什么类型,事件识别器状态机342(包括被实现为离散事件识别器状态机400的事件识别器状态机)开始于事件可能状态410,其指示事件识别器状态机的初始状态。依据接收到什么样的事件和/或子事件,事件识别器状态机342可进行到任何余下的状态。
从事件可能状态410开始,如果接收到不是手势定义中的第一事件或子事件的事件或者子事件,离散事件识别器状态机400将转换到事件失败状态430。
从事件可能状态410开始,如果接收到其本身包含手势的手势定义的事件或者子事件,离散事件识别器状态机400转换到事件被识别状态420。然而,即使接收到的事件或者子事件包含手势的手势定义,离散事件识别器状态机400仍然可以根据对应的事件识别器的元数据(例如,属性)、由对应的代表确定的一个或多个值、和/或应用状态,而转换到事件失败状态430。
在某些实施例中,在转换到事件被识别状态420后,对应的事件识别器检查(441)延迟标志(例如,延迟触摸结束标志363)。如果该延迟标志被设置(441-是),则该对应的事件识别器延迟(442)传递事件信息,直到该延迟标志被取消。
在某些实施例中,对应的事件识别器包括等待清单351,并且该对应的事件识别器等待该等待清单351中列出的事件识别器达到某个状态。例如,当视图包括单击手势识别器和双击手势识别器时,单击手势识别器可以被配置为等待双击手势识别器失败。实际上,单击手势识别器到事件被识别状态420的转换需要(或者条件是)双击手势识别器识别该手势失败。结果,当有点击事件时,只要该点击事件不是多点击手势的一部分,单击手势识别器就识别该点击事件。
延迟和等待(442)(如果有的话)之后,对应的手势识别器传递事件至应用(443)。在某些实施例中,事件以动作消息的形式被传递。在某些实施例中,动作消息按照动作-目标对345来传递。在某些实施例中,对应的手势识别器激活动作-目标对345。
图4B描绘了根据某些实施例的包含6个状态的连续事件识别器状态机402。
根据上面讨论的,连续事件识别器状态机402开始于事件可能状态410。
从事件可能状态410开始,如果接收到不是手势定义中的事件和/或子事件的开始序列的一部分的事件(一个或多个)或子事件(一个或多个),连续事件识别器状态机402转换到事件失败状态430。
从事件可能状态410开始,如果接收到是给定手势定义的事件和/或子事件的开始序列的一部分的事件或者子事件,连续事件识别器状态机402转换到事件开始状态412。与离散手势识别器400相似,即使接收到的事件或者子事件包含手势定义中的事件和/或子事件的开始序列的一部分,连续事件识别器状态机402也可以根据对应的事件识别器的元数据(例如,属性)、由对应的代表确定的一个或多个值、和/或应用状态,而转换到事件失败状态430。
从事件开始状态412,如果接收的下一事件或子事件是中间事件或子事件,而不是给定手势定义中的最终事件或子事件,则连续事件识别器状态机402将转换到并维持在事件改变状态414。连续事件识别器状态机402可以维持在事件改变状态414,只要接收的事件和/或子事件序列继续是该手势定义的一部分。在任何时间,如果连续事件识别器状态机402处于事件改变状态414,并且事件识别器状态机402接收到不是手势定义的一部分的事件或子事件,则它将转换到事件失败状态430,从而确定当前的事件(如果有的话)不是与这个事件识别器(即,对应于连续事件识别器状态机402的事件识别器)相对应的事件类型。另一方面,如果连续事件识别器状态机402处于事件开始状态412或事件改变状态414,并且连续事件识别器状态机402接收到手势定义中的最后一个事件或子事件,则它将转换到事件结束状态416,从而完成了成功的事件识别。
在某些实施例中,每个手势识别器状态具有一个手势识别器状态值。在某些实施例中,事件被识别状态420(对于离散事件识别器状态机400而言)和事件结束状态416(对于连续事件识别器状态机402而言)具有相同的手势识别器状态值,从而,被配置为响应一种类型的手势识别器的手势识别的软件组件也能响应其它类型的手势识别器。
在处于事件开始状态412或者事件改变状态414时,当预定义的中断事件(例如,操作系统118或者控制应用124中预定义的,例如进入的电话呼叫)发生,连续事件识别器状态机402转换到事件取消状态418。
不论手势识别器是什么类型,每个手势识别器(例如,343)可被重置,以使得对应的事件识别器状态机(例如,342)回到事件可能状态410。
图4C和4D描绘了根据某些实施例,代表在状态转换中的作用。在图4C和4D中,一个或多个代表进行的动作(或作出的决定)被表示为阴影框(例如,450-456)。
图4C描绘了根据某些实施例,对于离散事件识别器状态机400,代表在状态转换中的作用。在下面讨论的例子中,状态机400对应于具有对应的代表的特定离散事件识别器。
开始于事件可能状态410,如果检测到事件或子事件,与事件识别器相对应的代表决定事件识别器是否应接收(450)该事件或子事件。如果代表返回阻止对应的事件识别器接收该事件或子事件的值,则对应的事件识别器不接收该事件或子事件(或者忽略该事件或子事件)。结果是,对应的事件识别器维持在事件可能状态410。如果没有代表阻止对应的事件识别器接收该事件或子事件,则对应的事件识别器的默认行为是接收该事件或子事件。
应当注意,一组事件识别器的代表进行的“应当接收”操作450可被用于确定哪些事件识别器接收在触摸敏感显示器或表面上的哪些触摸。例如,在允许用户使用两个触摸以便分别且同时重新定位(reposition)两个对象或者以便选择两个不同对象的视图中,两个事件识别器的代表可被配置为允许一个事件识别器只接收这两个触摸中的第一个,以及允许第二事件识别器只接收这两个触摸中的第二个。关于这两个触摸中每一个的全部信息因此只针对由其对应的代表允许接收该触摸的事件识别器。通过使用多个事件识别器和对应的确定由哪些事件识别器处理那些触摸的代表,更多复杂的多触摸输入也可以被识别和处理。
如果事件识别器被允许接收事件或子事件,与该事件识别器相对应的代表(或控制应用124或操作系统118)决定该事件识别器对事件或子事件的识别是否被已经识别出该事件的另一个事件识别器阻止(451)。这种初级水平的阻止基于默认的独占规则,且可被代表推翻(override)。如果事件或子事件的识别被阻止,对应的代表(或操作系统118或控制应用124)还根据由该代表确定的一个或多个值,决定是否允许该事件识别器同时识别该事件(452)。例如,如果该事件识别器位于最初识别该事件的事件识别器的独占例外清单353上,则该代表允许两个事件识别器同时识别。在另一个例子中,如果该事件识别器的独占标志339没有设置,则该代表允许两个事件识别器同时识别。如果同时识别不被允许,则该事件识别器转换到事件失败状态430。
如果对应的事件识别器未被阻止(451-否)识别事件或子事件,或者如果同时的识别是被允许的(452-是),则对应的事件识别器确定该事件或子事件是否与对应的手势定义匹配(453)。如果该事件或子事件与该对应的手势定义不匹配(453-不),则该对应的手势识别器转换到事件失败状态430。
如果事件或子事件与对应的手势定义相匹配(453-是),则对应的代表(或操作系统118或控制应用124)根据由该代表确定的一个或多个值,决定是否可以转换离开事件可能状态410(“应当开始”454)。如果事件识别器没被代表允许转换离开事件可能状态410(454-不),则对应的事件识别器被设置为事件失败状态430。如果事件识别器被允许转换离开事件可能状态410(454-是),则对应的数据识别器转换到事件被识别状态420。
当对应的数据识别器转换到事件被识别状态420时,对应的事件识别器(或操作系统118或控制应用124)还决定是否允许其它的事件识别器识别该事件或子事件(455)。在某些实施例中,默认是阻止所有其它事件识别器识别该相同事件,除非至少一个事件识别器的代表(或应用)设置了允许同时识别的属性。如果与已识别出该事件或子事件的事件识别器相对应的代表确定该代表将允许其它事件识别器识别该事件或子事件(455-是),则该代表(或操作系统118或控制应用124)设置其它事件识别器的属性(456)以使得它们可以同时识别该事件或子事件。如果该代表不允许其它事件识别器识别该事件或子事件,则其它事件识别器被阻止识别该事件或子事件。
在某些实施例中,在阻止某个事件识别器识别事件或子事件之前,该事件识别器的代表还被调用(见452)以观察它是否会允许该事件或子事件的同时识别。在这些实施例中,同时识别可以由第一事件识别器的代表或者第二事件识别器的代表启用以识别该事件。如图4C中的452和455所示,在这些实施例中,只有当事件至少一个事件识别器的事件定义匹配时,才进行关于是否允许同时识别的决定。
上面描述的代表操作,当在应用视图(或一组同时显示的视图)所使用的一组事件识别器的代表中实施时,可被用于定制(customize)事件识别器间的交互。这些代表可以实施默认的独占规则的例外,否则,基于相同的接收的事件(一个或多个),该规则只允许一个事件识别器识别手势。使用代表来实施默认的独占规则的例外并从而允许符合的事件识别器同时进行事件识别,促进了软件应用中许多有用功能的实现。使用代表来修改和控制事件识别器的行为,考虑到了复杂关系的紧凑表示和实施,所述复杂关系诸如是相互排斥的多组彼此相容的手势。
图4D描绘了根据某些实施例,对于连续事件识别器状态机402,代表在状态转换中的作用。在下面讨论的例子中,状态机402对应于具有对应的代表的特定的连续事件识别器。图4C中示出的以及以上参照图4C讨论的所有代表操作同样适用于具有对应的代表的连续事件识别器,因此图4D中示出的代表操作与图4C具有相同的标号。唯一的不同是状态机中一个状态的名称改变了,从状态机400中的“事件被识别”420变为状态机402中的“事件开始”412。
开始于事件开始状态412,如上所述的,对应的事件识别器转换到其它状态。为简单起见,不描述从事件改变状态414到事件失败状态416的转换。
以下表格用表格形式给出与上述事件识别器的状态有关的示例性的子事件序列(例如,单击)的处理。在该例子中,子事件序列包括单击,并且视图具有两个点击手势识别器:单击手势识别器和双击手势识别器。并且在该例子中,两个手势识别器都被配置为同时接收和识别该子事件序列。可以由分配给单击手势识别器的代表或者分配给第二点击手势识别器的代表来允许同时的识别。
  序号 子事件序列(单击)   单击手势识别器   双击手势识别器
  0 传递开始之前   事件可能   事件可能
  1 检测到手指落下   事件可能   事件可能
  2 测量到延迟   事件可能   事件可能
  3 检测到手指抬起   事件被识别   事件可能
  4 测量到延迟   事件被识别   事件失败
在子事件信息传递开始之前(序号0),两个手势识别器都处于事件可能状态410。即使在检测到手指落下子事件(序号1)和测量延迟(序号2)之后,两个手势识别器都维持在事件可能状态410。响应于检测到手指抬起(序号3),单击手势识别器转换到事件被识别状态420。在检测到另一延迟后,单击手势识别器维持在事件被识别状态420直到其被重置,在被重置的情况下,单击手势识别器返回到事件可能状态410。另一方面,当测量到的另一延迟超过了预定义的持续时间(例如,双击手势识别器预期在该预定义的持续时间内发生第二次手指落下子事件)时,双击手势识别器转换到事件失败状态430。
以下表格用表格形式给出当一个手势识别器的行为被修改时,示例性的子事件序列的处理。在该例子中,子事件序列包括单击,并且视图具有两个点击手势识别器:单击手势识别器和双击手势识别器。并且在该例子中,单击手势识别器的代表不允许它接收子事件。
  序号   子事件序列(单击)   单击手势识别器   双击手势识别器
  0   传递开始之前   事件可能   事件可能
  1   检测到手指落下   事件可能   事件可能
  2   测量到延迟   事件可能   事件可能
  3   检测到手指抬起   事件可能   事件可能
  4   测量到延迟   事件可能   事件失败
由于单击手势识别器的代表不允许其接收子事件,所以单击手势识别器维持在事件可能状态410。当测量到的第二延迟超过预定义的阈值时(序号4),双击手势识别器转换到事件失败状态430。
以下表格用表格形式给出当一个手势识别器的行为被修改时,示例性的子事件序列的处理。在该例子中,子事件序列包括单击,并且视图具有两个点击手势识别器:单击手势识别器和双击手势识别器。并且在该例子中,两个手势识别器都不被允许同时识别该子事件序列。
  序号   子事件序列(单击)   单击手势识别器   双击手势识别器
  0   传递开始之前   事件可能   事件可能
  1   检测到手指落下   事件可能   事件可能
  2   测量到延迟   事件可能   事件可能
  3   检测到手指抬起   事件被识别   事件失败
  4   测量到延迟   事件被识别   事件失败
与上面描述的相似,在检测到手指抬起(序号3)之后,单击手势识别器从事件可能状态410转换到事件被识别状态420。一般地,识别出子事件序列的第一个手势识别器阻止其它的还未识别出该子事件序列的手势识别器识别该子事件序列。除非允许同时的识别,否则被阻止的手势识别器转换到事件失败状态430。这种情况下,由于不允许同时的识别,所以当单击手势识别器识别出子事件序列(序号3)时,双击手势识别器转换到并维持在事件失败状态430,直到其被重置。
以下表格用表格形式给出当一个手势识别器的行为被其代表修改,并且根据一个或两个识别器的代表所采取的动作来协调这两个手势识别器的操作时,示例性的子事件序列的处理。在该例子中,子事件序列包括单击,并且视图具有两个点击手势识别器:单击手势识别器和双击手势识别器。并且在该例子中,不允许单击手势识别器开始(或转换离开事件可能状态410)。
  序号   子事件序列(单击)   单击手势识别器 双击手势识别器
  0   传递开始之前   事件可能 事件可能
  1   检测到手指落下   事件可能 事件可能
  2   测量到延迟   事件可能 事件可能
  3   检测到手指抬起   事件失败 事件可能
  4   测量到延迟   事件失败 事件失败
在检测到手指抬起(序号3)之后,单击手势识别器尝试从事件可能状态410转换到事件被识别状态420。然而,分配给单击手势识别器的代表不允许状态转换到事件被识别状态420,其结果是,单击手势识别器转换到事件失败状态430。当测量到的延迟超过预定义的阈值(序号4)时,双击手势识别器转换到事件失败状态430。
以下表格用表格形式给出当一个手势识别器的行为被修改,并且根据一个或两个识别器的代表所采取的动作来协调这两个手势识别器的操作时,示例性的子事件序列的处理。在该例子中,子事件序列包括单击,并且视图具有两个点击手势识别器一单击手势识别器和双击手势识别器。并且在该例子中,单击手势识别器等待(或者需要)双击手势识别器失败。
  序号   子事件序列(单击)   单击手势识别器 双击手势识别器
  0   传递开始之前   事件可能 事件可能
  1   检测到手指落下   事件可能 事件可能
  2   测量到延迟   事件可能 事件可能
  3   检测到手指抬起   事件可能 事件可能
  4   测量到延迟   事件被识别 事件失败
在检测到手指抬起(序号3)之后,单击手势识别器尝试从事件可能状态410转换到事件被识别状态420。然而,由于“等待”的要求或者失败的要求(要求双击手势识别器失败),单击手势识别器延迟到事件被识别状态420的转换。当双击手势识别器由于测量到的第二延迟超过预定义的阈值(序号4)而失败时,单击手势识别器转换到事件被识别状态420。该“等待”的要求和/或失败的要求可通过使用代表而实现或者在手势识别器中实现。
以下表格用表格形式给出示例性的子事件序列的处理。在该例子中,子事件序列包括涉及多个中间子事件的平移手势,并且视图具有两个手势识别器:单击手势识别器和平移手势识别器。并且在该例子中,两个手势识别器都被允许同时识别该子事件序列。
  序号   子事件序列(平移手势)   单击手势识别器   平移手势识别器
  0   传递开始之前   事件可能   事件可能
  1   检测到手指落下   事件可能   事件开始
  2   测量到延迟   事件可能   事件开始
  3   检测到手指移动   事件失败   事件改变
  4   检测到手指移动   事件失败   事件改变
  5   检测到手指移动   事件失败   事件改变
  6   检测到手指抬起   事件失败   事件结束
在子事件信息的传递开始之前(序号0),两个手势识别器都处于事件可能状态410。即使在检测到手指落下子事件(序号1)以及测量到延迟(序号2)之后,单击手势识别器也维持在事件可能状态410,而平移手势识别器转换到事件开始状态412。响应于检测手指移动(序号3),由于该子事件与单击的手势定义不匹配,单击手势识别器转换到事件失败状态430。此后单击手势识别器维持在事件失败状态430直到其复位。然而,响应于检测到手指移动(序号4),平移手势识别器转换到事件改变状态414,并且在某些实施例中,发送包含手指接触的新位置的动作消息(一个或多个)。在检测到另外的手指移动(序号4和5)之后,平移手势识别器维持在事件改变状态414,而在每次检测到手指移动时发送动作消息。当检测到手指抬起(序号6)时,平移手势识别器转换到事件结束状态416。
转到事件信息流以及事件识别器之间的交互,图5A是示出根据某些实施例的事件信息流的框图。事件分派器模块315(例如,在操作系统118或控制应用124中)接收事件信息,并发送事件信息到应用(例如,132-1)。在某些实施例中,应用132-1包括视图层次结构506中的多个视图(例如,对应于视图316的508、510和512)以及这多个视图中的多个手势识别器(516-1至516-6)。应用132-1还包括一个或多个事件处理器520,其对应于动作-目标对(例如,522-1、522-2和522-3)中的目标值。事件分派器模块315从命中视图确定模块313接收命中视图信息,并发送事件信息至命中视图(例如,512)或附着到该命中视图(例如,512)的事件识别器(一个或多个)。在某些实施例中,只有附着到该命中视图的手势识别器的一个子集被允许(或被配置为)接收该事件信息(或触摸信息)。那些被允许接收事件信息的手势识别器此处被称为“接收手势识别器”。在图5A中,手势识别器516-1和516-2在一组接收手势识别器514中。结果,事件分派器模块315发送事件信息到该组接收手势识别器中的手势识别器516-1和516-2两者。
在某些实施例中,多个手势识别器可以阻止或防止彼此将事件或子事件识别为对应的手势。在该例子中,手势识别器1(516-1)阻止手势识别器2(516-2)将事件或子事件识别为对应的手势。结果是,该例子中,只有手势识别器1(516-1)发送动作消息(518)至对应的动作-目标对(例如,目标:动作1(522-1))。
图5B和5C是示出根据某些实施例的手势识别方法的流程图。图5B示出了手势识别器调用对应的代表的流程图,以及图5C示出了软件应用调用与相应的手势识别器对应的代表的流程图。在图5B和5C中,各列分别表示在各个实体或组件(例如,软件应用、手势识别器或代表)处执行的处理。
在图5B中,软件应用(例如,应用132-1)显示(530)多个视图(例如,506,508,510)中的一个或多个视图。该多个视图包括多个手势识别器(例如,516-1至516-6)。软件应用(例如,应用132-1)至少向该多个手势识别器的子集分配(532)不同的代表。在某些实施例中,相应的手势识别器被分配(533-1)给对应的代表。在某些实施例中,相应的代表被分配(533-2)给对应的手势识别器。可替换地,代表和手势识别器之间的对应可以在运行时间之前建立。贯穿以下的讨论,每次提及所分配的代表也可以指对应的代表,而每次提及已分配有代表的手势识别器也可以指与特定代表相对应的手势识别器。
软件应用(例如,应用132-1)检测(534)一个或多个事件,并使用一个或多个手势识别器(例如,320)处理(536)每个事件。
在(一个或多个手势识别器中的(例如,320))相应的手势识别器处,处理(538)相应的事件。为了解释代表的操作,我们假设处理该事件的相应手势识别器具有对应的代表。该相应手势识别器调用所分配的代表,并且根据应用状态,所分配的代表被执行(540)以确定一个或多个值。作为响应,该相应手势识别器根据所分配的代表确定的一个或多个值,向软件应用有条件地发送(542)与该相应的事件相对应的信息。
该软件应用根据从一个或多个手势识别器接收到的与一个或多个事件相对应的信息来执行(544)。
换句话说,这些实施例中,相应的手势识别器调用分配的代表以获得确定手势识别器行为的一个或多个值。如上面描述的,被其对应的代表修改的手势识别器的行为包括,是否要接收触摸/事件信息、是否要转换离开事件可能状态、和/或是否要允许同时的识别。通过控制哪些手势识别器接收哪些触摸,通过确定哪个手势识别器被允许转换到“事件被识别”或“事件开始”状态,以及通过允许或禁用同时识别,由代表进行的操作(有时,与其它手势识别器的代表的协调动作一起)还协调两个或更多个手势识别器的操作。
在图5C中,软件应用(例如,应用132-1)显示(530)多个视图(例如,506、508、510)中的一个或多个视图。该多个视图包括多个手势识别器(例如,516-1至516-6)。软件应用(例如,应用132-1)至少向该多个手势识别器的子集分配(532)不同的代表。在某些实施例中,相应的手势识别器被分配(533-1)给对应的代表。在某些实施例中,相应的代表被分配(533-2)给对应的手势识别器。可替换地,代表和手势识别器之间的对应可以在运行时间之前建立。
软件应用(例如,应用132-1)检测(535)一个或多个触摸,并利用一个或多个事件识别器,处理(546)该一个或多个触摸中的每一个。在处理该一个或多个触摸中的每一个时,该软件应用在多个手势识别器中确立(548)一组候选的手势识别器。在某些实施例中,候选手势识别器是附着到命中视图的手势识别器(例如,图5A中的手势识别器516-1、516-2和516-3)。
被分配给相应的候选手势识别器的代表根据应用状态被执行(550)以获得“接收触摸值”。该“接收触摸值”被用于确定相应的候选手势识别器是否可以接收事件/触摸信息(例如,图4C-4D中的“应当接收”步骤450)。
基于从相应的代表获得的接收触摸值,确立(552)一组接收手势识别器。这组接收手势识别器包括(552)候选手势识别器的一个子集。在某些实施例中,这组接收手势识别器包括所有不具有相应的被分配的代表的候选手势识别器。如果多于一个候选手势识别器具有对应的代表,则每个这样的候选手势识别器中的代表被执行以确定该候选手势识别器是否可以接收事件/触摸信息。从与候选手势识别器相对应的代表获得的“接收触摸值”被用于确立这组接收手势识别器。
在这组接收手势识别器处,处理(554)相应的触摸。如果相应的手势识别器处理相应触摸导致事件或手势的识别(参见匹配定义453,图4C和4D),则与该相应的手势识别器相对应的代表(如果有的话)被调用以确定是否允许识别该事件或手势。这对应于以上参照图4C和4D讨论的“应当开始”操作454。该代表返回指示状态转换是否被允许的一个或多个值。根据由所分配的代表确定的一个或多个值,相应的手势识别器向软件应用有条件地发送(542)与相应的事件相对应的信息。该软件应用根据从一个或多个手势识别器接收到的与相应的触摸相对应的信息来执行(544)。
换句话说,在这些实施例中,软件应用(或操作系统118或控制应用124)调用与相应的候选手势识别器相对应的代表,以获得指示哪个相应的候选手势识别器(如果有的话)应当处理相应的触摸的值。另外,手势识别器的行为的其它方面可以由所分配的代表进一步修改。
图6A-6B是示出根据某些实施例,根据从代表获得的信息来处理相应事件的示例性方法的流程图。
方法600在电子设备(例如,设备102或104)处执行(602),其中电子设备具有一个或多个事件传感器(例如,130)并被配置为执行软件应用(例如,132),该软件应用包括多个视图(例如,应用视图316)和该软件应用的应用状态(例如,317)。
设备显示(604)该多个视图中的一个或多个视图。该一个或多个显示的视图中的相应视图包括一个或多个手势识别器(例如,事件识别器320-1)。在某些实施例中,该一个或多个显示的视图的至少一个子集包括一个或多个手势识别器,而该一个或多个显示的视图中的其余视图不包括手势识别器。
该一个或多个手势识别器中的相应的手势识别器具有对应的代表。在某些实施例中,不是所有的手势识别器都具有对应的代表(即,在某些实施例中,有些手势识别器不具有对应的代表)。在某些实施例中,一个手势识别器对应于两个或更多个代表,其中每个代表为对应的手势识别器确定针对不同条件的不同的值(例如,第一代表确定“应当接收”450,第二代表确定“识别被阻止”451,等等)。在某些实施例中,两个或更多个手势识别器对应于(例如,利用)同一个代表。
在某些实施例中,设备分配(606)相应的代表(例如,代表321-1)给相应的手势识别器(例如,320-1)(例如,参见图5B中步骤532的描述)。可替换地,相应的手势识别器具有对应的代表,这样不需要在运行时分配代表。此处,所有提及的事件/手势识别器的所分配的代表应当理解为同样适用于事件/手势识别器的对应的代表,并且所有提及的对应的代表应当理解为同样适用于所分配的代表。
在某些实施例中,一个或多个显示的视图包括(608)多个手势识别器,并且设备至少向这多个手势识别器的子集分配不同的代表。也就是说,由于某些手势识别器可能不具有分配的代表,设备可能具有比手势识别器的数量更少的代表。
设备检测(610)一个或多个事件。在某些实施例中,设备使用传感器130、输入设备128和/或触摸敏感显示器156来检测一个或多个事件。
设备使用相应的手势识别器处理(612)一个或多个事件中的相应事件。相应事件的处理包括:根据与相应的手势识别器相对应的相应手势定义,在该相应的手势识别器处,处理该相应事件(例如,使用事件比较器332比较事件和手势定义333),根据应用状态执行对应的代表以确定一个或多个值(例如,图5B中540),以及根据相应的手势识别器处理相应事件的结果并且根据由对应的代表确定的一个或多个值,有条件地向软件应用发送与该相应事件相对应的信息(例如,手势识别器是否识别出该事件,诸如“点击手势”或“挥击手势”,有关的事件信息,诸如事件的位置和时间戳,和/或其它附加的信息)。
在某些实施例中,代表具有用于确定事件识别器属性(诸如“应当开始”、“应当接收”和“同时识别”)的指令,并且当执行时,返回一个或多个对应的值。在某些实施例中,可以由软件应用依据应用状态而设置事件识别器属性的值。在某些实施例中,属性的值由开发者预定义。在某些实施例中,相应事件/手势识别器的内部属性具有默认值,其可被对应于事件/手势识别器的代表推翻。
例如,当手势识别器被允许识别事件时(例如,基于由手势识别器的对应代表确定的一个或多个值,该一个或多个值指示该手势识别器是否能从事件可能状态410转换到事件被识别状态420或事件开始状态412,或者手势识别器是否能同时识别事件而无视阻止手势识别器的存在),设备发送对应于相应事件的信息。在某些实施例中,只有当事件与对应的手势定义或其一部分相匹配时,设备才发送与该相应事件对应的信息。此外,应用状态或者其它的条件可以阻止相应的手势识别器发送与该相应事件对应的信息。
设备根据从相应的手势识别器接收的与相应事件相对应的信息,执行(614)软件应用(例如,132-1)。例如,软件应用(例如,132-1)包括多个事件处理器322,并且根据从相应的手势识别器接收的信息,激活事件处理器322中的一个或多个(例如,动作-目标对345中列出的事件处理器322被激活)。
在某些实施例中,一个或多个事件传感器(例如,130)包括被配置为检测一个或多个触摸的触摸敏感表面(例如,156或单独的触摸敏感表面),一个或多个事件包括一个或多个触摸,并且处理相应事件包括处理相应触摸(616)。在某些实施例中,一个或多个传感器(例如,130)包括加速度计,并且一个或多个事件还包括电子设备的旋转或其它运动。
在某些实施例中,根据所分配的代表确定的一个或多个值,设备在相应的手势识别器处有条件地接收(618)相应触摸。例如,只有当对应的代表所确定的一个或多个值(例如,“接收触摸值”)允许该相应手势识别器接收该相应触摸时(例如,图4C-4D中的“应当接收”450),该相应手势识别器才接收该相应触摸。
在某些实施例中,当对应的代表确定的一个或多个值与预定义的触摸忽视标准匹配时,处理相应触摸包括(620)相应的手势识别器忽视该相应触摸。在这些实施例中,代替如步骤618中描述的有条件地接收相应触摸,相应的手势识别器忽视该相应触摸。
在某些实施例中,当对应的代表所确定的一个或多个值与预定义的触摸忽视标准匹配时,处理相应触摸包括(622)阻止相应的手势识别器接收该相应触摸。在这些实施例中,由于相应触摸被阻止因而没有到达相应手势识别器,所以手势识别器不需要有条件地接收或忽视该相应触摸。在某些实施例中,阻止相应手势识别器接收相应触摸包括指示事件分派器模块315不发送事件信息到对应的手势识别器。
在某些实施例中,在相应手势识别器中处理相应触摸包括(624):当检测到的触摸与相应的手势定义一致(例如,相应触摸与手势定义匹配或其一部分匹配)时,在对应的代表启用了对应的状态转换时在相应的手势识别器中启用该对应的状态转换(例如,图4C-4D中“应当开始”454)。在某些实施例中,当对应的代表确定了状态转换启用值(例如,“应当开始”值)以满足状态转换标准时,启用状态转换。
在某些实施例中,在相应手势识别器中处理相应触摸包括(626):当检测到的触摸与相应的手势定义一致时,在对应的代表启用了对应的状态转换时在相应手势识别器中有条件地启用该对应的状态转换。换句话说,状态转换被有条件地启用,即使对应的代表启用了(例如,没有阻止)该转换。例如,状态转换的条件包括:相应触摸/事件是否与手势定义或者其一部分匹配,相应手势识别器是否被允许接收相应触摸/事件,和/或相应触摸/事件的识别是否被阻止。
在某些实施例中,在相应手势识别器中处理相应触摸包括:当检测到的触摸与相应的手势定义一致时,在状态转换被另一个也已经识别出手势的手势识别器阻止/禁用时,在相应的手势识别器中(有条件地)禁用对应的状态转换。特别地,手势识别器可以成对(或成组),因而,一个手势识别器可以阻止另一(或其它)手势识别器转换到事件被识别状态420或事件开始状态412(例如,当第一手势识别器被配置为阻止第二手势识别器时,不论与第二手势识别器对应的代表返回什么值,第一手势识别器都在识别事件/触摸时阻止第二手势识别器识别该事件/触摸)。
在某些实施例中,基于优先级列出多个手势识别器(例如,基于代码的顺序、实例化的顺序、与相应手势识别器对应的视图层次结构、或者由开发者或软件应用分配的优先级)。当两个或更多个手势识别器同时识别一个相应触摸时,优先级最高的手势识别器阻止所有其它手势识别器识别该相应触摸。
在某些实施例中,在相应手势识别器中处理相应触摸包括(628):根据与第二手势识别器相对应的代表所确定的一个或多个值,在第二手势识别器中同时处理该相应触摸。例如,与第二手势识别器相对应的代表可以允许该第二手势识别器在第二手势识别器中处理该手势(例如,图4C-4D的步骤452),即使另一个手势识别器阻止该事件的识别。
在某些实施例中,在相应手势识别器中处理相应触摸包括(630):根据与该相应手势识别器相对应的代表所确定的一个或多个值,在第二手势识别器中同时处理该相应触摸。例如,与该手势识别器相对应的代表可以允许该第二手势识别器在第二手势识别器中处理该手势(例如,图4C-4D的步骤455和456),即使另一个手势识别器阻止该事件的识别。
在某些实施例中,在相应手势识别器中处理相应触摸包括(630),根据分别对应于第一和第二手势识别器的代表所确定的值,在第二手势识别器中同时处理该相应触摸。
图7A-7B是示出根据某些实施例,根据从代表获得的接收触摸值处理相应触摸的示例性方法的流程图。
由具有触摸敏感表面(例如,156)的电子设备(例如,设备104)执行(702)方法700,该电子设备被配置为执行包括多个视图(例如,316)和软件应用的应用状态(例如,317)的软件应用。
设备显示(704)多个视图中的一个或多个视图(例如,316)。该一个或多个显示的视图中的相应视图包括一个或多个手势识别器(例如,320-1或343-2),并且该一个或多个手势识别器中的相应手势识别器具有对应的代表(例如,321-1或346)。
设备检测(706)触摸敏感表面(例如,156或130)上的一个或多个触摸。该一个或多个触摸中的每一个具有落入一个或多个显示的视图中的触摸位置。
设备处理(708)一个或多个触摸中的相应触摸(例如,使用事件比较器332确定(453)相应触摸是否与手势定义333匹配)。处理该相应触摸包括:根据应用状态执行(710)对应于相应手势识别器的代表以获得接收触摸值(例如,图5C中的550);当接收触摸值满足预定义的标准(例如,在某些实施例中,预定义的标准是该相应手势识别器是接收手势识别器552)时,在该相应手势识别器中处理该相应触摸(例如,554);并且有条件地发送与该相应触摸对应的信息到软件应用(例如,542)。
在某些实施例中,多个视图包括(712)多个手势识别器(例如,图3B中的应用视图316和识别器320;图5A中的视图508、510和512以及手势识别器516)。不同的代表对应于多个手势识别器的至少一个子集。可选地,设备至少向这多个手势识别器的子集(例如,320)分配不同的代表(例如,321)。处理一个或多个触摸中的相应触摸包括:在多个手势识别器中确立一组候选手势识别器(例如,548);对于每个具有对应的代表的候选手势识别器,根据应用状态执行该对应的代表以获得接收触摸值(例如,550);根据所获得的接收触摸值,确立一个或多个接收手势识别器,其包括候选手势识别器的子集(例如,552);以及在一个或多个接收手势识别器中的每个手势识别器处,处理相应触摸(例如,554)。
在某些实施例中,在多个手势识别器中确立一组候选手势识别器包括:确立附着到命中视图的一组手势识别器。可选地,在多个手势识别器中确立一组候选手势识别器包括:确立包括与相应触摸相对应的手势定义的一组手势识别器。而且,在某些实施例中,确立一组接收手势识别器包括:确立候选手势识别器的一个子集,其对应的代表提供满足接收触摸标准的相应接收触摸值(例如,接收触摸值表明,对应的手势识别器可以接收相应触摸)。
在某些实施例中,在一个或多个接收手势识别器中的每个手势识别器中处理该相应触摸包括(718):在具有对应代表的相应手势识别器处,根据与该相应手势识别器对应的相应手势定义,处理该相应触摸;根据应用状态执行该代表以确定一个或多个值;以及根据该相应手势识别器处理该相应触摸的结果并根据由该代表确定的一个或多个值,有条件地发送与该相应触摸相对应的信息到软件应用。设备根据从一个或多个接收手势识别器接收到的与一个或多个触摸相对应的信息,执行该软件应用。
在某些实施例中,在相应接收手势识别器中处理相应触摸包括(720):当检测到的触摸与相应的手势定义相一致(例如,该相应触摸与手势定义或其一部分相匹配)时,在对应的代表启用了对应的状态转换时在相应的手势识别器中启用该对应的状态转换(例如,图4C-4D中的“应当开始”454)。
在某些实施例中,在相应接收手势识别器中处理相应触摸包括(722):当检测到的触摸与相应的手势定义相一致时,在对应的代表启用了对应的状态转换时在相应的手势识别器中有条件地启用该对应的状态转换。例如,状态转换的条件包括:相应触摸/事件是否与手势定义或其一部分相匹配,相应手势识别器是否被允许接收相应触摸/事件,相应事件/触摸的识别是否被阻止,和/或系统级指令(例如,关机处理或具有比该应用更高的优先级的其它处理)是否阻止状态转换。
在某些实施例中,在相应接收手势识别器中处理相应触摸包括(724):根据与第二手势识别器相对应的代表确定的一个或多个值,在第二手势识别器中同时处理该相应触摸。例如,与第二手势识别器相对应的代表可允许该第二手势识别器在第二手势识别器中处理该手势(例如,图4C-4D的步骤452)。
在某些实施例中,在相应接收手势识别器中处理相应触摸包括(726):根据与该相应手势识别器相对应的代表确定的一个或多个值,在第二手势识别器中同时处理该相应触摸(例如,图4C-4D的步骤455和456)。
设备根据从该相应手势识别器接收到的与该相应触摸相对应的信息,执行(716)该软件应用(例如,545)。例如,软件应用(例如,132-1)包括多个事件处理器322,并且一个或多个事件处理器322根据从相应手势识别器接收的信息而被激活(例如,动作-目标对345中列出的事件处理器322被激活)。
图8A-8B是示出根据某些实施例,在包括离散手势识别器和连续手势识别器的软件应用中处理相应触摸的示例性方法的流程图。
在具有触摸敏感表面且被配置为执行软件应用的电子设备(例如,设备104)处执行(802)方法800。
设备显示(804)软件应用(例如,132-1)的一个或多个视图(例如,316)。该一个或多个显示的视图包括多个手势识别器(例如,320)。该多个手势识别器包括至少一个离散手势识别器(例如,图4A和4C),以及至少一个连续手势识别器(例如,图4B和4D)。
在某些实施例中,离散手势识别器被配置为响应于相应手势发送单个动作消息,连续手势识别器被配置为根据相应的被识别手势中的连续的被识别子事件发送动作消息。
在某些实施例中,离散手势识别器被配置为响应于相应手势而发送一组动作消息。当多个目标-动作对被分配给该相应的离散手势识别器时,这一组动作消息包括多个动作消息。当单个目标-动作对被分配给该相应的离散手势识别器时,这一组动作消息包括一个动作消息。
在某些实施例中,每个手势识别器具有(822)一组手势识别器状态(例如,图4A-4D)。
在某些实施例中,离散手势识别器具有(824)第一组手势识别器状态,包括:
·手势可能状态410,对应于离散手势识别器的初始状态;
·手势被识别状态420,对应于相应手势的识别;以及
·手势失败状态430,对应于离散手势识别器将一个或多个触摸识别为相应手势的失败。
在某些实施例中,连续手势识别器具有第二组手势识别器状态,包括:
·手势可能状态410,对应于连续手势识别器的初始状态;
·手势开始状态412,对应于相应手势的初始识别;
·手势改变状态414,对应于相应触摸的相应位置改变;
·手势结束状态416,对应于相应被识别的手势的完成;
·手势取消状态418,对应于相应手势的识别的中断;
·手势失败状态430,对应于连续手势识别器将一个或多个触摸识别为相应手势的失败。
在某些实施例中,手势识别器状态具有分配的值(例如,手势识别器状态值)。在某些实施例中,手势被识别状态和手势结束状态具有(826)相同的手势识别器状态值。
在某些实施例中,所述至少一个离散手势识别器包括(828)以下的一个或多个:点击手势识别器,和挥击手势识别器;而所述至少一个连续手势识别器包括以下的一个或多个:长按手势识别器,收缩手势识别器,平移手势识别器,旋转手势识别器,和变形(transform)手势识别器。
在某些实施例中,所述至少一个离散手势识别器包括(830):点击手势识别器,和挥击手势识别器;而所述至少一个连续手势识别器包括:长按手势识别器,收缩手势识别器,平移手势识别器,旋转手势识别器,和变形手势识别器。
点击手势识别器被配置为识别点击手势;挥击手势识别器被配置为识别挥击手势(例如,在触摸敏感表面上的触摸的轻拂);长按手势识别器被配置为识别长按手势(例如,触摸的按压并保持);收缩手势识别器被配置为识别收缩手势(例如,两个或更多个触摸的接触和相对移动);平移手势识别器被配置为识别平移手势(例如,一个或多个触摸的触摸和连贯移动);旋转手势识别器被配置为识别旋转(例如,两个或更多个触摸的接触和旋转移动);以及变形手势识别器被配置为识别变形手势(例如,两个或更多个触摸的同时移动,代表平移、旋转和收缩)。
在某些实施例中,至少一个离散手势识别器(例如,一个或多个前面提到的离散手势识别器)和至少一个连续手势识别器(例如,一个或多个前面提到的连续手势识别器)以软件库来分发,从而软件开发者可以使用软件库将它们结合到任意第三方软件中。作为对照,视图具有视图风格(例如,用户界面对象和框架的颜色、大小和形状)。在某些实施例中,预定义的视图风格作为UI接口API(例如,图2中的204)的一部分被分发,这样软件开发者可以通过使用软件库(或模板)开发具有预定义视图风格的软件应用。
设备检测(图8A中的808)一个或多个触摸。在某些实施例中,设备使用传感器130、输入设备128和/或触摸敏感显示器156检测一个或多个事件。
设备使用一个或多个手势识别器处理(810)各个触摸。处理相应触摸包括(812):根据与相应手势识别器相对应的相应手势定义,在相应手势识别器中处理相应触摸(例如,使用事件比较器332比较事件和手势定义333,并确定该事件是否与手势定义或其一部分相匹配),以及根据在相应手势识别器中的相应触摸的处理结果,有条件地发送一个或多个相应的动作消息到软件应用(例如,当相应触摸与手势定义匹配时发送动作消息)。
在某些实施例中,软件应用具有(814)应用状态。有条件地发送一个或多个相应动作消息包括:进一步根据软件应用的应用状态,有条件地发送该一个或多个相应动作消息。例如,软件应用的应用状态可延迟或阻止发送该一个或多个相应动作消息(例如,当系统资源使用过度时,当更高优先级的进程需要处理时,等等)。
设备根据从一个或多个手势识别器接收到的与一个或多个触摸相对应的一个或多个动作消息,执行(816)软件应用。例如,软件应用(例如,132-1)包括多个事件处理器322,并且一个或多个事件处理器322根据从一个或多个手势识别器接收的动作消息被激活。
在某些实施例中,设备向相应手势识别器请求(818)附加信息。执行软件应用包括进一步根据该附加信息执行软件应用。例如,相应手势识别器可以提供附加信息(例如,详细的信息,诸如每个子事件的时间戳、抖动量、速度、方向、持续时间、比例因子、角度等)。
在某些实施例中,附加信息包括(820)在相应手势识别器中处理的相应触摸的数量和位置。
根据某些实施例,图9示出按照本发明上述原理配置的电子设备900的功能框图。该设备的功能块可由硬件、软件、或硬件和软件的结合来实现以执行本发明的原理。本领域技术人员可以理解的是,图9描述的功能块可以合并或分离成子块以实现本发明的上述原理。因此,这里的描述可以支持此处描述的功能块的任意组合或分离或进一步的限定。
如图9所示,电子设备900包括被配置为感测一个或多个事件的一个或多个事件感测单元902,以及与该一个或多个事件感测单元902耦合的处理单元906。在某些实施例中,该电子设备还包括与处理单元906耦合的显示单元904。在某些实施例中,处理单元906包括执行单元908、显示启用单元910、检测单元912、事件处理单元914、发送单元916、识别器启用单元918、阻止单元920、和分配单元922。
处理单元906被配置为:执行包括多个视图和软件应用的应用状态的软件应用(例如,利用执行单元908),以及启用所述多个视图中的一个或多个视图的显示(例如,利用显示启用单元910在显示单元904上显示)。该一个或多个显示的视图中的相应视图包括相应的手势识别器,并且相应的手势识别器具有对应的代表。处理单元906被配置为检测由一个或多个事件感测单元902感测到的一个或多个事件(例如,利用检测单元912),以及利用相应的手势识别器通过以下步骤处理该一个或多个事件中的相应事件(例如,利用事件处理单元914):根据与相应的手势识别器对应的相应手势定义,在该相应的手势识别器中处理该相应事件(例如,利用事件处理单元914);根据应用状态执行对应的代表以确定一个或多个值(例如,利用执行单元908);以及根据相应的事件识别器处理相应事件的结果和根据对应的代表确定的一个或多个值,有条件地发送与相应事件对应的信息到软件应用(例如,利用发送单元916)。处理单元906被配置为根据从相应的手势识别器接收的与相应事件对应的信息来执行软件应用(例如,利用执行单元908)。
在某些实施例中,一个或多个事件感测单元908包括触摸敏感表面单元(例如,图10中触摸敏感表面单元1002),其被配置为检测一个或多个触摸,一个或多个事件包括该一个或多个触摸,并且处理单元906被配置为处理相应触摸(例如,利用事件处理单元914)。
在某些实施例中,处理单元906被配置为,启用相应的手势识别器,以根据由对应的代表确定的一个或多个值有条件地接收该相应触摸(例如,利用识别器启用单元918)。
在某些实施例中,处理单元906被配置为,通过在对应的代表确定的一个或多个值与预定义的触摸忽略标准匹配时使相应的手势识别器能够忽略该相应触摸,来处理该相应触摸(例如,利用事件处理单元914和/或识别器启用单元918)。
在某些实施例中,处理单元906被配置为,通过在对应的代表确定的一个或多个值与预定义的触摸忽略标准匹配时阻止相应的手势识别器接收相应触摸,来处理该相应触摸(例如,利用事件处理单元914和/或阻止单元920)。
在某些实施例中,处理单元906被配置为,当检测到的触摸与相应的手势定义一致时,在对应的代表启用了对应的状态转换时在相应的手势识别器中启用该对应的状态转换,来在相应的手势识别器中处理该相应触摸(例如,利用事件处理单元914和/或识别器启用单元918)。
在某些实施例中,处理单元906被配置为,当检测到的触摸与相应的手势定义一致时,在对应的代表启用了对应的状态转换时在相应的手势识别器中有条件地启用该对应的状态转换,来在相应的手势识别器中处理该相应触摸(例如,利用事件处理单元914和/或启用单元918)。
在某些实施例中,处理单元906被配置为,通过根据与第二手势识别器对应的代表确定的一个或多个值,在第二手势识别器中同时处理该相应触摸,来在相应的手势识别器中处理该相应触摸(例如,利用事件处理单元914)。
在某些实施例中,处理单元906被配置为,通过根据与所述相应的手势识别器对应的代表确定的一个或多个值,在第二手势识别器中同时处理该相应触摸,来在该相应的手势识别器中处理该相应触摸(例如,利用事件处理单元914)。
在某些实施例中,一个或多个显示的视图包括多个手势识别器,并且处理单元906被配置为至少向所述多个手势识别器的子集分配不同的代表(例如,利用分配单元922)。
根据某些实施例,图10示出了按照本发明上述原理配置的电子设备1000的功能框图。该设备的功能块可由硬件、软件、或硬件和软件的组合来实现以执行本发明的原理。本领域技术人员可以理解的是,图10描述的功能块可以合并或分离成子块以实现上述本发明的原理。因此,这里的描述可以支持此处描述的功能块的任何可能的组合或分离或进一步的限定。
如图10所示,电子设备1000包括被配置为接收一个或多个触摸的触摸敏感表面1002,以及与该触摸敏感表面1002耦合的处理单元1006。在某些实施例中,该电子设备1000还包括与处理单元1006耦合的显示单元1004。在某些实施例中,该处理单元1006包括执行单元1008、显示启用单元1010、检测单元1012、触摸处理单元1014、发送单元1016、分配单元1018、确立单元1020、和识别器启用单元1022。
处理单元1006被配置为:执行包括多个视图和软件应用的应用状态的软件应用(例如,利用执行单元1008),以及启用该多个视图中的一个或多个视图的显示(例如,利用显示启用单元1010在显示单元1004上显示)。该一个或多个显示的视图中的相应视图包括一个或多个相应的手势识别器,并且相应的手势识别器具有对应的代表。该处理单元1006被配置为检测在触摸敏感表面单元1002上接收到的一个或多个触摸(例如,利用检测单元1012)。每个触摸具有落入一个或多个显示的视图的触摸位置。处理单元1006被配置为通过以下步骤处理一个或多个触摸中的相应触摸:根据应用状态,执行与相应的手势识别器对应的代表以获得接收触摸值(例如,利用执行单元1008);当接收触摸值满足预定义的标准时,在相应的手势识别器中处理该相应触摸(例如,利用触摸处理单元1004);以及有条件地发送与该相应触摸对应的信息到软件应用(例如,利用发送单元1016)。该处理单元1006被配置为根据从相应手势识别器接收的与该相应触摸对应的信息来执行软件应用(例如,利用执行单元1008)。
在某些实施例中,该多个视图包括多个手势识别器。处理单元1006被配置为:至少向该多个手势识别器的子集分配不同的代表(例如,利用分配单元1018),并且通过以下步骤处理一个或多个触摸中的所述相应触摸:在多个手势识别器中确立一组候选手势识别器(例如,利用确立单元1020);对于具有分配的代表的每个候选手势识别器,根据应用状态,执行分配的代表以获得接收触摸值(例如,利用执行单元1008);根据获得的接收触摸值,确立一个或多个接收手势识别器,包括候选手势识别器的子集(例如,利用确立单元1020);以及在一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸(例如,利用触摸处理单元1014)。
在某些实施例中,处理单元1006被配置为通过以下步骤在一个或多个接收手势识别器中的每个手势识别器中处理该相应触摸在已经分配了代表的相应的接收手势识别器中,根据与该相应的手势识别器对应的相应手势定义,处理所述相应触摸(例如,利用触摸处理单元1004),根据应用状态执行该分配的代表以确定一个或多个值(例如,利用执行单元1008),以及根据所述相应的手势识别器处理所述相应触摸的结果并根据所分配的代表确定的一个或多个值,有条件地发送与所述相应触摸对应的信息到软件应用(例如,利用发送单元1016);并且处理单元1006被配置为根据从一个或多个接收手势识别器接收的与一个或多个触摸对应的信息,执行所述软件应用(例如,利用执行单元1008)。
在某些实施例中,处理单元1006被配置为通过以下步骤在相应的接收手势识别器中处理该相应触摸:当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中启用该对应的状态转换(例如,利用识别器启用单元1022)。
在某些实施例中,处理单元1006被配置为通过以下步骤在相应的接收手势识别器中处理该相应触摸:当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中有条件地启用该对应的状态转换(例如,利用识别器启用单元1022)。
在某些实施例中,处理单元1006被配置为通过以下步骤在相应的接收手势识别器中处理该相应触摸:根据分配给第二手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸(例如,利用触摸处理单元1014)。
在某些实施例中,处理单元1006被配置为通过以下步骤在相应的接收手势识别器中处理该相应触摸:根据分配给该相应的手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸(例如,利用触摸处理单元1014)。
根据某些实施例,图11示出按照本发明上述原理配置的电子设备1100的功能框图。该设备的功能块可由硬件、软件、或硬件和软件的组合来实现以执行本发明的原理。本领域技术人员可以理解的是图11描述的功能块可以合并或分离成子块以实现上述本发明的原理。因此,本文的描述可以支持此处描述的功能块的任意组合或分离或进一步的限定。
如图11所示,电子设备1100包括被配置为接收一个或多个触摸的触摸敏感表面单元1102;以及与触摸敏感表面单元1102耦合的处理单元1106。在某些实施例中,该电子设备1100还包括耦合到处理单元1106的显示单元1104。在某些实施例中,处理单元包括执行单元1108、显示启用单元1110、检测单元1112、触摸处理单元1114、发送单元1116、以及请求单元1118。
处理单元1106被配置为:执行软件应用(例如,利用执行单元1108),以及启用软件应用中一个或多个视图的显示(例如,利用显示启用单元1110在显示单元1104上显示)。该一个或多个显示的视图包括多个手势识别器,并且该多个手势识别器包括至少一个离散手势识别器和至少一个连续手势识别器。离散手势识别器被配置为响应于相应手势发送单个动作消息,连续手势识别器被配置为根据相应的被识别手势中的连续的被识别子事件发送动作消息。处理单元1106被配置为检测在触摸敏感表面单元1102上接收到的一个或多个触摸(例如,利用检测单元1112),使用一个或多个手势识别器处理每个触摸(例如,利用触摸处理单元1114)。处理单元1106被配置为通过以下步骤处理相应触摸:根据与相应的手势识别器对应的相应手势定义,在相应的手势识别器中处理该相应触摸(例如,利用触摸处理单元1114),并且根据在该相应手的势识别器中处理该相应触摸的结果,有条件地发送一个或多个相应动作消息到软件应用(例如,利用发送单元1116)。处理单元1106被配置为根据从一个或多个手势识别器接收的与一个或多个触摸对应的一个或多个动作消息,来执行该软件应用(例如,利用执行单元1108)。
在某些实施例中,每个手势识别器具有一组手势识别器状态。
在某些实施例中,离散手势识别器具有第一组手势识别器状态,包括:手势可能状态,对应于离散手势识别器的初始状态;手势被识别状态,对应于相应手势的识别;以及手势失败状态,对应于离散手势识别器将一个或多个触摸识别为相应手势的失败。连续手势识别器具有第二组手势识别器状态,包括:手势可能状态;手势开始状态,对应于相应手势的初始识别;手势改变状态,对应于相应触摸的相应位置改变;手势结束状态,对应于相应被识别的手势的完成;手势取消状态,对应于相应手势的识别的中断;手势失败状态,对应于连续手势识别器将一个或多个触摸中识别为相应手势的失败。
在某些实施例中,手势识别器状态和手势结束状态具有相同的手势识别器状态值。
在某些实施例中,软件应用具有应用状态;并且处理单元1106被配置为进一步根据软件应用的应用状态,有条件地发送一个或多个相应动作消息(例如,利用发送单元1116)。
在某些实施例中,处理单元1106被配置为:向相应的手势识别器请求附加信息(例如,利用请求单元1118);以及进一步根据该附加信息执行该软件应用(例如,利用执行单元1108)。
在某些实施例中,该附加信息包括在相应手势识别器中处理的相应触摸的数量和位置。
在某些实施例中,该至少一个离散手势识别器包括以下一个或多个:点击手势识别器,和挥击手势识别器;该至少一个连续手势识别器包括以下一个或多个:长按手势识别器,收缩手势识别器,平移手势识别器,旋转手势识别器,和变形手势识别器。
在某些实施例中,该至少一个离散手势识别器包括:点击手势识别器,和挥击手势识别器;该至少一个连续手势识别器包括:长按手势识别器,收缩手势识别器,平移手势识别器,旋转手势识别器,和变形手势识别器。
出于解释的目的,参照了特定的实施例描述了前面的内容。然而,上述示例性的讨论的目的不是穷举性的或者将本发明限制于公开的精确形式。根据上述的教导可能存在许多的改进或者变形。选择和描述这些实施例是为了更好地解释本发明的原理和实际应用,从而使得本领域的其它技术人员最好地利用本发明以及适合预期的特定用途的具有各种修改的各种实施例。

Claims (27)

1.一种方法,包括:
在具有触摸敏感表面并被配置为执行包括多个视图和软件应用的应用状态的软件应用的电子设备处:
显示所述多个视图中的一个或多个视图,其中所显示的所述一个或多个视图中的相应视图包括一个或多个相应的手势识别器,相应的手势识别器具有对应的代表;
在触摸敏感表面上检测一个或多个触摸,每个触摸具有落入一个或多个显示的视图中的触摸位置;
处理所述一个或多个触摸中的相应触摸,包括:
根据应用状态执行与相应的手势识别器对应的代表以获得接收触摸值;
当所述接收触摸值满足预定义的标准时,在所述相应的手势识别器中处理所述相应触摸;以及
有条件地发送与所述相应触摸对应的信息到所述软件应用;以及根据从所述相应的手势识别器接收的与所述相应触摸对应的信息,执行所述软件应用。
2.根据权利要求1所述的方法,
其中所述多个视图包括多个手势识别器;
所述方法包括至少向所述多个手势识别器的一个子集分配不同的代表;并且
其中处理所述一个或多个触摸中的相应触摸包括:
在所述多个手势识别器中确立一组候选手势识别器;
对于每个具有所分配的代表的候选手势识别器,根据应用状态执行所分配的代表以获得接收触摸值;
根据所获得的接收触摸值,确立一个或多个接收手势识别器,所述一个或多个接收手势识别器包括所述候选手势识别器的一个子集;以及
在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸。
3.根据权利要求2所述的方法,其中在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸包括:在已经分配了代表的相应的接收手势识别器中,根据与该相应的手势识别器对应的相应手势定义,处理所述相应触摸;根据应用状态执行所分配的代表以确定一个或多个值;以及根据所述相应的手势识别器处理所述相应触摸的结果并根据由所分配的代表确定的所述一个或多个值,有条件地发送与所述相应触摸对应的信息到所述软件应用;以及
所述方法包括:根据从一个或多个所述接收手势识别器接收的与一个或多个触摸对应的信息,执行所述软件应用。
4.根据权利要求3所述的方法,其中在相应的接收手势识别器中处理所述相应触摸包括:当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中启用该对应的状态转换。
5.根据权利要求3所述的方法,其中在相应的接收手势识别器中处理所述相应触摸包括:当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中有条件地启用该对应的状态转换。
6.根据权利要求3-5中任一权利要求所述的方法,其中在相应的接收手势识别器中处理所述相应触摸包括:根据分配给第二手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸。
7.根据权利要求3-5中任一权利要求所述的方法,其中在相应的接收手势识别器中处理所述相应触摸包括:根据分配给该相应的手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸。
8.一种电子设备,包括:
触摸敏感表面;
用于执行软件应用的装置,所述软件应用包括多个视图和所述软件应用的应用状态;
用于显示所述多个视图中的一个或多个视图的装置,其中所显示的所述一个或多个视图中的相应视图包括一个或多个相应的手势识别器,相应的手势识别器具有对应的代表;
用于在触摸敏感表面上检测一个或多个触摸的装置,每个触摸具有落入一个或多个显示的视图中的触摸位置;
用于处理所述一个或多个触摸中的相应触摸的装置,包括:
用于根据应用状态执行与相应的手势识别器对应的代表以获得接收触摸值的装置;
用于当所述接收触摸值满足预定义的标准时被启用以便在所述相应的手势识别器中处理所述相应触摸的装置;以及
用于有条件地发送与所述相应触摸对应的信息到所述软件应用的装置;
以及
用于根据从所述相应的手势识别器接收的与所述相应触摸对应的信息,执行所述软件应用的装置。
9.根据权利要求8所述的设备,其中:
所述多个视图包括多个手势识别器;
所述软件应用包括用于至少向所述多个手势识别器的一个子集分配不同的代表的指令;以及
用于处理所述一个或多个触摸中的相应触摸的装置包括:
用于在所述多个手势识别器中确立一组候选手势识别器的装置;
用于对于每个具有所分配的代表的候选手势识别器,根据应用状态执行所分配的代表以获得接收触摸值的装置;
用于根据所获得的接收触摸值,确立一个或多个接收手势识别器的装置,所述一个或多个接收手势识别器包括所述候选手势识别器的一个子集;以及
用于在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸的装置。
10.根据权利要求9所述的设备,其中:
用于在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸的装置包括:
用于在已经分配了代表的相应的接收手势识别器中,根据与该相应的手势识别器对应的相应手势定义,处理所述相应触摸的装置,
用于根据应用状态执行所分配的代表以确定一个或多个值的装置,以及
用于根据所述相应的手势识别器处理所述相应触摸的结果并根据由所分配的代表确定的所述一个或多个值,有条件地发送与所述相应触摸对应的信息到所述软件应用的装置;以及
所述软件应用被配置为根据从一个或多个所述接收手势识别器接收的与一个或多个触摸对应的信息来执行。
11.根据权利要求10所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于当检测到的触摸与相应手势定义一致时被启用,以便在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中启用该对应的状态转换的装置。
12.根据权利要求10所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于当检测到的触摸与相应手势定义一致时被启用,以便在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中有条件地启用该对应的状态转换的装置。
13.根据权利要求10-12中任一权利要求所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于根据分配给第二手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸的装置。
14.根据权利要求10-12中任一权利要求所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于根据分配给该相应的手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸的装置。
15.一种电子设备,包括:
触摸敏感表面单元,被配置为接收一个或多个触摸;以及
处理单元,耦合到所述触摸敏感表面单元,所述处理单元被配置为:
执行软件应用,所述软件应用包括多个视图和所述软件应用的应用状态;
启用所述多个视图中的一个或多个视图的显示,其中所显示的所述一个或多个视图中的相应视图包括一个或多个相应的手势识别器,相应的手势识别器具有对应的代表;
检测在所述触摸敏感表面单元上接收到的一个或多个触摸,每个触摸具有落入一个或多个显示的视图中的触摸位置;
处理所述一个或多个触摸中的相应触摸,其中对于所述相应触摸,所述处理单元被配置为:
根据应用状态执行与相应的手势识别器对应的代表以获得接收触摸值;
当所述接收触摸值满足预定义的标准时,在所述相应的手势识别器中处理所述相应触摸;以及
有条件地发送与所述相应触摸对应的信息到所述软件应用;以及
根据从所述相应的手势识别器接收的与所述相应触摸对应的信息,执行所述软件应用。
16.根据权利要求15所述的设备,其中:
所述多个视图包括多个手势识别器;
所述处理单元被配置为:
至少向所述多个手势识别器的一个子集分配不同的代表;以及
通过以下步骤处理所述一个或多个触摸中的相应触摸:
在所述多个手势识别器中确立一组候选手势识别器;
对于每个具有所分配的代表的候选手势识别器,根据应用状态执行所分配的代表以获得接收触摸值;
根据所获得的接收触摸值,确立一个或多个接收手势识别器,所述一个或多个接收手势识别器包括所述候选手势识别器的一个子集;以及在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸。
17.根据权利要求16所述的设备,其中:
所述处理单元被配置为:
通过以下步骤在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸:
在已经分配了代表的相应的接收手势识别器中,根据与该相应的手势识别器对应的相应手势定义,处理所述相应触摸;
根据应用状态执行所分配的代表以确定一个或多个值;以及根据所述相应的手势识别器处理所述相应触摸的结果并根据由所分配的代表确定的所述一个或多个值,有条件地发送与所述相应触摸对应的信息到所述软件应用;以及
根据从一个或多个所述接收手势识别器接收的与一个或多个触摸对应的信息,执行所述软件应用。
18.根据权利要求17所述的设备,其中所述处理单元被配置为通过以下步骤在相应的接收手势识别器中处理所述相应触摸:当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中有条件地启用该对应的状态转换。
19.根据权利要求17-18中任一权利要求所述的设备,其中所述处理单元被配置为通过以下步骤在相应的接收手势识别器中处理所述相应触摸:根据分配给第二手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸。
20.根据权利要求17-18中任一权利要求所述的设备,其中所述处理单元被配置为通过以下步骤在相应的接收手势识别器中处理所述相应触摸:根据分配给该相应的手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸。
21.一种设备,包括:
用于在具有触摸敏感表面并被配置为执行包括多个视图和软件应用的应用状态的软件应用的电子设备处,显示所述多个视图中的一个或多个视图的装置,其中所显示的所述一个或多个视图中的相应视图包括一个或多个相应的手势识别器,相应的手势识别器具有对应的代表;
用于在触摸敏感表面上检测一个或多个触摸,每个触摸具有落入一个或多个显示的视图中的触摸位置的装置;
用于处理所述一个或多个触摸中的相应触摸的装置,包括:
用于根据应用状态执行与相应的手势识别器对应的代表以获得接收触摸值的装置;
用于当所述接收触摸值满足预定义的标准时,在所述相应的手势识别器中处理所述相应触摸的装置;以及
用于有条件地发送与所述相应触摸对应的信息到所述软件应用的装置;
以及
用于根据从所述相应的手势识别器接收的与所述相应触摸对应的信息,执行所述软件应用的装置。
22.根据权利要求21所述的设备,
其中所述多个视图包括多个手势识别器;
所述设备包括用于至少向所述多个手势识别器的一个子集分配不同的代表的装置;并且
其中用于处理所述一个或多个触摸中的相应触摸的装置包括:
用于在所述多个手势识别器中确立一组候选手势识别器的装置;
用于对于每个具有所分配的代表的候选手势识别器,根据应用状态执行所分配的代表以获得接收触摸值的装置;
用于根据所获得的接收触摸值,确立一个或多个接收手势识别器,所述一个或多个接收手势识别器包括所述候选手势识别器的一个子集的装置;以及
用于在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸的装置。
23.根据权利要求22所述的设备,
其中用于在所述一个或多个接收手势识别器中的每个手势识别器中处理所述相应触摸的装置包括:
用于在已经分配了代表的相应的接收手势识别器中,根据与该相应的手势识别器对应的相应手势定义,处理所述相应触摸的装置;
用于根据应用状态执行所分配的代表以确定一个或多个值的装置;以及用于根据所述相应的手势识别器处理所述相应触摸的结果并根据由所分配的代表确定的所述一个或多个值,有条件地发送与所述相应触摸对应的信息到所述软件应用的装置;以及
所述设备包括:用于根据从一个或多个所述接收手势识别器接收的与一个或多个触摸对应的信息,执行所述软件应用的装置。
24.根据权利要求23所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中启用该对应的状态转换的装置。
25.根据权利要求23所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于当检测到的触摸与相应手势定义一致时,在所分配的代表启用了对应的状态转换时在所述相应的手势识别器中有条件地启用该对应的状态转换的装置。
26.根据权利要求23-25中任一权利要求所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于根据分配给第二手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸的装置。
27.根据权利要求23-25中任一权利要求所述的设备,其中用于在相应的接收手势识别器中处理所述相应触摸的装置包括:用于根据分配给该相应的手势识别器的代表所确定的一个或多个值,在第二手势识别器中同时处理所述相应触摸的装置。
CN201110063183.8A 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器 Active CN102135858B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310557440.2A CN103558984B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201310557439.XA CN103558983B (zh) 2010-01-26 2011-01-26 用于手势识别的方法、设备和电子设备
CN201410198170.5A CN103955341B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29853110P 2010-01-26 2010-01-26
US61/298,531 2010-01-26
US12/789,695 2010-05-28
US12/789,695 US9684521B2 (en) 2010-01-26 2010-05-28 Systems having discrete and continuous gesture recognizers

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN201310557440.2A Division CN103558984B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201310557439.XA Division CN103558983B (zh) 2010-01-26 2011-01-26 用于手势识别的方法、设备和电子设备
CN201410198170.5A Division CN103955341B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器

Publications (2)

Publication Number Publication Date
CN102135858A true CN102135858A (zh) 2011-07-27
CN102135858B CN102135858B (zh) 2014-06-11

Family

ID=43825308

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201310557440.2A Active CN103558984B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201410198170.5A Active CN103955341B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201110063183.8A Active CN102135858B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201310557439.XA Active CN103558983B (zh) 2010-01-26 2011-01-26 用于手势识别的方法、设备和电子设备

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201310557440.2A Active CN103558984B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器
CN201410198170.5A Active CN103955341B (zh) 2010-01-26 2011-01-26 具有用于控制和修改手势识别的代表的手势识别器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201310557439.XA Active CN103558983B (zh) 2010-01-26 2011-01-26 用于手势识别的方法、设备和电子设备

Country Status (7)

Country Link
US (3) US9684521B2 (zh)
EP (2) EP2354930B1 (zh)
JP (3) JP5497920B2 (zh)
KR (3) KR101695606B1 (zh)
CN (4) CN103558984B (zh)
AU (3) AU2011209720B2 (zh)
WO (1) WO2011094267A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097650A1 (zh) * 2011-12-28 2013-07-04 华为终端有限公司 一种应用程序启动方法、系统及终端设备
CN103529976A (zh) * 2012-07-02 2014-01-22 英特尔公司 手势识别系统中的干扰消除
CN103731578A (zh) * 2012-10-10 2014-04-16 柯尼卡美能达株式会社 图像处理装置以及操作事件判别方法
CN104076974A (zh) * 2013-03-25 2014-10-01 柯尼卡美能达株式会社 手势判别装置、手势判别方法、以及计算机程序
CN107077272A (zh) * 2014-10-22 2017-08-18 微软技术许可有限责任公司 响应于用户动作而确定启用直接操纵的命中测试
CN108379843A (zh) * 2018-03-16 2018-08-10 网易(杭州)网络有限公司 虚拟对象控制方法与装置
CN110362414A (zh) * 2013-06-09 2019-10-22 苹果公司 代理手势识别器
CN110490062A (zh) * 2019-07-11 2019-11-22 武汉科技大学 一种基于多视图的双手手势识别方法
CN112181265A (zh) * 2019-07-04 2021-01-05 北京小米移动软件有限公司 一种触控信号处理方法、装置及介质

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8645827B2 (en) * 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8375336B2 (en) * 2008-05-23 2013-02-12 Microsoft Corporation Panning content utilizing a drag operation
US9684521B2 (en) * 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US20110199386A1 (en) * 2010-02-12 2011-08-18 Honeywell International Inc. Overlay feature to provide user assistance in a multi-touch interactive display environment
US8570286B2 (en) * 2010-02-12 2013-10-29 Honeywell International Inc. Gestures on a touch-sensitive display
US8638371B2 (en) * 2010-02-12 2014-01-28 Honeywell International Inc. Method of manipulating assets shown on a touch-sensitive display
US8756522B2 (en) * 2010-03-19 2014-06-17 Blackberry Limited Portable electronic device and method of controlling same
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
US8972467B2 (en) 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device
US8767019B2 (en) * 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
US9870141B2 (en) * 2010-11-19 2018-01-16 Microsoft Technology Licensing, Llc Gesture recognition
US20120131513A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Gesture Recognition Training
US20120133579A1 (en) * 2010-11-30 2012-05-31 Microsoft Corporation Gesture recognition management
US8589950B2 (en) 2011-01-05 2013-11-19 Blackberry Limited Processing user input events in a web browser
US9471145B2 (en) 2011-01-06 2016-10-18 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9465440B2 (en) * 2011-01-06 2016-10-11 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9477311B2 (en) 2011-01-06 2016-10-25 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9766718B2 (en) 2011-02-28 2017-09-19 Blackberry Limited Electronic device and method of displaying information in response to input
US9015641B2 (en) 2011-01-06 2015-04-21 Blackberry Limited Electronic device and method of providing visual notification of a received communication
US9423878B2 (en) 2011-01-06 2016-08-23 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US8978047B2 (en) * 2011-02-03 2015-03-10 Sony Corporation Method and system for invoking an application in response to a trigger event
US8836802B2 (en) 2011-03-21 2014-09-16 Honeywell International Inc. Method of defining camera scan movements using gestures
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US20130055164A1 (en) * 2011-08-24 2013-02-28 Sony Ericsson Mobile Communications Ab System and Method for Selecting Objects on a Touch-Sensitive Display of a Mobile Communications Device
US9360940B2 (en) * 2011-11-14 2016-06-07 Google Inc. Multi-pane interface
KR101354234B1 (ko) * 2011-12-05 2014-01-22 (주)이스트소프트 터치 입력 장치에서의 애플리케이션 제공 방법
US9323379B2 (en) * 2011-12-09 2016-04-26 Microchip Technology Germany Gmbh Electronic device with a user interface that has more than two degrees of freedom, the user interface comprising a touch-sensitive surface and contact-free detection means
EP2812784A4 (en) * 2012-02-07 2015-11-11 Blackberry Ltd METHODS AND DEVICES FOR MERGING CONTACT RECORDINGS
US9575652B2 (en) * 2012-03-31 2017-02-21 Microsoft Technology Licensing, Llc Instantiable gesture objects
WO2013169870A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for transitioning between display states in response to gesture
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
CN104471521B (zh) 2012-05-09 2018-10-23 苹果公司 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
EP3185116B1 (en) 2012-05-09 2019-09-11 Apple Inc. Device, method and graphical user interface for providing tactile feedback for operations performed in a user interface
US8875060B2 (en) * 2012-06-04 2014-10-28 Sap Ag Contextual gestures manager
JP5852928B2 (ja) * 2012-06-27 2016-02-03 株式会社オプティム 所作入力装置、所作入力方法及びプログラム
CN102841804B (zh) * 2012-06-27 2014-12-10 北京三星通信技术研究有限公司 同屏多前台任务处理方法及装置
US8874969B2 (en) 2012-07-09 2014-10-28 Microsoft Corporation Independent hit testing
US9021437B2 (en) * 2012-07-13 2015-04-28 Microsoft Technology Licensing, Llc Declarative style rules for default touch behaviors
EP2872980B1 (en) 2012-07-15 2018-10-17 Apple Inc. Disambiguation of multitouch gesture recognition for 3d interaction
US9507513B2 (en) 2012-08-17 2016-11-29 Google Inc. Displaced double tap gesture
US8782549B2 (en) * 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9569107B2 (en) * 2012-10-16 2017-02-14 Google Inc. Gesture keyboard with gesture cancellation
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
WO2014072798A2 (en) 2012-11-08 2014-05-15 Rondish Co., Ltd Bed monitoring pad
US20140141889A1 (en) 2012-11-19 2014-05-22 2343127 Ontario Inc. Systems and Methods for Capture and Use of Local Elements in Gameplay
US20140149916A1 (en) * 2012-11-28 2014-05-29 SoMo Audience Corp. Content manipulation using swipe gesture recognition technology
KR101958582B1 (ko) 2012-12-29 2019-07-04 애플 인크. 터치 입력에서 디스플레이 출력으로의 관계들 사이에서 전환하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US9703477B2 (en) 2013-02-19 2017-07-11 Facebook, Inc. Handling overloaded gestures
US9207849B2 (en) 2013-03-29 2015-12-08 Microsoft Technology Licensing, Llc Start and application navigation
US9063576B1 (en) 2013-04-04 2015-06-23 Amazon Technologies, Inc. Managing gesture input information
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US20140372903A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming
US20140372935A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Input Processing based on Input Context
US20140372923A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation High Performance Touch Drag and Drop
WO2015015287A1 (en) * 2013-08-01 2015-02-05 Rondish Co. Ltd Intelligent reset system and method for patient monitoring pad
US9766855B2 (en) 2013-09-10 2017-09-19 Avigilon Corporation Method and apparatus for controlling surveillance system with gesture and/or audio commands
US9582737B2 (en) 2013-09-13 2017-02-28 Qualcomm Incorporated Context-sensitive gesture classification
DE102014004675A1 (de) * 2014-03-31 2015-10-01 Audi Ag Gestenbewertungssystem, Verfahren zur Gestenbewertung und Fahrzeug
US9430142B2 (en) * 2014-07-17 2016-08-30 Facebook, Inc. Touch-based gesture recognition and application navigation
KR20160029525A (ko) * 2014-09-05 2016-03-15 삼성전자주식회사 사용자 인터페이스를 제어하는 방법 및 이를 제공하는 전자 장치
KR102238535B1 (ko) * 2014-10-01 2021-04-09 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
KR102468120B1 (ko) * 2016-01-27 2022-11-22 삼성전자 주식회사 뷰 계층(뷰 레이어)들을 이용하여 입력을 처리하는 방법 및 전자장치
JP2017149225A (ja) 2016-02-23 2017-08-31 京セラ株式会社 車両用コントロールユニット
CN110651242B (zh) * 2017-05-16 2023-07-11 苹果公司 用于触摸输入处理的设备、方法和图形用户界面
DK179979B1 (en) 2017-05-16 2019-11-27 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR TOUCH INPUT PROCESSING
IT201700088977A1 (it) 2017-08-02 2019-02-02 St Microelectronics Srl Procedimento per il riconoscimento di gesti, circuito, dispositivo e prodotto informatico corrispondenti
CN107861683B (zh) * 2017-11-07 2020-08-21 苏州九号电子科技有限公司 无人机无按钮操作方法及装置
CN108833982B (zh) * 2018-05-10 2021-06-11 北京酷我科技有限公司 一种视频滑动快进和页面滚动兼容的方法
US10921975B2 (en) * 2018-06-03 2021-02-16 Apple Inc. Devices, methods, and user interfaces for conveying proximity-based and contact-based input events
CN109144392B (zh) * 2018-08-22 2021-04-16 北京奇艺世纪科技有限公司 一种处理手势冲突的方法、装置及电子设备
CN113924568A (zh) 2019-06-26 2022-01-11 谷歌有限责任公司 基于雷达的认证状态反馈
CN110362264B (zh) * 2019-06-28 2022-06-10 武汉海微科技有限公司 一种基于触摸板的动态手势识别方法、装置和系统
US11385722B2 (en) * 2019-07-26 2022-07-12 Google Llc Robust radar-based gesture-recognition by user equipment
KR20220005081A (ko) 2019-07-26 2022-01-12 구글 엘엘씨 Imu 및 레이더를 기반으로 한 상태 감소
US11868537B2 (en) 2019-07-26 2024-01-09 Google Llc Robust radar-based gesture-recognition by user equipment
KR20210153695A (ko) 2019-07-26 2021-12-17 구글 엘엘씨 Imu 및 레이더를 통한 인증 관리
US11467672B2 (en) 2019-08-30 2022-10-11 Google Llc Context-sensitive control of radar-based gesture-recognition
CN112753005B (zh) 2019-08-30 2024-03-01 谷歌有限责任公司 移动设备的输入方法
KR102479012B1 (ko) 2019-08-30 2022-12-20 구글 엘엘씨 일시정지된 레이더 제스처에 대한 시각적 표시자
CN110995919B (zh) 2019-11-08 2021-07-20 维沃移动通信有限公司 一种消息处理方法和电子设备
CN110989888B (zh) * 2019-12-13 2021-03-02 广州方硅信息技术有限公司 一种触摸事件分发方法及设备
CN114327109B (zh) 2020-09-30 2023-12-19 明基智能科技(上海)有限公司 触控操作方法及触控操作系统
CN112286417B (zh) * 2020-11-03 2022-01-18 珠海格力电器股份有限公司 一种终端操控方法、装置、设备和计算机可读存储介质
CN114546145B (zh) 2020-11-24 2024-03-01 明基智能科技(上海)有限公司 游标控制方法及应用其的触控显示装置
CN116166143B (zh) * 2023-04-25 2023-07-04 麒麟软件有限公司 全局触摸手势识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111189A1 (en) * 2008-03-04 2009-09-11 Apple Inc. Touch event model

Family Cites Families (572)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1517521A (en) 1975-09-01 1978-07-12 Tilgate Pallets Ltd Pallets
US4455452A (en) 1982-09-13 1984-06-19 Touch Activated Switch Arrays, Inc. Touch activated controller for generating X-Y output information
US4674066A (en) 1983-02-18 1987-06-16 Houghton Mifflin Company Textual database system using skeletonization and phonetic replacement to retrieve words matching or similar to query words
DE3480180D1 (en) 1983-10-21 1989-11-23 Dijet Ind Co Ltd Cutter blade
JPH02140822A (ja) 1988-11-22 1990-05-30 Nec Corp マルチウインドディスプレイ方式
US5252951A (en) 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
JP2862626B2 (ja) 1990-03-22 1999-03-03 株式会社東芝 電子辞書及び情報検索方法
US5046434A (en) 1990-05-02 1991-09-10 Penda Corporation Plastic reinforced thermoformed pallet
JP3145735B2 (ja) 1991-07-17 2001-03-12 富士通株式会社 入力制御方式
JPH05197573A (ja) 1991-08-26 1993-08-06 Hewlett Packard Co <Hp> タスク指向パラダイムによるタスク管理システム
JP2827612B2 (ja) 1991-10-07 1998-11-25 富士通株式会社 タッチパネル装置およびタッチパネル装置におけるオブジェクトの表示方法。
US5233547A (en) 1991-11-12 1993-08-03 Ncr Corporation Electronic checking account apparatus and method having a digitizer to receive information as a check is being written
JP2787523B2 (ja) 1992-04-15 1998-08-20 沖電気工業株式会社 キーボード
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US7084859B1 (en) 1992-09-18 2006-08-01 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US5583543A (en) 1992-11-05 1996-12-10 Sharp Kabushiki Kaisha Pen input processing apparatus
JP2999335B2 (ja) 1992-11-05 2000-01-17 シャープ株式会社 ジェスチャー処理装置およびジェスチャー処理方法
US5612719A (en) 1992-12-03 1997-03-18 Apple Computer, Inc. Gesture sensitive buttons for graphical user interfaces
US5463725A (en) 1992-12-31 1995-10-31 International Business Machines Corp. Data processing system graphical user interface which emulates printed material
US5513309A (en) 1993-01-05 1996-04-30 Apple Computer, Inc. Graphic editor user interface for a pointer-based computer system
JP3147572B2 (ja) 1993-03-22 2001-03-19 株式会社日立製作所 プログラム生成方法
DE4406668C2 (de) 1993-04-27 1996-09-12 Hewlett Packard Co Verfahren und Vorrichtung zum Betreiben eines berührungsempfindlichen Anzeigegeräts
JP2986047B2 (ja) 1993-04-29 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション ディジタル入力用表示装置並びに入力処理装置および方法
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US6035343A (en) 1993-06-11 2000-03-07 Fujitsu Limited Method for executing software formed of software components and a system for executing such software
US5581670A (en) 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
CA2124505C (en) 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US5818455A (en) 1993-07-21 1998-10-06 Xerox Corporation Method and apparatus for operating on the model data structure of an image to produce human perceptible output using a viewing operation region having explicit multiple regions
US5627959A (en) 1993-09-20 1997-05-06 Oracle Corporation Method for manipulating graphic objects
US5564112A (en) 1993-10-14 1996-10-08 Xerox Corporation System and method for generating place holders to temporarily suspend execution of a selected command
US5454960A (en) 1993-11-10 1995-10-03 Advanced Building Technologies, Inc. Oil change and recycling system
US5534893A (en) 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5588072A (en) 1993-12-22 1996-12-24 Canon Kabushiki Kaisha Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks
US5686940A (en) 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
US5566337A (en) 1994-05-13 1996-10-15 Apple Computer, Inc. Method and apparatus for distributing events in an operating system
JP2939119B2 (ja) 1994-05-16 1999-08-25 シャープ株式会社 手書き文字入力表示装置および方法
US5570113A (en) 1994-06-29 1996-10-29 International Business Machines Corporation Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system
US5510061A (en) 1994-07-26 1996-04-23 Norton Chemical Process Products Corp. Non-welded support plate member
DE69521575T2 (de) 1994-09-12 2002-05-16 Adobe Systems Inc Verfahren und Anordnung zur Darstellung elektronischer Dokumente
EP0712825B1 (en) 1994-11-15 1998-03-11 Uop Improved adsorptive separation of metaxylene from aromatic hydrocarbons
US5495566A (en) 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
JP2944439B2 (ja) 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
JPH08307954A (ja) 1995-05-12 1996-11-22 Sony Corp 座標入力装置および方法、並びに情報処理装置
US5708460A (en) 1995-06-02 1998-01-13 Avi Systems, Inc. Touch screen
US6496182B1 (en) 1995-06-07 2002-12-17 Microsoft Corporation Method and system for providing touch-sensitive screens for the visually impaired
JPH0944285A (ja) 1995-07-28 1997-02-14 Hitachi Ltd 情報処理装置
JPH0969037A (ja) 1995-08-31 1997-03-11 Sharp Corp データ処理装置
US5655094A (en) 1995-09-29 1997-08-05 International Business Machines Corporation Pop up scroll bar
JP3636792B2 (ja) 1995-10-18 2005-04-06 株式会社リコー ペン先座標入力装置
US5676064A (en) 1996-04-22 1997-10-14 Shuert; Lyle H. Pallet and pallet package
JP3839877B2 (ja) 1996-07-05 2006-11-01 キヤノン株式会社 手書きパターン処理装置及び手書きパターン処理方法
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5745116A (en) 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US5995083A (en) 1996-11-20 1999-11-30 Alps Electric Co., Ltd. Coordinates input apparatus
JP3889466B2 (ja) 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法
US5917477A (en) 1997-02-28 1999-06-29 Samsung Electronics Co., Ltd. Touch screen input apparatus for chip mounter, chip mounter including the same and method for controlling the chip mounter
US6141018A (en) 1997-03-12 2000-10-31 Microsoft Corporation Method and system for displaying hypertext documents with visual effects
US5999176A (en) 1997-04-04 1999-12-07 International Business Machines Corporation Method to provide a single scrolling control for a multi-window interface
JPH1185354A (ja) 1997-09-04 1999-03-30 Internatl Business Mach Corp <Ibm> キーボード組込み型座標指示装置、キーボード・ユニット、及び情報処理機器
US9098297B2 (en) 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
US6049326A (en) 1997-05-12 2000-04-11 Siemens Information And Communication Networks, Inc. System and method for dual browser modes
US5983190A (en) 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
FI115689B (fi) 1997-05-21 2005-06-15 Nokia Corp Menetelmä ja järjestely matkaviestimen näytöllä esitettävän tiedon vierittämiseksi
US6028602A (en) 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
JP3968477B2 (ja) 1997-07-07 2007-08-29 ソニー株式会社 情報入力装置及び情報入力方法
US6034688A (en) 1997-09-15 2000-03-07 Sony Corporation Scrolling navigational display system
US6377965B1 (en) 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
IL136465A0 (en) 1997-12-01 2001-06-14 Cedara Software Corp Architecture for an application framework
CA2311767C (en) 1997-12-16 2008-01-29 Microsoft Corporation Soft input panel system and method
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7844914B2 (en) 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US20070177804A1 (en) 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US7834855B2 (en) 2004-08-25 2010-11-16 Apple Inc. Wide touchpad on a portable computer
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
KR100595925B1 (ko) 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US7840912B2 (en) 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US20040080541A1 (en) 1998-03-20 2004-04-29 Hisashi Saiga Data displaying device
US7346850B2 (en) 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6570594B1 (en) 1998-06-30 2003-05-27 Sun Microsystems, Inc. User interface with non-intrusive display element
US6061063A (en) 1998-06-30 2000-05-09 Sun Microsystems, Inc. Method and apparatus for providing feedback while scrolling
US6188391B1 (en) 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
US7559039B2 (en) 1998-07-14 2009-07-07 Brad Ridgley Method and device for finding, collecting and acting upon units of information
CA2244431C (en) 1998-07-30 2002-02-19 Ibm Canada Limited-Ibm Canada Limitee Touchscreen keyboard support for multi-byte character languages
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US6068124A (en) 1998-08-27 2000-05-30 Nanya Plastics Plastic pallet and separator for packaging yarn spools
US6628835B1 (en) 1998-08-31 2003-09-30 Texas Instruments Incorporated Method and system for defining and recognizing complex events in a video sequence
US20020018051A1 (en) 1998-09-15 2002-02-14 Mona Singh Apparatus and method for moving objects on a touchscreen display
US6985178B1 (en) 1998-09-30 2006-01-10 Canon Kabushiki Kaisha Camera control system, image pick-up server, client, control method and storage medium therefor
JP4159674B2 (ja) 1998-10-22 2008-10-01 富士通株式会社 オブジェクト指向業務システムおよび方法
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
JP2000163443A (ja) 1998-11-25 2000-06-16 Seiko Epson Corp 携帯情報機器及び情報記憶媒体
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
AU1843400A (en) 1998-12-11 2000-06-26 Paratek Microwave, Inc. Electrically tunable filters with dielectric varactors
US6963937B1 (en) 1998-12-17 2005-11-08 International Business Machines Corporation Method and apparatus for providing configurability and customization of adaptive user-input filtration
US6259436B1 (en) 1998-12-22 2001-07-10 Ericsson Inc. Apparatus and method for determining selection of touchable items on a computer touchscreen by an imprecise touch
US6643824B1 (en) 1999-01-15 2003-11-04 International Business Machines Corporation Touch screen region assist for hypertext links
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
JP2000222130A (ja) 1999-02-02 2000-08-11 Toshiba Corp 入力装置および方法および記憶媒体
US20060061551A1 (en) 1999-02-12 2006-03-23 Vega Vista, Inc. Motion detection and tracking system to control navigation and display of portable displays including on-chip gesture detection
US6486896B1 (en) 1999-04-07 2002-11-26 Apple Computer, Inc. Scalable scroll controller
US6655497B1 (en) 1999-04-21 2003-12-02 Barrie Weatherall Stabilizer for ladders
JP4939682B2 (ja) 1999-04-27 2012-05-30 エーユー オプトロニクス コーポレイション 表示装置
US7164413B2 (en) 1999-05-19 2007-01-16 Digimarc Corporation Enhanced input peripheral
US6714936B1 (en) 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
AUPQ439299A0 (en) 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6631501B1 (en) 1999-06-30 2003-10-07 Microsoft Corporation Method and system for automatic type and replace of characters in a sequence of characters
US6639584B1 (en) 1999-07-06 2003-10-28 Chuang Li Methods and apparatus for controlling a portable electronic device using a touchpad
US6335725B1 (en) 1999-07-14 2002-01-01 Hewlett-Packard Company Method of partitioning a touch screen for data input
JP2001027924A (ja) 1999-07-14 2001-01-30 Sharp Corp 表示画面を用いる入力装置
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6448986B1 (en) 1999-09-07 2002-09-10 Spotware Technologies Llc Method and system for displaying graphical objects on a display screen
US6664989B1 (en) 1999-10-18 2003-12-16 Honeywell International Inc. Methods and apparatus for graphical display interaction
EP1208476A2 (en) 1999-10-20 2002-05-29 Koninklijke Philips Electronics N.V. Device and method of browsing an image collection
JP2001134382A (ja) 1999-11-04 2001-05-18 Sony Corp 図形処理装置
JP2001167227A (ja) 1999-12-07 2001-06-22 Hitachi Ltd 情報端末装置
US6778992B1 (en) 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language
US6664991B1 (en) 2000-01-06 2003-12-16 Microsoft Corporation Method and apparatus for providing context menus on a pen-based device
US6809724B1 (en) 2000-01-18 2004-10-26 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US6820237B1 (en) 2000-01-21 2004-11-16 Amikanow! Corporation Apparatus and method for context-based highlighting of an electronic document
WO2001056007A1 (en) 2000-01-28 2001-08-02 Intersense, Inc. Self-referenced tracking
US6856326B1 (en) 2000-01-28 2005-02-15 International Business Machines Corporation Smooth scrolling system and method
US7138983B2 (en) 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
JP4803883B2 (ja) 2000-01-31 2011-10-26 キヤノン株式会社 位置情報処理装置及びその方法及びそのプログラム。
US6590595B1 (en) 2000-02-08 2003-07-08 Sun Microsystems, Inc. Mechanism for providing intuitive scrolling feedback
US6922810B1 (en) 2000-03-07 2005-07-26 Microsoft Corporation Grammar-based automatic data completion and suggestion for user input
JP2003528377A (ja) 2000-03-17 2003-09-24 ビジブル. コム インコーポレーティッド 三次元空間ユーザ・インタフェース
US7142205B2 (en) 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
AU2001289299A1 (en) 2000-03-30 2001-10-15 Qualcomm Incorporated Method and apparatus for notifying a mobile station application of specified events
JP4124402B2 (ja) 2000-03-31 2008-07-23 株式会社リコー 画像入力装置
AU2001251202A1 (en) 2000-04-07 2001-10-23 Rsa Security, Inc. System and method for authenticating a user
US6765557B1 (en) 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
US7009626B2 (en) 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
WO2001082309A1 (en) 2000-04-19 2001-11-01 Analogic Corporation Backlash-resistant drive assembly for collimator in a ct scanner
JP2001299733A (ja) 2000-04-27 2001-10-30 Konica Corp Pci放射線画像処理装置、pci放射線画像検出処理装置、pci放射線画像出力装置及びpci画像診断支援装置
US6559869B1 (en) 2000-05-04 2003-05-06 Microsoft Corporation Adaptive auto-scrolling merge for hand written input
GB2380918C3 (en) 2000-05-11 2016-03-30 Nes Stewart Irvine Zeroclick
US6446083B1 (en) 2000-05-12 2002-09-03 Vastvideo, Inc. System and method for classifying media items
US6912694B1 (en) 2000-06-28 2005-06-28 Intel Corporation Providing a scrolling function for a multiple frame web page
US6677965B1 (en) 2000-07-13 2004-01-13 International Business Machines Corporation Rubber band graphical user interface control
GB0017793D0 (en) 2000-07-21 2000-09-06 Secr Defence Human computer interface
JP2002041242A (ja) 2000-07-27 2002-02-08 Nec Corp 描画フェードアウト機能付き入力装置と方法
US6714221B1 (en) 2000-08-03 2004-03-30 Apple Computer, Inc. Depicting and setting scroll amount
US20020015064A1 (en) 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP2002062983A (ja) 2000-08-21 2002-02-28 Hitachi Ltd ポインティングデバイス
US6791530B2 (en) 2000-08-29 2004-09-14 Mitsubishi Electric Research Laboratories, Inc. Circular graphical user interfaces
US6562929B2 (en) 2000-08-30 2003-05-13 Jsr Corporation Conjugated diene-based rubber and method of producing the same, oil extended rubber and rubber composition containing the same
US6912462B2 (en) 2000-08-31 2005-06-28 Sony Corporation Information processing apparatus, information processing method and program storage media
US20020138617A1 (en) 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US6757673B2 (en) 2000-10-09 2004-06-29 Town Compass Llc Displaying hierarchial relationship of data accessed via subject index
US7761541B1 (en) 2000-10-25 2010-07-20 Nortel Networks Limited Service enabling technology
US6735583B1 (en) 2000-11-01 2004-05-11 Getty Images, Inc. Method and system for classifying and locating media content
US7072501B2 (en) 2000-11-22 2006-07-04 R2 Technology, Inc. Graphical user interface for display of anatomical information
US7184796B2 (en) 2000-12-04 2007-02-27 International Business Machines Corporation Personal communication device having a built in projection display
US7240291B2 (en) 2000-12-21 2007-07-03 Xerox Corporation Methods, systems, and computer program products for display of information relating to a virtual three-dimensional book
US6976172B2 (en) 2000-12-28 2005-12-13 Intel Corporation System and method for protected messaging
US6839721B2 (en) 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
JP3881179B2 (ja) 2001-02-14 2007-02-14 三菱電機株式会社 ユーザインタフェース設計装置
US20040027398A1 (en) 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
US6972776B2 (en) 2001-03-20 2005-12-06 Agilent Technologies, Inc. Scrolling method using screen pointing device
GB2373778B (en) 2001-03-30 2003-08-06 Robin Lewis Corner elements for packaging
US6741996B1 (en) 2001-04-18 2004-05-25 Microsoft Corporation Managing user clips
JP2005507102A (ja) 2001-05-02 2005-03-10 ビットストリーム インコーポレーティッド 可変スケール・ファクタにより縮小された情報媒体を表示するための方法、システム、及びプログラム
US20020194589A1 (en) 2001-05-08 2002-12-19 Cristofalo Michael Technique for optimizing the delivery of advertisements and other programming segments by making bandwidth tradeoffs
US20020171675A1 (en) 2001-05-15 2002-11-21 International Business Machines Corporation Method and system for graphical user interface (GUI) widget having user-selectable mass
US20050024341A1 (en) 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US7730401B2 (en) 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
US6498590B1 (en) 2001-05-24 2002-12-24 Mitsubishi Electric Research Laboratories, Inc. Multi-user touch surface
TW521205B (en) 2001-06-05 2003-02-21 Compal Electronics Inc Touch screen capable of controlling amplification with pressure
US6868383B1 (en) 2001-07-12 2005-03-15 At&T Corp. Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US6985137B2 (en) 2001-08-13 2006-01-10 Nokia Mobile Phones Ltd. Method for preventing unintended touch pad input due to accidental touching
US6661409B2 (en) 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
US6690365B2 (en) 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
US6972749B2 (en) 2001-08-29 2005-12-06 Microsoft Corporation Touch-sensitive device for scrolling a document on a display
US6907575B2 (en) 2001-09-06 2005-06-14 Danger, Inc. Method of scrolling a display window
JP2003173237A (ja) 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体
US7254775B2 (en) 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US20030071850A1 (en) 2001-10-12 2003-04-17 Microsoft Corporation In-place adaptive handwriting input method and system
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7046230B2 (en) 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
TW528981B (en) 2001-10-25 2003-04-21 Compal Electronics Inc Portable computer and related method for preventing input interruption by write-tracking input region
US7009599B2 (en) 2001-11-20 2006-03-07 Nokia Corporation Form factor for portable device
CA2366183A1 (en) 2001-12-21 2003-06-21 Ibm Canada Limited-Ibm Canada Limitee Dynamic status tree facility
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
US7414616B2 (en) 2002-01-03 2008-08-19 Mahesh Jayachandra User-friendly Brahmi-derived Hindi keyboard
US6957392B2 (en) 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
GB0201074D0 (en) 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
US7603627B2 (en) 2002-02-05 2009-10-13 Microsoft Corporation Systems and methods for creating and managing graphical user interface lists
JP3951727B2 (ja) 2002-02-06 2007-08-01 松下電器産業株式会社 情報処理装置
US7075512B1 (en) 2002-02-07 2006-07-11 Palmsource, Inc. Method and system for navigating a display screen for locating a desired item of information
WO2003081458A1 (en) 2002-03-19 2003-10-02 America Online, Inc. Controlling content display
US20030184525A1 (en) 2002-03-29 2003-10-02 Mitac International Corp. Method and apparatus for image processing
JP2003296024A (ja) 2002-04-01 2003-10-17 Nec Engineering Ltd タッチパネル制御方式
US7466307B2 (en) 2002-04-11 2008-12-16 Synaptics Incorporated Closed-loop sensor on a solid-state object position detector
US20030197689A1 (en) 2002-04-23 2003-10-23 May Gregory J. Input device that allows multiple touch key input
TWI238348B (en) 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
US7203911B2 (en) 2002-05-13 2007-04-10 Microsoft Corporation Altering a display on a viewing device based upon a user proximity to the viewing device
US20030214531A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink input mechanisms
US20030214553A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US8166388B2 (en) 2002-05-14 2012-04-24 Microsoft Corporation Overlaying electronic ink
US7158675B2 (en) 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
EP2254025A3 (en) 2002-05-16 2016-03-30 Sony Corporation Input method and input apparatus
US7519918B2 (en) 2002-05-30 2009-04-14 Intel Corporation Mobile virtual desktop
FI20021655A (fi) 2002-06-19 2003-12-20 Nokia Corp Menetelmä lukituksen avaamiseksi ja kannettava elektroninen laite
US7062090B2 (en) 2002-06-28 2006-06-13 Microsoft Corporation Writing guide for a free-form document editor
US7023427B2 (en) 2002-06-28 2006-04-04 Microsoft Corporation Method and system for detecting multiple touches on a touch-sensitive screen
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
JP4338364B2 (ja) 2002-07-02 2009-10-07 ソニー株式会社 携帯情報通信端末、プログラムおよび該プログラムを記録した記録媒体
TW591488B (en) 2002-08-01 2004-06-11 Tatung Co Window scrolling method and device thereof
US20040021698A1 (en) 2002-08-05 2004-02-05 Baldwin Amanda K. Intuitive touchscreen interface for a multifunction device and method therefor
EP1394692A1 (en) 2002-08-05 2004-03-03 Alcatel Method, terminal, browser application, and mark-up language for multimodal interaction between a user and a terminal
US7263721B2 (en) 2002-08-09 2007-08-28 International Business Machines Corporation Password protection
JP2004084111A (ja) 2002-08-26 2004-03-18 Tsudakoma Corp 織機の情報表示装置
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
US7002560B2 (en) 2002-10-04 2006-02-21 Human Interface Technologies Inc. Method of combining data entry of handwritten symbols with displayed character data
GB0223883D0 (en) 2002-10-15 2002-11-20 Seamless Display Ltd Visual display screen arrangement
US7281248B2 (en) 2002-11-19 2007-10-09 Microsoft Corporation Virtualized and realized user interface controls
ATE332528T1 (de) 2002-11-20 2006-07-15 Nokia Corp Verfahren und benutzerschnittstelle zur zeicheneingabe
CA2414047A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method of extending scalable vector graphics capabilities
US6903927B2 (en) 2002-12-17 2005-06-07 Nokia Corporation Convertible mobile computing device
US20040125136A1 (en) 2002-12-30 2004-07-01 Jukka Wallenius Provision of services through a display system
US20040135817A1 (en) 2003-01-14 2004-07-15 Daughtery Joey L. Interface for selecting and performing operations on objects
US7117453B2 (en) 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7490296B2 (en) 2003-01-31 2009-02-10 Microsoft Corporation Utility object for specialized data entry
US20040225965A1 (en) 2003-05-06 2004-11-11 Microsoft Corporation Insertion location tracking for controlling a user interface
US20040160419A1 (en) 2003-02-11 2004-08-19 Terradigital Systems Llc. Method for entering alphanumeric characters into a graphical user interface
US20040155888A1 (en) 2003-02-11 2004-08-12 Padgitt David Gary Method for displaying the contents of a collection of media objects
US7894177B2 (en) 2005-12-29 2011-02-22 Apple Inc. Light activated hold switch
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7187801B2 (en) 2003-03-31 2007-03-06 Microsoft Corporation Multiple handwriting recognition engine selection
KR100465969B1 (ko) 2003-04-11 2005-01-13 (주)모비솔 손가락 표면을 이용한 소형 포인팅 장치
US7098776B2 (en) 2003-04-16 2006-08-29 Massachusetts Institute Of Technology Methods and apparatus for vibrotactile communication
US8484576B2 (en) 2003-04-17 2013-07-09 Supersonic Aerospace International, Llc System and method for customizing multiple windows of information on a display
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system
US7102626B2 (en) 2003-04-25 2006-09-05 Hewlett-Packard Development Company, L.P. Multi-function pointing device
GB2424535A (en) 2003-04-30 2006-09-27 Hewlett Packard Co Editing an image and associating sound with it
US8555165B2 (en) 2003-05-08 2013-10-08 Hillcrest Laboratories, Inc. Methods and systems for generating a zoomable graphical user interface
US7173623B2 (en) 2003-05-09 2007-02-06 Microsoft Corporation System supporting animation of graphical display elements through animation object instances
KR20070026810A (ko) 2003-05-21 2007-03-08 가부시키가이샤 히다치 하이테크놀로지즈 지문센서내장 휴대 단말장치
EP1639439A2 (en) * 2003-06-13 2006-03-29 The University Of Lancaster User interface
US7567239B2 (en) 2003-06-26 2009-07-28 Motorola, Inc. Method and system for message and note composition on small screen devices
WO2005008444A2 (en) 2003-07-14 2005-01-27 Matt Pallakoff System and method for a portbale multimedia client
US20050027666A1 (en) 2003-07-15 2005-02-03 Vente, Inc Interactive online research system and method
KR100522940B1 (ko) 2003-07-25 2005-10-24 삼성전자주식회사 활성영역을 설정 가능한 터치스크린 시스템 및 그 제어방법
JP2005056286A (ja) 2003-08-07 2005-03-03 Nec Engineering Ltd ウェブブラウザにおける拡大表示方法および拡大表示プログラム
KR101042099B1 (ko) 2003-08-21 2011-06-16 마이크로소프트 코포레이션 공중 지점을 이용한 포커스 관리방법, 시스템 및 컴퓨터 판독 가능 매체
US9024884B2 (en) 2003-09-02 2015-05-05 Apple Inc. Touch-sensitive electronic apparatus for media applications, and methods therefor
US20050052427A1 (en) 2003-09-10 2005-03-10 Wu Michael Chi Hung Hand gesture interaction with touch surface
JP4360871B2 (ja) 2003-09-10 2009-11-11 富士通テン株式会社 情報端末における入力装置
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
JP2005092476A (ja) 2003-09-17 2005-04-07 Elo Touchsystems Inc マルチユーザー/マルチポインチングデバイスグラフィカルユーザーインターフェースシステム
KR20060091310A (ko) 2003-09-30 2006-08-18 코닌클리케 필립스 일렉트로닉스 엔.브이. 디스플레이 상의 컨텐트 윈도우의 위치, 크기 및/또는컨텐트를 정의하는 제스쳐
US7034834B2 (en) 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US20050183035A1 (en) 2003-11-20 2005-08-18 Ringel Meredith J. Conflict resolution for graphic multi-user interface
US7962862B2 (en) 2003-11-24 2011-06-14 International Business Machines Corporation Method and data processing system for providing an improved graphics design tool
US7298367B2 (en) 2003-11-25 2007-11-20 3M Innovative Properties Company Light emitting stylus and user input device using same
US7814419B2 (en) 2003-11-26 2010-10-12 Nokia Corporation Changing an orientation of a user interface via a course of motion
JP3962718B2 (ja) 2003-12-01 2007-08-22 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US7337412B2 (en) 2003-12-15 2008-02-26 International Business Machines Corporation Methods, systems and computer program products for providing multi-dimensional tree diagram graphical user interfaces
US20050162402A1 (en) 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
US7366995B2 (en) 2004-02-03 2008-04-29 Roland Wescott Montague Combination tool that zooms in, zooms out, pans, rotates, draws, or manipulates during a drag
FI117308B (fi) 2004-02-06 2006-08-31 Nokia Corp Eleohjausjärjestelmä
US7319457B2 (en) 2004-02-12 2008-01-15 Sentelic Corporation Method of scrolling window screen by means of controlling electronic device
US7358965B2 (en) 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
US20050193015A1 (en) 2004-02-19 2005-09-01 Sandraic Logic, Llc A California Limited Liability Company Method and apparatus for organizing, sorting and navigating multimedia content
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
FR2866726B1 (fr) 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
US7406696B2 (en) 2004-02-24 2008-07-29 Dialogic Corporation System and method for providing user input information to multiple independent, concurrent applications
JP4438448B2 (ja) 2004-02-26 2010-03-24 セイコーエプソン株式会社 構造化文書表示処理装置、構造化文書表示方法、構造化文書表示プログラム
US7327349B2 (en) 2004-03-02 2008-02-05 Microsoft Corporation Advanced navigation techniques for portable devices
US7301529B2 (en) 2004-03-23 2007-11-27 Fujitsu Limited Context dependent gesture response
JP2005275652A (ja) 2004-03-24 2005-10-06 Canon Inc 入力軌跡処理装置および入力軌跡処理方法
US8094938B2 (en) 2004-04-02 2012-01-10 Nokia Corporation Apparatus and method for handwriting recognition
US7623119B2 (en) 2004-04-21 2009-11-24 Nokia Corporation Graphical functions by gestures
US20050246304A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation End-user application customization using rules
JP4387242B2 (ja) 2004-05-10 2009-12-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US7624355B2 (en) 2004-05-27 2009-11-24 Baneth Robin C System and method for controlling a user interface
JP4855654B2 (ja) 2004-05-31 2012-01-18 ソニー株式会社 車載装置、車載装置の情報提供方法、車載装置の情報提供方法のプログラム及び車載装置の情報提供方法のプログラムを記録した記録媒体
US7358962B2 (en) 2004-06-15 2008-04-15 Microsoft Corporation Manipulating association of data with a physical object
US7773950B2 (en) 2004-06-16 2010-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Benign interference suppression for received signal quality estimation
KR101146750B1 (ko) 2004-06-17 2012-05-17 아드레아 엘엘씨 터치 스크린 상에서 2개-손가락에 의한 입력을 탐지하는 시스템 및 방법과, 터치 스크린 상에서 적어도 2개의 손가락을 통한 3-차원 터치를 센싱하는 시스템 및 방법
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
EP1763732A2 (en) 2004-06-29 2007-03-21 Koninklijke Philips Electronics N.V. Discontinuous zoom
KR101134027B1 (ko) 2004-06-29 2012-04-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 디스플레이 디바이스의 오염을 방지하는 방법 및 디바이스
JP4210936B2 (ja) 2004-07-08 2009-01-21 ソニー株式会社 情報処理装置及びこれに用いるプログラム
EP1787281A2 (en) * 2004-07-15 2007-05-23 N-Trig Ltd. Automatic switching for a dual mode digitizer
JP4903371B2 (ja) 2004-07-29 2012-03-28 任天堂株式会社 タッチパネルを用いたゲーム装置およびゲームプログラム
KR101128572B1 (ko) 2004-07-30 2012-04-23 애플 인크. 터치 감지 입력 장치용 제스처
WO2006020304A2 (en) 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices
US7506799B2 (en) 2004-07-30 2009-03-24 Nokia Corporation Method for the monitoring of system security in electronic devices
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US20070046643A1 (en) * 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US7719523B2 (en) 2004-08-06 2010-05-18 Touchtable, Inc. Bounding box gesture recognition on a touch detecting interactive display
US7724242B2 (en) 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7721197B2 (en) 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US7181373B2 (en) 2004-08-13 2007-02-20 Agilent Technologies, Inc. System and methods for navigating and visualizing multi-dimensional biological data
US7434173B2 (en) 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US20060055669A1 (en) 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
JP4366695B2 (ja) 2004-09-13 2009-11-18 日本ビクター株式会社 メニュー画像表示方法及び電子情報機器
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
JP4355639B2 (ja) 2004-09-15 2009-11-04 キヤノン株式会社 画像処理装置およびその制御方法
US7728823B2 (en) 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
JP3786669B2 (ja) 2004-10-06 2006-06-14 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
US20060077183A1 (en) 2004-10-08 2006-04-13 Studt Peter C Methods and systems for converting touchscreen events into application formatted data
WO2006045530A2 (en) 2004-10-22 2006-05-04 Novo Nordisk A/S An apparatus and a method of providing information to a user
JP3770499B1 (ja) 2004-11-02 2006-04-26 任天堂株式会社 ゲーム装置及びゲームプログラム
US7925996B2 (en) 2004-11-18 2011-04-12 Microsoft Corporation Method and system for providing multiple input connecting user interface
US7665031B2 (en) 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US20060136833A1 (en) 2004-12-15 2006-06-22 International Business Machines Corporation Apparatus and method for chaining objects in a pointer drag path
WO2006067711A2 (en) 2004-12-21 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for displaying animated buttons
CN100377055C (zh) 2004-12-22 2008-03-26 盛群半导体股份有限公司 触控感应装置的判读方法
CN101233504B (zh) 2005-01-05 2010-11-10 希尔克瑞斯特实验室公司 用于用户界面的分布式软件架构
WO2006073272A1 (en) 2005-01-05 2006-07-13 Jaewoo Ahn Method and apparatus for inputting character through pointing device
US20060156249A1 (en) 2005-01-12 2006-07-13 Blythe Michael M Rotate a user interface
US20070185876A1 (en) 2005-02-07 2007-08-09 Mendis Venura C Data handling system
GB0503253D0 (en) 2005-02-17 2005-03-23 Univ Northumbria Newcastle User control of a hand-held device
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
JP4613078B2 (ja) 2005-03-01 2011-01-12 学校法人 名城大学 半導体基板の製造方法
JP5550211B2 (ja) 2005-03-04 2014-07-16 アップル インコーポレイテッド 多機能ハンドヘルド装置
CN1841284A (zh) 2005-03-28 2006-10-04 上海桐港信息科技有限公司 触摸屏式移动设备微浏览器页面显示漂移方法
US20060221061A1 (en) 2005-03-31 2006-10-05 Tyco Electronic Corporation Touch sensor and control with random pulse spacing
US7750893B2 (en) 2005-04-06 2010-07-06 Nintendo Co., Ltd. Storage medium storing input position processing program, and input position processing device
CN1845046A (zh) 2005-04-07 2006-10-11 技嘉科技股份有限公司 具有触控式功能键的键盘和鼠标
US7355595B2 (en) 2005-04-15 2008-04-08 Microsoft Corporation Tactile device for scrolling
US7673255B2 (en) 2005-04-22 2010-03-02 Microsoft Corporation Interface and system for manipulating thumbnails of live windows in a window manager
US7692637B2 (en) 2005-04-26 2010-04-06 Nokia Corporation User input device for electronic device
US7499027B2 (en) 2005-04-29 2009-03-03 Microsoft Corporation Using a light pointer for input on an interactive display surface
JP4490326B2 (ja) 2005-05-09 2010-06-23 株式会社土井製作所 地中埋設ケーブル等に対する地盤変動時の保護方法及びその保護装置
WO2006124248A2 (en) 2005-05-16 2006-11-23 General Motors Global Technology Operations, Inc. Catalyst for fuel cell electrode
US8117540B2 (en) 2005-05-18 2012-02-14 Neuer Wall Treuhand Gmbh Method and device incorporating improved text input mechanism
US20060262104A1 (en) 2005-05-19 2006-11-23 Sullivan Darius M Systems and methods for distinguishing contact-induced plate vibrations from acoustic noise-induced plate vibrations
US9785329B2 (en) 2005-05-23 2017-10-10 Nokia Technologies Oy Pocket computer and associated methods
US20070024646A1 (en) 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7487447B1 (en) 2005-05-25 2009-02-03 Google Inc. Web page zoom feature
US20060271520A1 (en) 2005-05-27 2006-11-30 Ragan Gene Z Content-based implicit search query
US7561159B2 (en) 2005-05-31 2009-07-14 Magnifi Group Inc. Control of animation timeline
WO2006128248A1 (en) 2005-06-02 2006-12-07 National Ict Australia Limited Multimodal computer navigation
US7710397B2 (en) 2005-06-03 2010-05-04 Apple Inc. Mouse with improved input mechanisms using touch sensors
US9019209B2 (en) 2005-06-08 2015-04-28 3M Innovative Properties Company Touch location determination involving multiple touch location processes
JP4849300B2 (ja) 2005-06-14 2012-01-11 ソニー株式会社 表示信号処理装置および方法、記録媒体、並びにプログラム
KR20060133389A (ko) 2005-06-20 2006-12-26 엘지전자 주식회사 이동 단말기의 데이터 처리 장치 및 그 방법
TW200701082A (en) 2005-06-23 2007-01-01 Elan Microelectronics Corp Scroll control method used in the touch panel
US20070006078A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US7463263B2 (en) 2005-07-15 2008-12-09 Sap Portals Israel Ltd. Declarative specification of model visualizations
WO2007014064A2 (en) 2005-07-22 2007-02-01 Matt Pallakoff System and method for a thumb-optimized touch-screen user interface
US7808478B2 (en) 2005-08-22 2010-10-05 Samsung Electronics Co., Ltd. Autonomous handheld device having a drawing tool
EP1758345B1 (en) 2005-08-26 2016-12-28 Microsoft Technology Licensing, LLC Mobile telecommunication handset having touch pad
US7568035B2 (en) 2005-08-30 2009-07-28 Microsoft Corporation Command binding determination and implementation
US20070061126A1 (en) 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
JP2009523267A (ja) 2005-09-15 2009-06-18 アップル インコーポレイテッド トラックパッドデバイスの未加工データを処理するシステム及び方法
US7694231B2 (en) 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
US20070152980A1 (en) 2006-01-05 2007-07-05 Kenneth Kocienda Touch Screen Keyboards for Portable Electronic Devices
US20070064004A1 (en) 2005-09-21 2007-03-22 Hewlett-Packard Development Company, L.P. Moving a graphic element
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
CN1949161B (zh) 2005-10-14 2010-05-26 鸿富锦精密工业(深圳)有限公司 多层次菜单显示装置及显示控制方法
KR100717047B1 (ko) 2005-10-20 2007-05-10 삼성전자주식회사 간편하게 웹 페이지를 표시하는 방법 및 장치
US20070109275A1 (en) 2005-11-16 2007-05-17 Chen-Ting Chuang Method for controlling a touch screen user interface and device thereof
JP2007148927A (ja) 2005-11-29 2007-06-14 Alps Electric Co Ltd 入力装置及びこれを用いたスクロール制御方法
US9069877B2 (en) 2005-12-07 2015-06-30 Ziilabs Inc., Ltd. User interface with variable sized icons
US20070132789A1 (en) 2005-12-08 2007-06-14 Bas Ording List scrolling in response to moving contact over list of index symbols
EP2543971B8 (en) 2005-12-08 2019-02-27 Conversant Wireless Licensing S.à r.l. A method for an electronic device
US7786975B2 (en) 2005-12-23 2010-08-31 Apple Inc. Continuous scrolling list with acceleration
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
US7480870B2 (en) 2005-12-23 2009-01-20 Apple Inc. Indication of progress towards satisfaction of a user input condition
US7650137B2 (en) 2005-12-23 2010-01-19 Apple Inc. Account information display for portable communication device
US20070152983A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US8018440B2 (en) 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
CN102169415A (zh) 2005-12-30 2011-08-31 苹果公司 具有多重触摸输入的便携式电子设备
US7574672B2 (en) 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
US7860536B2 (en) 2006-01-05 2010-12-28 Apple Inc. Telephone interface for a portable communication device
US20070174257A1 (en) 2006-01-18 2007-07-26 Bruce Thomas Howard Systems and methods for providing sorted search results
US20070176903A1 (en) 2006-01-31 2007-08-02 Dahlin Jeffrey J Capacitive touch sensor button activation
US9910497B2 (en) 2006-02-08 2018-03-06 Oblong Industries, Inc. Gestural control of autonomous and semi-autonomous systems
US8312479B2 (en) * 2006-03-08 2012-11-13 Navisense Application programming interface (API) for sensory events
US20070214436A1 (en) 2006-03-13 2007-09-13 Myers Raymond L Jr Positional navigation graphic link system
US7620901B2 (en) 2006-03-21 2009-11-17 Microsoft Corporation Simultaneous input across multiple applications
US8866750B2 (en) 2006-04-10 2014-10-21 Microsoft Corporation Universal user interface device
US8587526B2 (en) 2006-04-12 2013-11-19 N-Trig Ltd. Gesture recognition feedback for a dual mode digitizer
US20070242607A1 (en) 2006-04-13 2007-10-18 Tellabs Operations, Inc. Method and system for controlling distribution of network topology information
KR20070113025A (ko) 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
US8077153B2 (en) 2006-04-19 2011-12-13 Microsoft Corporation Precise selection techniques for multi-touch screens
TWI328185B (en) 2006-04-19 2010-08-01 Lg Electronics Inc Touch screen device for potable terminal and method of displaying and selecting menus thereon
US9063647B2 (en) 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
US8775820B1 (en) 2006-06-02 2014-07-08 Sprint Communications Company L.P. System and method of enterprise administrative password generation and control
US7844661B2 (en) 2006-06-15 2010-11-30 Microsoft Corporation Composition of local media playback with remotely generated user interface
KR101277256B1 (ko) 2006-06-16 2013-07-05 삼성전자주식회사 사용자 인터페이스를 위한 장치 및 방법
US8169421B2 (en) 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
KR100748469B1 (ko) 2006-06-26 2007-08-10 삼성전자주식회사 키패드 터치에 의한 사용자 인터페이스 방법 및 그 휴대단말기
GB0612624D0 (en) 2006-06-26 2006-08-02 Symbian Software Ltd Speed of gesture
US8269725B2 (en) 2006-06-28 2012-09-18 Microsoft Corporation Input simulation system for touch based devices
US8086971B2 (en) 2006-06-28 2011-12-27 Nokia Corporation Apparatus, methods and computer program products providing finger-based and hand-based gesture commands for portable electronic device applications
CA2655045A1 (en) 2006-06-30 2008-01-10 Tele Atlas North America, Inc. Method and system for collecting user update requests regarding geographic data to support automated analysis, processing and geographic data updates
JP5324440B2 (ja) 2006-07-12 2013-10-23 エヌ−トリグ リミテッド デジタイザのためのホバリングおよびタッチ検出
JP4762070B2 (ja) 2006-07-19 2011-08-31 富士通株式会社 手書き入力装置、手書き入力方法、及びコンピュータプログラム
JP4280759B2 (ja) 2006-07-27 2009-06-17 キヤノン株式会社 情報処理装置およびユーザインタフェース制御方法
DE202007018940U1 (de) 2006-08-15 2009-12-10 N-Trig Ltd. Bewegungserkennung für einen Digitalisierer
US20080043020A1 (en) 2006-08-18 2008-02-21 Microsoft Corporation User interface for viewing street side imagery
US7843427B2 (en) 2006-09-06 2010-11-30 Apple Inc. Methods for determining a cursor position from a finger contact with a touch screen display
CN101529367B (zh) 2006-09-06 2016-02-17 苹果公司 用于便携式多功能设备的语音邮件管理器
US8253695B2 (en) 2006-09-06 2012-08-28 Apple Inc. Email client for a portable multifunction device
US7941760B2 (en) 2006-09-06 2011-05-10 Apple Inc. Soft keyboard display for a portable multifunction device
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US20080084400A1 (en) 2006-10-10 2008-04-10 Outland Research, Llc Touch-gesture control of video media play on handheld media players
US20080114614A1 (en) 2006-11-15 2008-05-15 General Electric Company Methods and systems for healthcare application interaction using gesture-based interaction enhanced with pressure sensitivity
US8056007B2 (en) 2006-11-15 2011-11-08 Yahoo! Inc. System and method for recognizing and storing information and associated context
US7694240B2 (en) 2006-11-22 2010-04-06 General Electric Company Methods and systems for creation of hanging protocols using graffiti-enabled devices
JP5191119B2 (ja) 2006-12-06 2013-04-24 株式会社ジャパンディスプレイウェスト 表示装置、表示装置の制御方法、及びプログラム
CN101206659B (zh) 2006-12-15 2013-09-18 谷歌股份有限公司 自动搜索查询校正
TW200828089A (en) 2006-12-29 2008-07-01 Inventec Appliances Corp Method for zooming image
US8489783B2 (en) 2007-01-03 2013-07-16 Apple Inc. Multi buffer asynchronous scheme for processing incoming information
US7777732B2 (en) 2007-01-03 2010-08-17 Apple Inc. Multi-event input system
US8214768B2 (en) 2007-01-05 2012-07-03 Apple Inc. Method, system, and graphical user interface for viewing multiple application windows
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US7924271B2 (en) 2007-01-05 2011-04-12 Apple Inc. Detecting gestures on multi-event sensitive devices
US8656295B2 (en) 2007-01-05 2014-02-18 Apple Inc. Selecting and manipulating web content
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US8656311B1 (en) * 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US8091045B2 (en) 2007-01-07 2012-01-03 Apple Inc. System and method for managing lists
US8519963B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture on a touch screen display
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US7966578B2 (en) 2007-01-07 2011-06-21 Apple Inc. Portable multifunction device, method, and graphical user interface for translating displayed content
US20080168395A1 (en) 2007-01-07 2008-07-10 Bas Ording Positioning a Slider Icon on a Portable Multifunction Device
US8665225B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US7671756B2 (en) 2007-01-07 2010-03-02 Apple Inc. Portable electronic device with alert silencing
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
JP4866262B2 (ja) 2007-02-16 2012-02-01 ソフトバンクモバイル株式会社 操作入力処理方法及び携帯型情報処理装置
JP4793287B2 (ja) 2007-02-28 2011-10-12 ブラザー工業株式会社 通信装置および通信システム
KR101383709B1 (ko) 2007-03-07 2014-04-09 삼성디스플레이 주식회사 표시 장치 및 그의 구동 방법
EP1970799B1 (en) 2007-03-15 2017-08-16 LG Electronics Inc. Electronic device and method of controlling mode thereof and mobile communication terminal
US8436815B2 (en) 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
JP5117121B2 (ja) 2007-06-18 2013-01-09 パイオニア株式会社 Av機器の操作制御システム
US8350815B2 (en) 2007-06-20 2013-01-08 Sony Mobile Communications Portable communication device including touch input with scrolling function
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8171432B2 (en) 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
JP4836885B2 (ja) * 2007-07-04 2011-12-14 シャープ株式会社 携帯通信端末用の非接触型入力装置、携帯通信端末及びメール作成システム
US8181122B2 (en) 2007-07-30 2012-05-15 Perceptive Pixel Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
US8896529B2 (en) 2007-08-01 2014-11-25 Nokia Corporation Apparatus, methods, and computer program products providing context-dependent gesture recognition
US8471823B2 (en) 2007-08-16 2013-06-25 Sony Corporation Systems and methods for providing a user interface
US20090051671A1 (en) * 2007-08-22 2009-02-26 Jason Antony Konstas Recognizing the motion of two or more touches on a touch-sensing surface
US7949516B2 (en) 2007-08-31 2011-05-24 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
KR101348721B1 (ko) 2007-09-03 2014-01-08 엘지전자 주식회사 휴대 단말기 및 그 휴대 단말기의 터치 인식 방법
KR20090024541A (ko) 2007-09-04 2009-03-09 삼성전자주식회사 하이퍼링크 선택 방법 및 이를 이용하는 이동통신 단말기
US20090058820A1 (en) 2007-09-04 2009-03-05 Microsoft Corporation Flick-based in situ search from ink, text, or an empty selection region
US8667412B2 (en) 2007-09-06 2014-03-04 Google Inc. Dynamic virtual input device configuration
WO2009049331A2 (en) 2007-10-08 2009-04-16 Van Der Westhuizen Willem Mork User interface
US7917584B2 (en) 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
JP2009110286A (ja) 2007-10-30 2009-05-21 Toshiba Corp 情報処理装置、ランチャー起動制御プログラムおよびランチャー起動制御方法
AU2008323700B2 (en) 2007-11-09 2014-01-16 Wms Gaming, Inc. Interface for wagering game environments
JP2009169825A (ja) 2008-01-18 2009-07-30 Kyocera Mita Corp 表示入力装置、電子機器及び表示入力制御プログラム
US20090207140A1 (en) 2008-02-19 2009-08-20 Sony Ericsson Mobile Communications Ab Identifying and responding to multiple time-overlapping touches on a touch panel
TWI352924B (en) 2008-02-21 2011-11-21 Wintek Corp Touch panel and driving method of touch panel
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8289283B2 (en) 2008-03-04 2012-10-16 Apple Inc. Language input interface on a device
US8352877B2 (en) 2008-03-06 2013-01-08 Microsoft Corporation Adjustment of range of content displayed on graphical user interface
US20090231281A1 (en) 2008-03-11 2009-09-17 Microsoft Corporation Multi-touch virtual keyboard
US8289289B2 (en) 2008-04-03 2012-10-16 N-trig, Ltd. Multi-touch and single touch detection
KR101513024B1 (ko) 2008-04-22 2015-04-17 엘지전자 주식회사 단말기 및 이것의 이미지 인식 방법
US8261190B2 (en) 2008-04-24 2012-09-04 Burlington Education Ltd. Displaying help sensitive areas of a computer application
US8526767B2 (en) * 2008-05-01 2013-09-03 Atmel Corporation Gesture recognition
JP2010044180A (ja) 2008-08-12 2010-02-25 Victor Co Of Japan Ltd 液晶表示装置及びこれに用いる映像信号処理方法
US20100177053A2 (en) * 2008-05-09 2010-07-15 Taizo Yasutake Method and apparatus for control of multiple degrees of freedom of a display
US20090282332A1 (en) 2008-05-12 2009-11-12 Nokia Corporation Apparatus, method and computer program product for selecting multiple items using multi-touch
US9268483B2 (en) * 2008-05-16 2016-02-23 Microsoft Technology Licensing, Llc Multi-touch input platform
US8584048B2 (en) * 2008-05-29 2013-11-12 Telcordia Technologies, Inc. Method and system for multi-touch-based browsing of media summarizations on a handheld device
US20090309847A1 (en) 2008-06-12 2009-12-17 You I Labs, Inc. Apparatus and method for providing multi-touch interface capability
US7864037B2 (en) 2008-06-16 2011-01-04 International Business Machines Corporation Pattern-driven communication architecture
US20090322699A1 (en) 2008-06-25 2009-12-31 Sony Ericsson Mobile Communications Ab Multiple input detection for resistive touch panel
US8754855B2 (en) * 2008-06-27 2014-06-17 Microsoft Corporation Virtual touchpad
US20090322700A1 (en) 2008-06-30 2009-12-31 Tyco Electronics Corporation Method and apparatus for detecting two simultaneous touches and gestures on a resistive touchscreen
JP2010015238A (ja) 2008-07-01 2010-01-21 Sony Corp 情報処理装置、及び補助情報の表示方法
US8154428B2 (en) * 2008-07-15 2012-04-10 International Business Machines Corporation Gesture recognition control of electronic devices using a multi-touch device
US8237807B2 (en) 2008-07-24 2012-08-07 Apple Inc. Image capturing device with touch screen for adjusting camera settings
US8390577B2 (en) * 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
KR101482120B1 (ko) 2008-08-01 2015-01-21 엘지전자 주식회사 스케줄 관리가 가능한 휴대 단말기 및 그 제어방법
CN101339453B (zh) 2008-08-15 2012-05-23 广东威创视讯科技股份有限公司 基于交互式输入设备的模拟鼠标输入方法
US8135171B2 (en) 2008-08-19 2012-03-13 Au Optronics Corp. Multipoint tracking method and related device
CN101661361A (zh) 2008-08-27 2010-03-03 比亚迪股份有限公司 多点触摸检测系统
US8279241B2 (en) 2008-09-09 2012-10-02 Microsoft Corporation Zooming graphical user interface
US20100088628A1 (en) 2008-10-07 2010-04-08 Sony Ericsson Mobile Communications Ab Live preview of open windows
US20100107116A1 (en) 2008-10-27 2010-04-29 Nokia Corporation Input on touch user interfaces
JP4853507B2 (ja) 2008-10-30 2012-01-11 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US8732576B2 (en) 2008-12-04 2014-05-20 Nvidia Corporation Operating system providing multi-touch support for applications in a mobile device
TW201023018A (en) 2008-12-12 2010-06-16 Asustek Comp Inc Touch panel with multi-touch function and multi-touch detecting method thereof
CN102246126B (zh) 2008-12-15 2015-11-25 惠普开发有限公司 基于手势的编辑模式
US8217909B2 (en) * 2008-12-19 2012-07-10 Cypress Semiconductor Corporation Multi-finger sub-gesture reporting for a user interface device
US8869070B2 (en) 2008-12-30 2014-10-21 T-Mobile Usa, Inc. Handwriting manipulation for conducting a search over multiple databases
KR101521932B1 (ko) 2009-01-19 2015-05-20 엘지전자 주식회사 단말기 및 그 제어 방법
US8319736B2 (en) 2009-01-19 2012-11-27 Microsoft Corporation Touch sensitive computing device and method
US8704767B2 (en) 2009-01-29 2014-04-22 Microsoft Corporation Environmental gesture recognition
JP5009422B2 (ja) 2009-02-10 2012-08-22 シャープ株式会社 認証装置、認証方法及びそれをコンピュータに実行させるためのプログラム
US20100235745A1 (en) 2009-03-10 2010-09-16 Sony Corporation Accessibility system for consumer devices
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
KR101510484B1 (ko) 2009-03-31 2015-04-08 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US20100281435A1 (en) * 2009-04-30 2010-11-04 At&T Intellectual Property I, L.P. System and method for multimodal interaction using robust gesture processing
US8427440B2 (en) * 2009-05-05 2013-04-23 Microsoft Corporation Contact grouping and gesture recognition for surface computing
US8375295B2 (en) 2009-05-21 2013-02-12 Sony Computer Entertainment Inc. Customization of GUI layout based on history of use
US8681106B2 (en) 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
DE102009024656A1 (de) 2009-06-12 2011-03-24 Volkswagen Ag Verfahren zum Steuern einer grafischen Benutzerschnittstelle und Bedienvorrichtung für eine grafische Benutzerschnittstelle
US20110069021A1 (en) 2009-06-12 2011-03-24 Hill Jared C Reducing false touchpad data by ignoring input when area gesture does not behave as predicted
KR101608532B1 (ko) 2009-08-11 2016-04-01 엘지전자 주식회사 이동 통신 단말기에서의 데이터 표시방법 및 이를 적용한 이동 통신 단말기
US8310459B2 (en) 2009-09-23 2012-11-13 Nokia Corporation Touch detection
US9223590B2 (en) 2010-01-06 2015-12-29 Apple Inc. System and method for issuing commands to applications based on contextual information
TWI400638B (zh) 2009-10-20 2013-07-01 Acer Inc 觸控顯示裝置、觸控顯示系統及其調整觸控區域之方法
KR20110047349A (ko) 2009-10-30 2011-05-09 주식회사 팬택 휴대용 단말기에서 터치와 가압을 이용하는 사용자 인터페이스 장치 및 방법
US8957918B2 (en) * 2009-11-03 2015-02-17 Qualcomm Incorporated Methods for implementing multi-touch gestures on a single-touch touch surface
KR101639383B1 (ko) * 2009-11-12 2016-07-22 삼성전자주식회사 근접 터치 동작 감지 장치 및 방법
US8390600B2 (en) 2009-11-13 2013-03-05 Microsoft Corporation Interactive display system with contact geometry interface
US8436821B1 (en) * 2009-11-20 2013-05-07 Adobe Systems Incorporated System and method for developing and classifying touch gestures
US20100085323A1 (en) 2009-12-04 2010-04-08 Adam Bogue Segmenting a Multi-Touch Input Region by User
US8432368B2 (en) * 2010-01-06 2013-04-30 Qualcomm Incorporated User interface methods and systems for providing force-sensitive input
US8140570B2 (en) 2010-03-11 2012-03-20 Apple Inc. Automatic discovery of metadata
US8296332B2 (en) 2010-04-01 2012-10-23 Apple Inc. Visual manipulation of database schema
KR20110110940A (ko) 2010-04-02 2011-10-10 삼성전자주식회사 휴대용 단말기의 터치 입력 장치 및 방법
US20110252357A1 (en) 2010-04-07 2011-10-13 Imran Chaudhri Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US9146751B2 (en) 2010-04-07 2015-09-29 Apple Inc. Device, method, and graphical user interface for navigation of multiple applications
US8131898B2 (en) 2010-05-27 2012-03-06 Adobe Systems Incorporated Event handling in an integrated execution environment
US20130120280A1 (en) * 2010-05-28 2013-05-16 Tim Kukulski System and Method for Evaluating Interoperability of Gesture Recognizers
US8669946B2 (en) 2010-05-28 2014-03-11 Blackberry Limited Electronic device including touch-sensitive display and method of controlling same
EP2390766B1 (en) 2010-05-28 2013-09-25 BlackBerry Limited Electronic device including touch-sensitive display and method of controlling same
CN102262890A (zh) 2010-05-31 2011-11-30 鸿富锦精密工业(深圳)有限公司 电子装置及其标记方法
CN101853105A (zh) 2010-06-02 2010-10-06 友达光电股份有限公司 一种具有触控屏幕的计算机及其操作方法
US8749499B2 (en) * 2010-06-08 2014-06-10 Sap Ag Touch screen for bridging multi and/or single touch points to applications
US8836643B2 (en) * 2010-06-10 2014-09-16 Qualcomm Incorporated Auto-morphing adaptive user interface device and methods
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
JP5663980B2 (ja) 2010-06-29 2015-02-04 ブラザー工業株式会社 画像処理装置
TWI407346B (zh) 2010-07-30 2013-09-01 Ind Tech Res Inst 觸控輸入裝置之軌跡補償方法與系統,及其電腦程式產品
KR20120024247A (ko) 2010-09-06 2012-03-14 삼성전자주식회사 사용자의 제스처를 인식하여 이동 장치를 동작하는 방법 및 그 이동 장치
US20120092286A1 (en) * 2010-10-19 2012-04-19 Microsoft Corporation Synthetic Gesture Trace Generator
US20120133579A1 (en) 2010-11-30 2012-05-31 Microsoft Corporation Gesture recognition management
CN106095418B (zh) 2010-12-20 2019-09-13 苹果公司 事件识别
US8438473B2 (en) * 2011-01-05 2013-05-07 Research In Motion Limited Handling of touch events in a browser environment
US20120242584A1 (en) * 2011-03-22 2012-09-27 Nokia Corporation Method and apparatus for providing sight independent activity reports responsive to a touch gesture
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
AU2011202182B1 (en) 2011-05-11 2011-10-13 Frequency Ip Holdings, Llc Creation and presentation of selective digital content feeds
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
TWI467463B (zh) * 2011-05-27 2015-01-01 Asustek Comp Inc 具觸控式螢幕的電腦系統及其手勢的處理方法
US9389679B2 (en) * 2011-11-30 2016-07-12 Microsoft Technology Licensing, Llc Application programming interface for a multi-pointer indirect touch input device
US9071970B2 (en) 2011-12-05 2015-06-30 Sony Corporation Terminal device
US10983625B2 (en) * 2011-12-22 2021-04-20 Adobe Inc. Systems and methods for measurement of unsupported user interface actions
US8411060B1 (en) 2012-01-13 2013-04-02 Google Inc. Swipe gesture classification
US9046958B2 (en) 2012-03-15 2015-06-02 Nokia Technologies Oy Method, apparatus and computer program product for user input interpretation and input error mitigation
US9626100B2 (en) 2013-04-15 2017-04-18 Microsoft Technology Licensing, Llc Dynamic management of edge inputs by users on a touch device
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US20160077597A1 (en) * 2013-06-18 2016-03-17 Panasonic Intellectual Property Corporation Of America Input device and method for inputting operational request
US9430142B2 (en) * 2014-07-17 2016-08-30 Facebook, Inc. Touch-based gesture recognition and application navigation
US9886190B2 (en) * 2014-09-26 2018-02-06 The Florida International University Board Of Trustees Gesture discernment and processing system
KR102374160B1 (ko) * 2014-11-14 2022-03-14 삼성디스플레이 주식회사 스케일링을 사용하여 디스플레이 지연을 감소시키는 방법 및 장치
US9952676B2 (en) * 2015-06-25 2018-04-24 Intel Corporation Wearable device with gesture recognition mechanism
US11029836B2 (en) * 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
US11755146B2 (en) * 2021-06-03 2023-09-12 Apple Inc. Devices and methods for processing touch inputs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111189A1 (en) * 2008-03-04 2009-09-11 Apple Inc. Touch event model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KENNYTM: "UIGestureRecognizer", 《HTTP://IPHONEDEVWIKI.NET/INDEX.PHP?TITLE=UIGESTURERECOGNIZER&OLDID=319》, 31 October 2009 (2009-10-31) *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097650A1 (zh) * 2011-12-28 2013-07-04 华为终端有限公司 一种应用程序启动方法、系统及终端设备
CN103529976A (zh) * 2012-07-02 2014-01-22 英特尔公司 手势识别系统中的干扰消除
CN103731578B (zh) * 2012-10-10 2017-01-04 柯尼卡美能达株式会社 图像处理装置以及操作事件判别方法
CN103731578A (zh) * 2012-10-10 2014-04-16 柯尼卡美能达株式会社 图像处理装置以及操作事件判别方法
US10275035B2 (en) 2013-03-25 2019-04-30 Konica Minolta, Inc. Device and method for determining gesture, and computer-readable storage medium for computer program
CN104076974B (zh) * 2013-03-25 2017-12-05 柯尼卡美能达株式会社 手势判别装置、手势判别方法
CN104076974A (zh) * 2013-03-25 2014-10-01 柯尼卡美能达株式会社 手势判别装置、手势判别方法、以及计算机程序
CN110362414A (zh) * 2013-06-09 2019-10-22 苹果公司 代理手势识别器
CN110362414B (zh) * 2013-06-09 2024-02-20 苹果公司 代理手势识别器
CN107077272A (zh) * 2014-10-22 2017-08-18 微软技术许可有限责任公司 响应于用户动作而确定启用直接操纵的命中测试
CN107077272B (zh) * 2014-10-22 2020-12-01 微软技术许可有限责任公司 响应于用户动作而确定启用直接操纵的命中测试
CN108379843A (zh) * 2018-03-16 2018-08-10 网易(杭州)网络有限公司 虚拟对象控制方法与装置
CN112181265A (zh) * 2019-07-04 2021-01-05 北京小米移动软件有限公司 一种触控信号处理方法、装置及介质
CN112181265B (zh) * 2019-07-04 2022-04-15 北京小米移动软件有限公司 一种触控信号处理方法、装置及介质
US11513679B2 (en) 2019-07-04 2022-11-29 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus for processing touch signal, and medium
CN110490062A (zh) * 2019-07-11 2019-11-22 武汉科技大学 一种基于多视图的双手手势识别方法

Also Published As

Publication number Publication date
AU2014213525B2 (en) 2016-04-28
JP2016177828A (ja) 2016-10-06
KR101519194B1 (ko) 2015-05-11
AU2011209720A1 (en) 2012-08-23
KR20160095189A (ko) 2016-08-10
US10732997B2 (en) 2020-08-04
JP2013518349A (ja) 2013-05-20
CN103558984B (zh) 2017-12-05
EP2354930A1 (en) 2011-08-10
EP3660670A1 (en) 2020-06-03
JP5938429B2 (ja) 2016-06-22
CN103558984A (zh) 2014-02-05
AU2016204905A1 (en) 2016-08-04
KR20140134719A (ko) 2014-11-24
CN102135858B (zh) 2014-06-11
EP2354930B1 (en) 2020-08-26
AU2011209720B2 (en) 2014-05-15
CN103955341B (zh) 2018-10-30
KR20120123476A (ko) 2012-11-08
CN103558983A (zh) 2014-02-05
US9684521B2 (en) 2017-06-20
AU2016204905B2 (en) 2018-07-05
EP3660670B1 (en) 2023-07-05
US20200387389A1 (en) 2020-12-10
JP6201003B2 (ja) 2017-09-20
US20170286131A1 (en) 2017-10-05
CN103558983B (zh) 2016-08-31
CN103955341A (zh) 2014-07-30
KR101645839B1 (ko) 2016-08-04
KR101695606B1 (ko) 2017-01-11
WO2011094267A1 (en) 2011-08-04
AU2014213525A1 (en) 2014-09-04
JP2014139816A (ja) 2014-07-31
US20110181526A1 (en) 2011-07-28
JP5497920B2 (ja) 2014-05-21

Similar Documents

Publication Publication Date Title
CN102135858B (zh) 具有用于控制和修改手势识别的代表的手势识别器
CN102422264B (zh) 事件识别
CN105339900B (zh) 代理手势识别器
CN203287883U (zh) 电子设备及其信息处理装置
KR101523866B1 (ko) 이벤트 인식

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant